核心功能
EasyEDA Pro API Skill 是一套面向 AI Agent 的自动化控制方案,通过 WebSocket 桥接技术实现对嘉立创EDA专业版(EasyEDA Pro)的实时操控。该技能包含三大核心能力:
1. 完整 API 参考体系
提供 120+ 类、62 枚举、70 接口、19 类型别名的完整文档,涵盖 DMT(文档管理)、PCB(印刷电路板)、SCH(原理图)、LIB(库管理)、SYS(系统)五大模块。所有 API 均按模块化组织,支持从索引快速定位到详细签名查阅的完整查阅链路。
2. WebSocket 桥接执行
基于 Node.js 的桥接服务器在 49620-49629 端口范围自动寻址,建立 AI Agent 与 EasyEDA Pro 客户端的双向通信。执行代码在 EDA 浏览器运行时中运行,通过 eda 全局对象访问全部 API,支持实时调试与扩展开发场景。
3. 扩展开发支持
不仅支持对运行中 EDA 实例的实时操控,还提供扩展开发所需的完整文档、类型信息、调试能力,包括 IFrame 集成、文件系统访问、消息通知等系统级能力。
显著优点
- 官方背书:由嘉立创EDA官方(JLCEDA)维护,API 与产品版本同步更新
- 完整覆盖:从项目创建、文档编辑到图元操作、DRC 检查的全链路 API 支持
- 实时反馈:WebSocket 双向通信,执行结果即时返回,支持复杂异步操作模式
- 多窗口管理:支持同时连接多个 EDA 实例并动态切换
- 开发友好:提供快速参考手册、常见错误防范指南、坐标单位对照表等实用工具
潜在局限
- 环境依赖:要求 Node.js 18+ 及 EasyEDA Pro 桌面客户端,不支持网页版
- 扩展安装:需在 EDA 客户端手动安装
run-api-gateway.eext扩展方可建立连接 - 单位易错:PCB(1mil)与原理图(0.01inch)坐标单位不同,极易混淆导致定位错误
- 异步复杂:图元修改需遵循
get → toAsync → setState → done四步模式,学习曲线较陡 - 无 Node API:执行代码运行于浏览器沙箱,无法直接访问 fs、path 等 Node.js 模块
适用人群
- 需要批量处理 PCB/原理图的设计工程师
- 开发 EasyEDA 扩展的第三方开发者
- 希望将 EDA 操作集成到自动化工作流的团队
- 需要实时调试和快速原型验证的硬件开发者
常规风险
- 项目状态风险:API 调用前必须验证项目已打开且文档类型匹配,否则返回 null 或报错
- 多窗口混淆:多实例场景下需显式指定 windowId,否则可能在错误窗口执行操作
- 未保存数据丢失:
openProject()可能丢弃当前未保存更改,需谨慎调用 - 超时处理:默认 30 秒超时,复杂操作需拆分代码块
- 枚举硬编码:直接使用数字而非枚举值会导致不可预期的图层或类型错误
技术架构
AI Agent ←──HTTP/WS──→ Bridge Server(Node.js) ←──WebSocket──→ EasyEDA Pro Client
49620-49629 49620-49629桥接服务自动发现机制、握手验证协议、JSON 消息格式均经过严谨设计,确保连接可靠性与执行安全性。