核心功能
easyeda-api 是专为嘉立创EDA Pro(EasyEDA Pro)设计的AI代理技能,实现程序化控制PCB设计、原理图编辑、封装/符号管理及项目操作。核心能力包括:
- 完整API覆盖:120个类、62个枚举、70个接口、19个类型别名的全量文档
- WebSocket桥接架构:Node.js桥接服务器(端口49620-49629)在AI代理与运行中的EDA客户端间建立实时双向通信
- 实时调试能力:代码直接在EasyEDA浏览器运行时中执行,支持即时反馈与迭代
- 扩展开发支持:完整的扩展开发文档、运行时约束规范及iframe数据传递方案
显著优势
1. 深度集成:通过官方扩展run-api-gateway.eext实现与EDA客户端的原生级交互
2. 文档完备:API参考、快速查询表、源代码格式规范三层文档体系
3. 多窗口支持:智能检测并管理多个EDA实例,支持动态窗口切换
4. 单位与坐标安全:明确标注PCB(1mil)与原理图(0.01inch)单位差异,避免常见定位错误
5. 异步模式规范:清晰定义PCB图元修改的toAsync()工作流
局限性与风险
| 维度 | 说明 |
|------|------|
| **环境依赖** | 需Node.js 18+及EasyEDA Pro桌面客户端,配置门槛较高 |
| **权限约束** | 部分API受EDA许可证层级限制,非代码问题可能导致调用失败 |
| **单线程阻塞** | 桥接服务器须后台运行,前台执行将阻塞AI会话 |
| **上下文隔离** | 主扩展进程与iframe间需通过`sys_Storage`桥接,非标准浏览器模式 |
| **超时风险** | 默认30秒超时,复杂操作需分片处理 |
适用人群
- 硬件工程师:批量PCB布局、自动化DRC检查、设计规则验证
- EDA扩展开发者:构建定制工具链、自动化设计流程
- AI-Hardware集成研究者:探索LLM辅助电子设计的边界
- 教育场景:程序化演示EDA操作、生成教学用例
安全评估
- 代码注入风险:通过桥接执行的代码在EDA浏览器沙箱中运行,无Node.js系统API访问
- 网络暴露:服务仅绑定localhost,端口范围受限,无外部暴露
- 数据安全:项目数据通过本地WebSocket传输,不经过第三方服务器
使用要点
1. 触发会话:用户说"嘉立创EDA,启动!"时立即回复📋 EasyEDA Session设定会话标题
2. 强制校验:每次API调用前验证documentType匹配(PCB/Schematic)
3. 枚举优先:图元创建时禁用原始数字,必须使用EPCB_LayerId等枚举
4. await强制:所有返回Promise<T>的方法必须await,这是最常见错误源
本技能代表了AI代理与专业EDA软件深度集成的先进实践,将传统需要手动操作数小时的设计任务压缩为可编程、可复用的自动化流程。