[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93087":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":8,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":8,"pushedAt":8,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":15,"starSnapshotCount":15,"syncStatus":14,"lastSyncTime":25,"discoverSource":26},93087,"easyeda-agent","zhoushoujianwork\u002Feasyeda-agent","zhoushoujianwork",null,"","Go",53,8,52,2,0,1,36.96,false,"main",true,[],"2026-07-22 04:02:08","\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Feasyeda-agent-logo.png\" width=\"96\" alt=\"easyeda-agent logo\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">easyeda-agent\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  面向 EasyEDA(嘉立创EDA专业版)的 AI 原生自动化层\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fzhoushoujianwork\u002Feasyeda-agent\">\u003Cb>GitHub\u003C\u002Fb>\u003C\u002Fa> ·\n  \u003Ca href=\"https:\u002F\u002Fjlc-ext.com\u002Fitem\u002Fzhoushoujian\u002Feasyeda-agent-connector\">\u003Cb>立创插件市场\u003C\u002Fb>\u003C\u002Fa> ·\n  \u003Ca href=\"README.en.md\">English\u003C\u002Fa>\n\u003C\u002Fp>\n\n![easyeda-agent workflow](docs\u002Fassets\u002Feasyeda-agent-workflow.svg)\n\n`easyeda-agent` 把官方 EasyEDA 扩展 API 变成一套**有类型、可观测、Skill 友好**的系统。EasyEDA 插件保持极薄——它连到本地 agent、只执行被批准的动作;Go CLI\u002Fdaemon 掌管协议、状态、产物、校验和面向用户的工作流。\n\n## 为什么做这个\n\n上游 `run-api-gateway` 证明了关键入口:代码能跑在 EasyEDA 内、访问官方 `eda` 对象。但它把「裸 JavaScript 执行」当作主工作流——强大,但对 AI agent 太脆弱。\n\n本项目的连接器是真实可用的:端口扫描 `49620-49629`、校验握手、**自愈重连**、把一套**有类型的动作目录**分发到官方 `eda.*` API。裸 JS 仅作为需二次确认的 `debug.exec_js` 逃生口保留。\n\n- **Skill** 描述专家工作流和护栏;\n- **Go CLI\u002Fdaemon** 暴露稳定的 typed actions;\n- **EasyEDA 连接器插件** 只做到官方 `eda.*` 的桥接;\n- 产物、截图、DRC 结果、审计日志都是一等输出。\n\n## 工作原理\n\n- Skill 或人跑一条 `easyeda` 命令;\n- Go CLI 校验输入、把 typed action 提交给本地 daemon;\n- daemon 跟踪已连接的 EasyEDA 窗口、经 WebSocket 路由每个动作、记录审计日志\u002F产物\u002F校验结果;\n- 连接器扩展跑在 EasyEDA 内、调用官方 `eda.*` API;\n- 结构化结果回流到 CLI 和 Skill,下一步基于**真实编辑器状态**来规划。\n\n动作目录已覆盖原理图、PCB、文档导航、板级绑定、产物导出、诊断。完整清单与路线图见 [docs\u002FFEATURES.md](docs\u002FFEATURES.md)。\n\n## 站在巨人的肩膀上\n\n我们不重造轮子,而是把**成熟的一层层能力叠起来**,让 AI agent 直接可用:\n\n- **官方 `eda.*` API** —— 嘉立创 EDA 专业版自己暴露的 86 个命名空间,是真正的能力底座;\n- **上游 `run-api-gateway`** —— 证明了「代码能跑在 EasyEDA 内、访问 `eda` 对象」这条关键入口;\n- **成熟的 AI Agent Skill 范式** —— 用 Skill 描述专家工作流 + 护栏,用 typed action 让每一步**可观测、可验收、可回放**,而不是把「裸 JS 执行」丢给模型硬扛。\n\n在这三层之上,easyeda-agent 补齐了工程化的中间层:自愈连接器、有类型的动作目录、真实 bbox 校验、门控设计流程,以及下面这个**核心特色**——电路块库。\n\n## 核心能力 & 特色\n\n**能力总览**(完整清单见 [docs\u002FFEATURES.md](docs\u002FFEATURES.md)):\n\n| 能力域 | 做什么 |\n|---|---|\n| **电路块库(旗舰特色)** | 社区共建、署名可追的**成熟外设电路库**:CH340 USB 串口、ESP32 自动下载、按键去抖、USB-HUB、降压…**照抄拓扑、只重绑引脚网络**即可复用 |\n| 原理图 | 库优先放件(真实 LCSC\u002FJLC 器件)、编组、布线、netflag\u002Fnetport、`sch check`\u002F`layout-lint` 真实 bbox 校验 |\n| PCB | 自动布局、板框、禁布区、规则感知短线布线、4 层电源平面、铺铜、丝印避让、DRC\u002F`pcb check` |\n| 设计流程 | 从**客户口吻需求**到成品的门控主脊(S0–S6 + P0–P10),里程碑确认,存盘检查点 |\n| 产物 | BOM(补 LCSC C 号)、网表、导出、原生截图、审计日志、录制→回放 |\n\n### 特色:电路块库(一次贡献,永久收益)\n\n**固定模块的外设电路可以直接照抄。** ESP32 自动下载电路、CH340 USB 烧录、按键去抖、\nUSB-HUB…这些电路的**内部拓扑是死的**,每次重画等于重趟坑。电路块库把它们\n沉淀成**验证过的、可复用的电路块**——你只需重绑对外的几根线(ports)到主控网络,\n引脚用**功能名**引用所以**零改号**,器件直接指回标准器件库(BOM 就绪)。\n\n- **社区共建 + 署名可追**:每个块带 `author`\u002F`contributors`,**一次学习贡献、永久收益**;\n- **验证门禁**:块必须跑过 `place → wire → check → DRC=0` 才入库,不是「看着对」的散文堆;\n- **三维知识**:器件(可替换选择)+ 原理图链接注意 + PCB 布局电气特性,一块讲全;\n- **AI 直接消费**:agent 放外设前先查块库,命中即抄,省掉一整个模块的选型与接线。\n\n> 库目录 [`references\u002Fblocks\u002F`](skills\u002Feasyeda-agent\u002Freferences\u002Fblocks)(一块一文件) ·\n> 浏览 `blocks.py ls\u002Fshow` · 贡献指南\n> [`standard-blocks-contributing.md`](skills\u002Feasyeda-agent\u002Freferences\u002Fstandard-blocks-contributing.md)\n\n## 安装\n\n> **完整上手 & 使用注意事项见 [快速开始 →](docs\u002Fquick-start.md)** —— 四件套\n> (CLI \u002F 连接器 `.eext` \u002F Skill \u002F EasyEDA)的安装、版本对齐、启动 daemon、升级纪律\n> 与常见卡点速查,一页讲清。下面是精简版。\n\neasyeda-agent 是一套**四件套**,四者需**同版本、同时在位**:CLI\u002Fdaemon、连接器\n`.eext` 插件、`easyeda-agent` Skill、开启「允许外部交互」的 EasyEDA Pro。**升级时\n三方(CLI + 连接器 + Skill)要一起升到同一版本**,否则 `easyeda daemon health` 会把\n落后的连接器标成 stale。\n\n先装 `easyeda` CLI\u002Fdaemon,再装 EasyEDA 连接器 —— 两条通道任选:安装器会打印**与 CLI 严格同版**的 GitHub Release `.eext` 下载地址(导入即用),或从[**立创官方插件市场**](https:\u002F\u002Fjlc-ext.com\u002Fitem\u002Fzhoushoujian\u002Feasyeda-agent-connector)一键安装(平台可原地自动更新,但市场版本可能滞后 CLI,严格四件套同版时以 Release `.eext` 为准):\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fzhoushoujianwork\u002Feasyeda-agent\u002Fmain\u002Finstall.sh | sh\n```\n\n一键脚本会：安装\u002F更新 `easyeda` CLI\u002Fdaemon;自动检测已安装的客户端并把 `easyeda-agent` skill 安装\u002F更新到对应目录 —— Codex(`~\u002F.codex\u002Fskills\u002Feasyeda-agent`)、Claude Code(`~\u002F.claude\u002Fskills\u002Feasyeda-agent`);打印连接器 `.eext` 导入地址。可用环境变量控制 skill 安装:\n\n```bash\nEASYEDA_INSTALL_SKILLS=codex,claude curl -fsSL ...\u002Finstall.sh | sh  # 指定目标\nEASYEDA_INSTALL_SKILLS=none          curl -fsSL ...\u002Finstall.sh | sh  # 跳过 skill\nEASYEDA_SKILL_PRESERVE=1             curl -fsSL ...\u002Finstall.sh | sh  # 保留本地改动\n```\n\nSkill slug 为 `easyeda-agent`(后缀有意为之,区分于官方 EasyEDA 工具)。只从 registry 装 skill:\n\n```bash\n# ClawHub(make release 时自动同步发布,版本与 repo 对齐)\nclawhub install easyeda-agent\n```\n\n> 国内用户注意:skillhub.cn 目前是纯网页社区,未实现 CLI 安装接口\n> (`\u002Fapi\u002Fcli\u002Fv1` 返回的是网页而非 API),`skillhub install --registry\n> https:\u002F\u002Fskillhub.cn` 无法工作。请改用上面的一键脚本,或从 GitHub Release\n> 下载 `skills.tar.gz` 解压到 `~\u002F.claude\u002Fskills\u002F` 或 `~\u002F.codex\u002Fskills\u002F`。\n\n> EasyEDA 需开启「**允许外部交互**」,连接器的 WebSocket 才能连到本地 daemon。\n\n## 效果演示\n\n> **完整实战案例:[一份需求文档 → AI 全自动画完 ESP32-S3 四层板](docs\u002Fshowcase-esp32-mini.md)** ——\n> 19 器件原理图 + 四层 PCB(GND 内电层\u002FVCC 电源层\u002F天线禁铜\u002F四角 M3),\n> `pcb drc` Connection\u002FClearance 双归零、`pcb check` 0、`layout-lint` 100\u002F100,附原生截图与全流程复盘。\n\n下面两段录屏来自真实 EasyEDA 画布:AI 从空白页开始生成原理图,再切到 PCB 完成布局、板框、铺铜和丝印。它不是生成一张电路图图片,而是在编辑器里一步步执行 typed actions:\n\n| 原理图从空白页生成 | PCB 布局与铺铜 |\n|---|---|\n| \u003Cimg src=\"docs\u002Fassets\u002Fdemo-schematic-generation.gif\" width=\"420\" alt=\"AI 在 EasyEDA 中从空白页生成原理图\"\u002F> | \u003Cimg src=\"docs\u002Fassets\u002Fdemo-pcb-layout.gif\" width=\"420\" alt=\"AI 在 EasyEDA 中完成 PCB 布局、板框和铺铜\"\u002F> |\n\n下面这块板由 agent 驱动完整 PCB 流程产出——**自动布局 → 板框贴合 → 规则感知布线 → 4 层电源平面 → 丝印碰撞避让**——并在真实 EasyEDA 画布上验证(DRC 31 → 3、No-Connection 归零):\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Fdemo-esp32-board.png\" width=\"560\" alt=\"ESP32-S3 成品板:4层电源平面 + 圆角板框 + 位号对齐\" \u002F>\n\u003C\u002Fp>\n\n几个单步的真机前后对比(同一块板):\n\n| `pcb outline-fit` 板框贴合(利用率 17% → 71%) | `pcb silk-align` 丝印碰撞避让 |\n|---|---|\n| \u003Cimg src=\"docs\u002Fassets\u002Fdemo-outline-before.png\" width=\"330\" alt=\"前:板框过大\"\u002F> → \u003Cimg src=\"docs\u002Fassets\u002Fdemo-outline-after.png\" width=\"330\" alt=\"后:板框贴合器件\"\u002F> | \u003Cimg src=\"docs\u002Fassets\u002Fdemo-silk-before.png\" width=\"330\" alt=\"前:位号散乱重叠\"\u002F> → 对齐后见上方成品板 |\n\n> 上面 GIF 和截图都来自回归板真机流程(原理图 → 导入 PCB → 4 层叠层 → 布局 → GND 内电层\u002FVCC 信号 plane → 天线禁区+检查 → 丝印\u002FLED 极性 → 挖槽),非 mockup。这也是项目的固定端到端回归用例(拿原始需求从零跑),见 [esp32MiniRequire.md](esp32MiniRequire.md)。\n\n## 能力清单(已支持)\n\n均以 typed CLI 子命令暴露(`easyeda \u003Cdomain> \u003Cverb>`),每项都在固定的 ESP32-S3 回归板上真机验证过。\n\n**原理图**\n- 从立创\u002FLCSC 库按 uuid 放**真实器件**再布线;电源\u002F地**网络标志**用 `connect_pin`(自动补偿旋转存储的坑)。\n- **DRC**(`sch drc`)+ 重建的逐项**设计检查**(`sch check`——悬空引脚、导线交叉、导线压引脚)+ 几何 **layout-lint**(重叠\u002F间距)+ **树粒度桥接检测**(`sch bridge-check`——共线合并短路 BRIDGE \u002F 孤儿桩 ORPHAN,`sch check` 的单线视角看不全的盲区)。\n- 模块感知**自动布局**(放置→校验→调整)、一次调用 **`sch read`**(器件+网络+悬空引脚+检查)、**BOM**\u002F**网表**导出(BOM 自动补 LCSC C 号)。\n\n**PCB — 布局**\n- **`pcb new-board`** — 从原理图**新建一块板 + 空 PCB 页**并绑定(CLI 版「新建 PCB \u002F 原理图转 PCB」),再 `pcb import-changes` 从零布局;区别于只做链接的 `board.create`。\n- **`pcb auto-place`** — 模块感知启发式:卫星器件贴到它所连芯片引脚那侧,2 脚器件自动转向,多芯片铺开;**间距规则感知**(由 live DRC clearance 推导),`--assembly-gap` 兜底手焊间距。\n- **`pcb outline-fit`**(板框贴合器件)\u002F **`pcb outline-round`**(圆角矩形板框)。\n- **`pcb layout-lint`** — 布局质量 + **可布性评分**(飞线 MST + 跨网交叉),布线前预测。\n- **`pcb silk-align`** — 位号**位置感知**避让重排(v2):按局部空隙 + 板上位置 + 拥挤轴给每个位号的 4 个方向打分,**避开别人的焊盘\u002F器件体\u002F禁区\u002F板框\u002F其它标签**;挤死的报告出来而非压到焊盘上。\n- **`pcb silk-add`** \u002F **`pcb silk-set`** — 加**自由丝印字串**(板注 \u002F LED 极性 `+`\u002F`−` 标记,可配层\u002F字号\u002F线宽\u002F旋转,JLCPCB 可读默认)+ 批量调整已有丝印,含 **`--align --ref` 对齐参考**(板注居中到板框、标签对齐器件边)。\n- **`pcb add-component`** — 往已有 PCB 加单个器件并连接其焊盘网络(绕过失效的增量 `import_changes`)。\n\n**PCB — 布线与铜**\n- **`pcb route-short`** — 启发式短线布线:每网 MST、**规则感知线宽**(信号 vs 电源)、**障碍感知** L 朝向、**默认跳电源\u002F地网**(它们该铺铜)。\n- **`pcb pour`**(规则感知铜到板边内缩)\u002F **`pcb pour-fit`** \u002F **`pcb via-stitch`** \u002F **`pcb rip-up`**。\n- **`pcb power-planes`** — 4 层电源分配:GND + 电源各占**专用内平面** + 每焊盘过孔缝合,铺铜后把 **GND 内层翻成 内电层\u002FPLANE**(信号层铺铜→翻类型→重灌的验证配方,DRC 干净),匹配常见客户叠层 **GND=内电层 \u002F VCC=信号层**(把回归板 DRC 31→0、No-Connection 归零)。\n- **`pcb region`**(禁铺铜\u002F天线净空)\u002F **`pcb fill`** \u002F **`pcb slot`**(挖槽 \u002F MULTI 层板挖空)。\n\n**PCB — 叠层、规则、制造**\n- **`pcb stackup`** — 设铜层数(2\u002F4\u002F6…\u002F32)+ 内层类型(信号↔平面\u002F内电层)。\n- **全链路规则感知** — daemon 读板子 **live DRC 规则**(`pcb drc-rules`)并遵循;缺失时回退到权威 **JLCPCB fab 规则参考**(真实分板型导出)。**`pcb drc`** 跑检查。\n- **`pcb export-dsn`**(Specctra DSN,给外部 Freerouting,带禁布区注入)\u002F **`pcb import-autoroute`** \u002F **`pcb snapshot`**。\n\n**基础设施**\n- Typed action 协议(`--help` 自描述、`easyeda actions` 目录)+ `debug.exec_js` 原型逃生口。\n- **`easyeda notify`** — 在 EasyEDA 窗口内弹**非阻塞 toast**(info\u002Fsuccess\u002Fwarn\u002Ferror\u002Fquestion),流程可实时播报每一步(「完成布线,下一步铺铜」)。\n- 连接器**自愈重连看门狗**(daemon 重启\u002F窗口后台都能自动回来)+ daemon **防抖自动保存**。\n\n## 暂不支持 \u002F 平台墙\n\n诚实说明边界。2026-07-01 对官方市场的扫描([docs\u002Fmarketplace-coverage.md](docs\u002Fmarketplace-coverage.md))校正了这些——真正的墙只在**交互式 UX** API,大多数「结果」(走线\u002F过孔\u002F泪滴\u002F网长)其实够得到,进了吸收清单而非被堵死:\n\n- **迷宫档自动布线**(密集\u002F任意距离\u002F推挤)—— daemon 只做*短、清晰*的启发式布线。完整布线走外部 **Freerouting**(DSN 往返构件已就绪);turnkey 集成**暂缓**(需 Java;等官方自动布线器过 `@alpha`)。\n- **交互式布线 UX** —— 交互*菜单*(推挤拖拽布线、实时等长绕蛇、去环)**无 `eda.*` API**。但它们的*输出*——差分对几何、扇出打孔、等长绕线——可用 `pcb_PrimitiveLine\u002FVia.create` 写出,所以**可作为我们的启发式实现**(吸收清单,非墙);只有拖拽 UX 是 UI 专属。\n- **受控阻抗 Z0** —— 真的墙:叠层 Er \u002F 介质厚 \u002F 铜厚 `eda.*` 读不到,算不了 Z0 线宽。**但网长能读**(`pcb_Net.getNetLength`),所以等长\u002Fskew\u002F时序余量报告可做(吸收清单)——这块之前被我误标成墙。\n- **泪滴(teardrop)** —— 无*typed* create API;但文档源注入路径(如 `eext-balance-copper` 做 net-less 填充那样)可能可行,未验证。暂时 UI 里手动应用。\n- **无编程 undo** —— `eda.*` 没有 undo\u002Fredo;回滚靠自建(数据快照 + 反向操作)。\n- **增量 `import_changes`** —— 对 API 新增器件是 no-op(平台限制);首次同步前放完整电路,或用 `pcb add-component`。\n- **丝印密度极限** —— `silk-align` 在有空白处避让标签;比标签更密的布局无法完全消重(报 `unresolvedCollisions`)——请放松布局。\n\n市场覆盖矩阵 + 优先吸收清单见 [docs\u002Fmarketplace-coverage.md](docs\u002Fmarketplace-coverage.md);动作清单见 [docs\u002FFEATURES.md](docs\u002FFEATURES.md);`eda.*` API 覆盖地图见 [docs\u002Fecosystem-survey.md](docs\u002Fecosystem-survey.md)。\n\n## 仓库结构\n\n```text\ncmd\u002Feasyeda\u002F                 CLI 入口(人和 Skill 都用)\ninternal\u002Fapp\u002F                CLI 命令实现\ninternal\u002Fdaemon\u002F             本地 daemon:\u002Fhealth、\u002Feda(连接器 WS)、\u002Faction\ninternal\u002Fprotocol\u002F           与连接器共享的 typed action 协议(actions.go)\nextension\u002F                   EasyEDA 连接器(.eext)源码 + 构建(TypeScript → esbuild)\nskills\u002Feasyeda-agent\u002F        合并后的公开 Skill:工作流、参考、脚本、规范数据\ndocs\u002F                        架构、协议、功能\u002F路线图、规范、决策\n```\n\n## 设计定位\n\n裸 JavaScript 执行对调试仍有用,但不作为主要的 AI 界面。默认界面应该是**有类型的动作**:明确输入、可预测输出、产物处理、校验钩子。\n\n延伸阅读:[快速开始 & 使用注意事项](docs\u002Fquick-start.md) · [功能清单与路线图](docs\u002FFEATURES.md) · [架构](docs\u002Farchitecture.md) · [协议](docs\u002Fprotocol.md) · [Skill 设计](docs\u002Fskill-design.md) · [开发环境与调试手册](docs\u002Fdev-environment.md)\n\n## 致谢\n\n特别感谢 **嘉立创EDA(EasyEDA 专业版 \u002F 嘉立创)** 开放的**扩展插件通道**和官方 `eda.*`\nAPI。整个自动化层都建立在这个开放的插件平台之上——没有它,就没有这个项目。\n`easyeda-agent` 始终做官方插件体系里一个薄而规矩的「公民」,这里的每一项能力最终都\n落到嘉立创自己的 `eda.*` 调用上。感谢嘉立创让我们能做出这样一个好用的插件。\n\n### 引用项目与前置工作(鸣谢)\n\n站在这些开源项目的肩膀上——感谢:\n\n- [**@jlceda\u002Fpro-api-types**](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@jlceda\u002Fpro-api-types) —— 官方 EasyEDA Pro `eda.*` API 类型定义(连接器对它做类型校验)。\n- [**Freerouting**](https:\u002F\u002Fgithub.com\u002Ffreerouting\u002Ffreerouting) —— 外部迷宫档自动布线器,我们的 `pcb export-dsn` \u002F `import-autoroute` 往返对接它。\n- [**spf13\u002Fcobra**](https:\u002F\u002Fgithub.com\u002Fspf13\u002Fcobra)(CLI 框架)· [**coder\u002Fwebsocket**](https:\u002F\u002Fgithub.com\u002Fcoder\u002Fwebsocket)(daemon ↔ 连接器)· [**esbuild**](https:\u002F\u002Fgithub.com\u002Fevanw\u002Fesbuild)(连接器打包)。\n- **官方 EasyEDA 扩展**([github.com\u002Feasyeda](https:\u002F\u002Fgithub.com\u002Feasyeda))—— 我们研究它们的 `eda.*` API 用法与算法(不抄 UI)作为前置工作;吸收清单见 [`docs\u002Fecosystem-survey.md`](docs\u002Fecosystem-survey.md)。其中 [`eext-run-api-gateway`](https:\u002F\u002Fgithub.com\u002Feasyeda\u002Feext-run-api-gateway) 证明了编辑器内代码通道,[`eext-export-design-report`](https:\u002F\u002Fgithub.com\u002Feasyeda\u002Feext-export-design-report) 启发了设计报告读取。\n- 尚未吸收的候选:[**polyclip-ts**](https:\u002F\u002Fgithub.com\u002Fluizbarboza\u002Fpolyclip-ts)(多边形布尔)—— 用于未来的丝印填充避让(见 `docs\u002Fecosystem-survey.md` A10)。\n\n## Star History\n\n感谢每一颗 star。\n\n[![Star History Chart](docs\u002Fassets\u002Fstar-history.svg)](https:\u002F\u002Fwww.star-history.com\u002F#zhoushoujianwork\u002Feasyeda-agent&Date)\n","easyeda-agent 是一个面向嘉立创 EDA 专业版（EasyEDA）的 AI 原生自动化中间层，旨在为 AI Agent 提供稳定、类型安全、可观测的电路设计操作能力。它通过本地 Go CLI\u002Fdaemon 与 EasyEDA 浏览器插件协同工作，封装官方 eda.* API 为结构化 typed action，支持原理图绘制、PCB 布局、DRC 检查、产物导出及审计日志等全流程操作，并首创‘电路块库’机制，实现经验证外设电路（如 CH340、ESP32 下载电路）的拓扑复用与引脚网络自动绑定。适用于硬件工程师、AI 辅助电路设计场景及需要可复用、可回放、门控式 PCB 设计流程的研发团队。","2026-07-11 02:30:54","CREATED_QUERY"]