来源:GitHub (★379)
URL: https://github.com/zhoushoujianwork/easyeda-agent
精读日期:2026-09-08
模型:DeepSeek V4 Flash(AI 生成,人工未审校)
正文获取:全文
一、核心论点/事实
- easyeda-agent 为嘉立创 EDA 专业版(EasyEDA Pro)提供 AI 自动化能力,以 CLI / Agent Skill / stdio MCP 三种形态融合接入,GitHub ★379。
- 核心架构为「极薄插件 + 本地 daemon」:EasyEDA 插件只执行被批准的动作,Go CLI/daemon 掌管协议、状态、产物、校验与用户工作流。
- 动作目录已覆盖原理图、PCB、文档导航、板级绑定、产物导出、诊断;官方 API 无事务回滚,post-check 失败即「页面已变但未过门」。
- 固定端到端回归用例(esp32Mini):v1.0.0 原理图全流程真机成图——3 页原理图 / 26 个真实 LCSC 库件 / 18 网黄金表逐脚全对 / 复用 6 个电路块;PCB 为 19 器件 + 四层板,DRC 从 31 降至 3、No-Connection 归零。
- 一键安装器匿名调用 GitHub API 每 IP 每小时限 60 次,公司出口 / NAT / CI 易撞满;需 GH_TOKEN 或已登录 gh CLI 自动取
gh auth token。 - 拓扑库含 37 块已验证电路(19 ready / 13 verified / 5 draft),离线可查,支持一键实例化(放件+连线+网表对账一条命令)。
- 设计规范强调:不直接依赖截图猜连接、不修改原位号、不把 GPIO 号当器件物理引脚;以本地 canonical connectivity JSON 为权威数据。
二、方法/架构拆解
三层形态接入
- CLI:
cmd/easyeda/入口,人和 Skill 均可用;支持easyeda update --check --exit-code自更新(sha256 校验 + 原子替换)。 - Agent Skill:从 ClawHub 或 GitHub Release 安装(后缀有意区别于官方 EasyEDA 工具),skill 目录含工作流、参考、脚本、规范数据。
- stdio MCP:重启 agent 客户端后即可用,其他 MCP 客户端使用同一 stdio command/env 配置。
核心组件与协议
internal/daemon/:本地 daemon,提供 /health、/eda(连接器 WS)、/action 端点;跟踪已连接的 EasyEDA 窗口,经 WebSocket 路由每个动作,记录审计日志/产物/校验结果。internal/protocol/:与连接器共享的 typed action 协议(actions.go)。extension/:EasyEDA 连接器(.eext)源码 + 构建(TypeScript → esbuild),保持极薄——连到本地 agent、只执行被批准的动作。- 连接器锁定端口、校验握手;端口不外溢,被占用时自动接管旧 easyeda daemon。
关键实现要点
- 原理图生成:先读取/建立本地 canonical connectivity JSON(器件、完整物理引脚、稳定网络 ID、pin→net/NC 为权威数据);本地计算器件 XY、朝向、连线与功能 Lib,再生成 diff/Apply 队列;Apply 后逐脚回读。
- 功能分区排版:基于已设计 Lib 几何离线组合单页,左上向右 Z 字排列;每框按内部内容独立收紧、同行顶齐、下一行按本行最大高度推进;粉色虚线框 + 0.2 inch 标题,保留最小内边距。
- 位号与 Role 分离:合法数字位号保持原样,功能名称存 Role;组合器不推导任意外围电路、不自动分页或删除源页。
- PCB 流程四阶段:layout-lint → check → bridge-check → drc,覆盖重叠、悬空、短路与官方 DRC;含跨页网名审计。
- PCB 自动化能力:自动布局、板框、禁布区、规则感知短线布线、4 层电源平面、铺铜、丝印避让、DRC。
- 布局启发式:卫星器件贴到所连芯片引脚那侧,2 脚器件自动转向,多芯片铺开;避让重排(v2)按局部空隙 + 板上位置 + 拥挤轴给每个位号 4 个方向打分。
- 变异前二次核对同一页部件姿态、sheet 与全部 connectivity(wire/bus/net marker),并在启动变异的同一个 JS action 内再锁一次 document/input。
- 流程可实时播报每一步(info/success/warn/error/question),如「完成布线,下一步铺铜」。
- 官方 API 大多数「结果」(走线/过孔/泪滴/网长)够得到,进吸收清单而非被堵死。
三、值得注意的局限/争议
作者承认的局限
- 官方 API 没有事务回滚,post-check 失败表示「页面已变但未过门」,必须先修复或撤销。
- 一键安装器匿名调用 GitHub API 限频(每 IP 每小时 60 次),公司出口 / NAT / CI 容易撞满。
- 连接器市场版本可能滞后 CLI,严格三方同版时需以 GitHub Release 为准。
- 功能分组的模板版是首选,官方引擎只作未建模页面的起点。
AI 判断的局限/争议
- 把「裸 JavaScript 执行」当作主工作流——强大但对 AI agent 太脆弱,项目虽用 typed action 缓解,但底层仍依赖官方 API 的稳定性与版本兼容。
- 回归用例仅覆盖 esp32Mini 单一板型,虽含 26 个 LCSC 库件,但复杂异构板卡(多 MCU、高速信号、混合信号)的泛化能力未验证。
- 依赖 EasyEDA 桌面端「允许外部交互」开关与本地 daemon 常驻,环境迁移/多人协作时状态同步与冲突处理未说明。
- 拓扑库 37 块中仅 13 块 verified,5 块 draft,质量分层意味着部分「一键实例化」结果可能需人工复核。
四、与 RRLab 研究的关联
Harness 工程
- 「极薄插件 + 本地 daemon + typed action 协议」的分层设计值得借鉴:插件只做执行、daemon 管状态/校验/审计,职责清晰,可复用于 RRLab 的 harness 架构。
- 自愈连接器(端口自动接管、握手校验、重连)与 sha256 校验 + 原子替换的更新机制,是 harness 工程化的高成熟度参考。
多模型协同
- 同一套 typed action 同时服务 CLI / Skill / MCP 三种形态,说明「动作层与模型解耦」的可行性——不同模型/客户端只需适配协议,无需重写动作逻辑。
模型评测
- 固定端到端回归用例(esp32Mini 从原始需求从零跑)是极佳的评测基准设计:输入为自然语言需求,输出为真机原理图/PCB + DRC 指标(31→3、No-Connection 归零),可量化、可复现。
- 黄金表逐脚全对 + 复用电路块计数,提供了比「截图相似度」更严格的评测维度。
Agent 落地
- 「先本地计算再生成 diff/Apply 队列 + Apply 后逐脚回读 + 四阶段校验」是 Agent 操作真实工具的安全落地范式,可推广到其他高代价操作场景。
- 功能分区排版与位号/Role 分离的规范,展示了 Agent 输出需符合领域专业标准(而非仅功能正确)的落地经验。
AI 原生产品
- 三形态(CLI/Skill/MCP)融合接入 + 一键安装器 + 自动更新,是 AI 原生工具「低摩擦分发」的完整参考。
- 流程实时播报(info/success/warn/error/question)设计,让 Agent 操作过程对用户透明可监督,是 AI 产品信任构建的关键细节。
本笔记由 DeepSeek V4 Flash 自动生成,未经人工审校。原文链接:https://github.com/zhoushoujianwork/easyeda-agent