AllDSH
中文

EasyEDA Agent

zhoushoujianwork · zhoushoujianwork/easyeda-agent

Hands for your AI harness on EasyEDA Pro — typed schematic/PCB actions via Go CLI, Agent Skill, and stdio MCP, with a circuit-block library.

EasyEDA Agent is a DSH plugin by zhoushoujianwork. Hands for your AI harness on EasyEDA Pro — typed schematic/PCB actions via Go CLI, Agent Skill, and stdio MCP, with a circuit-block library. It is filed under Integrations & Connections and Tools & Capabilities. Verification level L2 (Structured), an automated security scan has not run yet, and it declares no specific compatibility target; the listing was last checked on 2026-09-18 and is published under the MIT licence. Install it with dsh plugin --profile web add github:zhoushoujianwork/easyeda-agent

Listing checked by Chiyu , data updated · How to cite

L2active
EasyEDA Agent verification panel: level L2 of 5 (Structured) — Manifest valid, key fields complete. Security scan: unverified — no scan has run. Compatibility target: DeepSeek Harness not declared. Licence: MIT. GitHub stars: 465. Listing last checked 2026-09-18.
Verification panel for EasyEDA Agent. The listing holds level L2 of 5 — Structured: Manifest valid, key fields complete. Security scan: unverified — no scan has run. Compatibility target: DeepSeek Harness not declared. Licence: MIT. Listing last checked 2026-09-18. How verification works

Install command

dsh plugin --profile web add github:zhoushoujianwork/easyeda-agent

Requires a running harness: start it withnpx @deepseek-ai/dsh webthen run the command above.New to this? See the installation guide.

What it does

easyeda-agent turns EasyEDA Pro (嘉立创EDA专业版) into something an AI agent can actually drive. Instead of handing the model raw JavaScript against the official eda.* extension API, it exposes a typed action catalog — place parts, wire nets, compose sheets, auto-place and route PCBs, run DRC, export BOM and fabrication files — and keeps every step observable, validated, and audited.

This is a multi-form product. The DSH bundle you install with dsh plugin add is only the thin harness-facing half. The load-bearing parts are outside it: a Go CLI/daemon, an EasyEDA connector .eext, the agent Skill, and a stdio MCP adapter. Understanding that split is the point of this listing.

Architecture: four cooperating pieces

Skill / MCP / human
        │
        ▼
  easyeda CLI  ──typed action──►  Go daemon (127.0.0.1:60832)
                                      │ WebSocket
                                      ▼
                            EasyEDA connector (.eext, inside editor)
                                      │ official eda.* API
                                      ▼
                                 EasyEDA Pro canvas
  • Go CLI/daemon (easyeda) owns protocol, session state, artifacts, audit logs, and validation. The daemon binds a single fixed port 60832 (no spill-over; a stale easyeda daemon is taken over automatically). Window-scoped actions return NO_CONNECTOR until an editor is connected.
  • Connector .eext runs inside EasyEDA and is deliberately thin: it handshakes, reconnects, and dispatches typed actions to the official eda.* API. Marketplace display name is now “EDA Agent Connector”; the package id and uuid are unchanged. debug.exec_js remains as a temporary escape hatch inside a task scope — and is intentionally not exposed through MCP.
  • Skill (skills/easyeda-agent) describes expert workflow and guardrails: inspect-before-mutate, connectivity JSON as source of truth, four-stage gates, version-lock discipline.
  • stdio MCP (mcp/src/server.mjs) wraps the same CLI/daemon path as 11 tools — easyeda_health, easyeda_actions, easyeda_blocks, easyeda_workflow, plus one tool per safe domain (schematic, pcb, board, document, artifact, project, system). It does not bypass typed actions, audit, or workflow gates. At process start it runs easyeda actions to load the catalog and exits if the CLI is missing.

Circuit-block library (flagship)

Community-built peripheral subcircuits — CH340 USB-serial, ESP32 auto-download, button de-bounce, USB-hub, buck converters — distilled into validated, reusable blocks. You copy the topology and rebind only the boundary nets; pins are referenced by functional name so there is no renumbering. Blocks are credited to their authors and only enter after place → wire → check → DRC=0. The library is embedded in the CLI: easyeda blocks ls/show/search works offline, without a daemon or editor.

What the DSH bundle actually installs

Root package.json is named easyeda-agent-dsh (private: true, version 1.5.0) and declares only "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }. That patch contributes exactly two rows:

  • easyeda-mcp — an in-box @deepseek-ai/dsh-mcp-client instance pointed at the package-local mcp/src/server.mjs over stdio. EASYEDA_BIN defaults to easyeda on PATH and can be overridden. Both dsh-mcp-client and dsh-skill-filesystem resolve through DSH’s fallback links; you do not pnpm add them (an outdated registry install would shadow the in-box copy).
  • easyeda-skill-fs — an isolated dsh-skill-filesystem instance (providerName: easyeda, includeDefaultRoots: false) that scans only skills/easyeda-agent inside the package and registers it into the global skill layer.

So the bundle does not install the Go binary, the daemon, or the EasyEDA connector. Installing it into dsh gives you MCP tools that shell out to easyeda, plus the Skill. Without the CLI (and, for live editor work, the daemon + connector + EasyEDA Pro with “Allow external interaction”), the MCP process fails at startup when it cannot load the action catalog.

.npmignore keeps only package.json, cordis.patch.yml, mcp/, skills/, and README/LICENSE files in the GitHub-install tarball — Go sources, examples, and training data are stripped. There are no lifecycle scripts (preinstall/install/postinstall/prepare) and no root dependencies.

Requirements

  • Separate full install of the product. Documented first-time path is the one-line installer for CLI + Skill, then a version-locked connector .eext from the GitHub Release (or the 立创 marketplace, which can lag), then enable 允许外部交互 in EasyEDA Pro settings, then easyeda daemon start.
  • Three-part version lock. CLI, Skill, and connector must share a release line; easyeda daemon health reports connectorVersionOk: false when the connector lags. The Skill enforces a session gate (easyeda update --check --exit-code) before any EDA work.
  • Node >=20.17.0 (root and MCP engines). The MCP adapter also needs @modelcontextprotocol/sdk (1.30.0 in mcp/package.json); the DSH verified install path resolves it from the harness environment — for standalone Codex registration the README runs npm --prefix mcp ci --ignore-scripts.
  • No dshTarget. Nothing in package.json, the bundle patch, or the DSH integration doc names a supported DSH version, so this listing is L2 and carries no dshTarget.
  • Not on npm. Both easyeda-agent-dsh and easyeda-agent return 404 on the registry; install is github: only (optionally #<tag> for a release pin).

What leaves the machine

  • Runtime automation is local. Typed actions travel over a local WebSocket to 127.0.0.1:60832; the connector then calls the official eda.* API inside the editor. No remote control plane is documented for the action path.
  • Network is used for acquisition and a few side channels. The installer curls GitHub Releases (and api.github.com once to resolve latest, 60 req/h anonymous — pin EASYEDA_VERSION or set GITHUB_TOKEN past the cap). The Skill states that online library lookup and updates need network access; BOM enrichment reaches LCSC for C-numbers. Python 3 is used by bundled helper scripts.
  • No telemetry field is declared in the DSH bundle. What a local agent session may do beyond easyeda calls is the harness permission model, not this plugin’s claim.

Known limits

  • Platform walls are real and documented. No maze-tier autorouter (short heuristic routing only; full routing is external Freerouting via DSN round-trip); no interactive push-shove / live length-tuning UX (no eda.* API); controlled-impedance Z0 is walled because stackup Er / dielectric height are not readable; no programmatic undo (rollback is checkpoint + inverse ops); incremental import_changes is a no-op for API-added parts.
  • sch compose is not a circuit synthesizer. It arranges already-designed Lib geometry in Z-order on one sheet; it does not infer arbitrary peripheral circuits or paginate for you.
  • The 1.5 validation did not re-run the full four-layer ESP32 field acceptance. Offline tests and partial schematic checks are not the same as a board-level pass; one EasyEDA 3.2.186 session saw schematic graph-export return empty files with root cause unresolved.
  • License is MIT with an Apache-2.0 carve-out. GitHub’s API reports NOASSERTION because LICENSE is MIT plus a third-party section: the four files under extension/src/beautify/ are ported from Easy_EDA_PCB_Beautify and remain Apache-2.0, with attribution and modification list in NOTICE. package.json says MIT. The two licenses are compatible; redistributing the connector bundle must carry the NOTICE and Apache-2.0 copy.
  • security: unverified — no sandbox review of this package for the listing. Stars are not maintenance: 445 stars, 60 forks, last push 2026-09-12, pre-native-Cordis-plugin roadmap still open.

When to use it — and when not to

Use it if you design boards in EasyEDA Pro and want an agent that works from connectivity data and typed actions rather than screenshot guessing and raw JS. The circuit-block library is the sharpest daily win: proven peripherals get copied and rebound instead of re-drawn. The DSH bundle is the right entry once CLI + connector are already installed — it only wires the skill and MCP surfaces into the harness.

Do not install the DSH bundle expecting a self-contained plugin. Without the Go CLI, daemon, connector, and a live EasyEDA Pro window (for editor actions), the MCP tools have nothing to talk to. Do not expect maze-tier routing, interactive push-shove, or controlled-impedance computation from the daemon; those are platform walls, not configuration toggles. And if your threat model forbids local editor automation or GitHub-installed binaries, this stack is the wrong shape regardless of the harness wrapper.

FAQ

Does the DSH plugin install the full easyeda-agent system?

No. The bundle installs two DSH rows — an MCP client pointing at the packaged stdio server and an isolated skill-filesystem for skills/easyeda-agent. The Go CLI/daemon, the EasyEDA connector .eext, and EasyEDA Pro itself are separate, version-locked installs. Without them the MCP process exits at startup when it cannot run easyeda actions.

Why does GitHub report license NOASSERTION?

Because the repository is MIT as a whole with an explicit Apache-2.0 exception for the four files under extension/src/beautify/ (ported from Easy_EDA_PCB_Beautify). package.json declares MIT; LICENSE and NOTICE spell out the carve-out. Read those files if redistribution terms matter to you.

Is the circuit-block library usable without the editor?

Yes. easyeda blocks ls/show/search runs offline against the embedded library — no daemon, no EasyEDA window. Copying a block into a live schematic still needs the full stack.

What DSH version does this target?

None is declared. docs/dsh-integration.md describes verified bundle installs (skill + 11 MCP tools visible to the model) but names no harness version, so there is no dshTarget and verification is L2.

Does anything leave the machine during a normal edit?

The action path is local: CLI → daemon on 127.0.0.1:60832 → connector → official eda.*. Network appears for install/upgrade (GitHub Releases), online parts/library lookup, and LCSC BOM enrichment. The Skill documents those network needs; no telemetry field appears on the DSH bundle.

Can I pin the install to a release tag?

Yes. The documented form is dsh plugin --profile web add "github:zhoushoujianwork/easyeda-agent#<tag>". Keep CLI, Skill, and connector on the same release line; upgrading only the DSH bundle leaves the connector stale until you re-import the matching .eext and restart EasyEDA.

Sources & references

The technical claims on this page rest on the primary documents below. Each link is followed so it can be checked directly.

  1. [1]zhoushoujianwork/easyeda-agent — GitHubThe plugin’s own repository and README — the primary document every claim in this listing is checked against.
  2. [2]deepseek-ai/deepseek-harness — GitHubUpstream repository for DeepSeek Harness, the Cordis runtime and the plugin loading model.
  3. [3]@deepseek-ai/dsh on npm — npmPublished harness package, including the release tags our dshTarget field tracks.
  4. [4]dsh-plugin GitHub topic — GitHubThe discovery mechanism used to find plugins listed in this directory.

All links last verified 2026-09-11

Questions about this listing

Is EasyEDA Agent safe to install?
EasyEDA Agent holds verification level L2 of 5 — Manifest valid, key fields complete — and its security status is unverified — no scan has run. A verification level records how far the install path was exercised; it is not a safety guarantee. Safety depends on what the plugin can actually reach, so read its source and install script and check its file, shell, network and credential access before you run it.
Which DeepSeek Harness version does EasyEDA Agent target?
EasyEDA Agent declares no dshTarget, so no specific DeepSeek Harness release has been committed to. The field is optional, and its absence means this listing makes no claim about working on a particular release — test it in an isolated profile first.
How do I install EasyEDA Agent?
Start the harness with npx @deepseek-ai/dsh web, then copy the install command shown at the top of this page. That command is generated from the package name the repository publishes — or from an install spec the listing declares — so it cannot drift from what the repository actually ships. This listing was last checked on 2026-09-18.
Does the DSH plugin install the full easyeda-agent system?
No. The bundle installs two DSH rows — an MCP client pointing at the packaged stdio server and an isolated skill-filesystem for skills/easyeda-agent. The Go CLI/daemon, the EasyEDA connector .eext, and EasyEDA Pro itself are separate, version-locked installs. Without them the MCP process exits at startup when it cannot run easyeda actions.
Why does GitHub report license NOASSERTION?
Because the repository is MIT as a whole with an explicit Apache-2.0 exception for the four files under extension/src/beautify/ (ported from Easy_EDA_PCB_Beautify). package.json declares MIT; LICENSE and NOTICE spell out the carve-out. Read those files if redistribution terms matter to you.
Is the circuit-block library usable without the editor?
Yes. easyeda blocks ls/show/search runs offline against the embedded library — no daemon, no EasyEDA window. Copying a block into a live schematic still needs the full stack.
What DSH version does this target?
None is declared. docs/dsh-integration.md describes verified bundle installs (skill + 11 MCP tools visible to the model) but names no harness version, so there is no dshTarget and verification is L2.
Does anything leave the machine during a normal edit?
The action path is local: CLI → daemon on 127.0.0.1:60832 → connector → official eda.*. Network appears for install/upgrade (GitHub Releases), online parts/library lookup, and LCSC BOM enrichment. The Skill documents those network needs; no telemetry field appears on the DSH bundle.
Can I pin the install to a release tag?
Yes. The documented form is dsh plugin --profile web add "github:zhoushoujianwork/easyeda-agent#<tag>". Keep CLI, Skill, and connector on the same release line; upgrading only the DSH bundle leaves the connector stale until you re-import the matching .eext and restart EasyEDA.

Similar DSH plugins

Browse all

GenUI

omdsh-dev

Editor's pick

The model writes a dsh-ui fence and real UI components render inline in the reply, with an action loop back to the model.

L3
463 TypeScript

dsh-image-gen

shanliuling

An image studio for DSH: chat generate and edit, a tldraw canvas, batch Studio, multi-model compare, a 500+ prompt library, a gallery and local ComfyUI — BYOK or subscription login.

L2
437 TypeScript

treg

superdesigndev

A credential-injecting proxy and shared tool registry: one token reaches 3,000+ catalogued endpoints, and keys stay on the server.

L2
1.6k Python

API Relay Audit

toby-bridges

A DSH plugin that runs a local 14-step audit against an AI API relay, reusing the current provider's endpoint and credential.

L3
838 Python

A Chrome/Firefox sidebar extension that gives DSH a text-only channel into your own browser tabs — no vision model required.

L3
684 TypeScript

AnySearch for DSH

anysearch-team

Routes DSH's built-in web_search and web_fetch to the commercial AnySearch API, plus three vertical, batch and discovery tools.

L2
419 TypeScript
ESC

Type to search the index. Built at deploy time by Pagefind.