KiCad Happy
让编码智能体在投板前检查 KiCad 电路、PCB、EMC 与生产风险。
CI 明确限制为 contents: read,核心分析脚本宣称为零必需依赖的本地 Python,许可证和版权归属也很清楚;因此最小权限、依赖控制和来源归属有实质依据。但分销商 API、数据表下载、GitHub 评论及安装到用户技能目录会产生外部或持久化影响,文件没有系统说明每次操作前的确认、传输字段、凭据保存、隐私处理或遥测政策。缓存清理、禁用插件和重装提供了有限恢复路径,却没有分析产物或外部评论的事务性回滚方案。未知发布者身份本身未被当作风险或额外扣分。
README 对核心分析、可选 SPICE 后端、无模拟器时降级以及多平台安装的叙述总体一致;CI 还覆盖 Python 3.10/3.12 编译、命令帮助、缓存往返、固定提交的测试工具和契约测试。扣分原因是提供的材料没有测试输出或实现代码,无法静态核验大量功能宣称;外部分销商、PDF 来源和模拟器的可用性仍受环境影响,失败信息仅明确展示了“跳过模拟”及指向未提供的故障排除文档。
材料清楚覆盖设计审查、局部电路提问、EMC、SPICE、BOM、数据表和投产准备等多种受众场景,并提供 Claude Code、Codex、Copilot CLI、Antigravity、opencode、GitHub Action 和独立脚本的环境适配说明。功能按 11 个技能划分,外部模拟器为可选依赖,环境适配较强。扣分在于未提供各 SKILL.md 的真实触发描述、冲突消解和误触发防护;“指向项目后自动完成一切”也使自主范围及需要人工工程判断的边界不够精确。
README 的信息架构完整,具有安装、升级、RC 固定、平台差异、工作流、能力表和大量输入输出示例;MIT 正文完整,因此架构、安装和许可证可给高分。技能名称基本稳定且跨安装示例一致,但支持列表和手工安装列表并不完全对应。已记录 Claude 更新问题、Windows 符号链接限制、SPICE 降级和 RC 验证限制,不过没有集中 FAQ、完整变更日志或明确的兼容性弃用政策。版权人和 GitHub issue 渠道提供有限维护线索,但未说明维护承诺、响应责任或安全更新路径。
示例报告采用严重度、计算值、风险分数、生产闸门和供应商导出等可直接行动的格式,输出可用性证据充分。该产品把 KiCad 解析、跨域检查、仿真、数据表和采购流程集中起来,显示出相对通用编码助手的潜在增量价值;纯 Python 核心和可选降级也控制了入门成本。扣分是多数效果、覆盖率、规则数量和成功率来自 README 自述,未提供实现或结果集;外部 API、模拟器、人工复核以及错误建议导致的制板风险未被量化。
功能宣称可追溯到命名脚本、指南、示例报告、CI 步骤、测试工具固定提交和契约测试命令,README 与 CI 对主要入口有一定交叉印证。扣分是所引用的指南、示例、测试工具内容及实际 CI 结果均未随材料提供,无法形成独立或逐项核验;大量精确数字和案例结果以营销式事实陈述呈现,虽然部分地方标出假设、置信来源与分析降级,但真实测量、推断、启发式规则和示例输出之间仍未始终清晰分离。
- 在依赖分销商 API、下载数据表或启用 GitHub Action 前,应审查凭据权限、发送的数据字段、缓存位置、日志和外部评论行为;现有材料未定义敏感数据或遥测政策。
- 不要把 EMC 分数、认证建议、热分析或“fabrication release gate”视为合规认证或下单授权;高风险设计仍需人工审查、原厂数据表核对和实验室测试。
- README 中的 44 项规则、40 个检测器、96% 下载成功率及案例精度未由所提供的实现或测试结果证实,应在采用前按固定修订核验。
- 安装和更新说明包含删除插件缓存目录及创建全局符号链接;执行前应确认精确路径并保留可恢复备份。
这个 Agent 能做什么,适合哪些场景?
KiCad Happy 是一套面向电子设计的智能体技能和纯 Python 3.10+ 分析脚本,可直接读取 KiCad 5 至 10 的原理图、PCB 与 Gerber 文件。它包含 kicad、spice、emc、datasheets、bom、digikey、mouser、lcsc、element14、jlcpcb 和 pcbway 共 11 项技能,覆盖设计审查、仿真、物料采购和投产准备。分析器会解析元件、网络与布局,识别功能电路,并输出按严重程度组织的电源、信号完整性、热、EMC、DFM 和生命周期问题。它既能安装到 Claude Code、OpenAI Codex、Google Antigravity 和 opencode,也能作为独立脚本运行或通过 GitHub Action 对涉及 KiCad 文件的提交与拉取请求执行自动审查。核心静态分析不要求安装 KiCad、Docker 或第三方 Python 包;SPICE 验证以及联网下载数据手册、查询分销商则需要相应的模拟器、网络或 API 凭据。
端到端流程从读取 .kicad_sch、旧版 .sch/.lib、PCB 和 Gerber 数据开始:kicad 技能将 S-expression 等设计文件解析为结构化元件、网络、铜层和功能电路信息,计算反馈分压、滤波截止频率、晶振负载、电源树、走线载流能力和热指标。emc 技能执行 44 项规则检查,查找地平面空洞、去耦不足、未滤波接口、差分对偏斜、PDN 阻抗及辐射风险,并生成风险评分、重点频段和近场探测点。spice 技能为识别出的 RC/LC 网络、运放、分压器、反馈网络、晶体管开关和晶振生成测试平台,可调用 ngspice、LTspice 或 Xyce,并支持容差蒙特卡洛和参数扫描;没有模拟器时会跳过仿真而继续其他分析。datasheets 技能从 DigiKey、LCSC、element14 或 Mouser 下载并验证 PDF,将引脚、电气参数和拓扑提取为按 MPN 缓存且带质量评分的 JSON。bom 与供应商技能审计 MPN 覆盖率、查找和验证器件,并生成 DigiKey、Mouser、LCSC、JLCPCB 或 PCBWay 所需的采购、BOM 和 CPL 文件。最终可产出结构化设计报告、制造发布门禁结果、供应商订单文件,或在 GitHub PR 中发布状态检查和审查评论。
- 正在设计 KiCad 控制板的硬件工程师,希望在订板前发现错误的稳压器反馈值、缺失保护器件、未连接网络或去耦不足。
- 准备 FCC、CISPR 32、CISPR 25 或 MIL-STD-461G 预检的团队,需要从原理图和 PCB 几何数据中定位高风险频段、接口和回流路径问题。
- 调试模拟或电源电路的工程师,需要自动识别滤波器、运放和反馈网络,并用 ngspice、LTspice 或 Xyce 验证计算结果及元件容差影响。
- 从原型转向量产的团队,需要同步数据手册、补齐 MPN、审计器件生命周期,并导出分销商及 JLCPCB/PCBWay 可用的 BOM/CPL 文件。
- 维护 KiCad 仓库的开发团队,希望用 GitHub Action 对每个涉及原理图或 PCB 的 PR 自动给出结构化审查和提交状态。
- 使用 Claude Code、Codex、Antigravity 或 opencode 的电子工程师,希望直接询问某个 USB 差分对、升压回路、触摸按键或电源时序,而非每次执行完整审查。
这个 Agent 有哪些优点和局限?
- 覆盖从原理图、PCB、Gerber 到数据手册、BOM、供应商订单和制造发布门禁的完整硬件工作流,而不只是文本问答。
- 核心分析脚本是零必需第三方依赖的纯 Python 3.10+,不要求安装 KiCad 或 Docker,并支持 KiCad 5 至 10。
- EMC 模块提供 44 项规则检查,SPICE 模块支持按器件行为模型、PCB 寄生参数、蒙特卡洛容差和参数扫描。
- 同时提供多种交付方式:Claude Code/Codex 技能、Antigravity 插件、opencode 配置、独立脚本和 GitHub Action。
- 项目声明已在 5,800 多个开源 KiCad 项目上验证,覆盖 6,845 个原理图、3,498 个 PCB 和 808K 以上回归断言。
- 能力边界集中在 KiCad 文件格式;资料没有证明它能直接解析 Altium 或 OrCAD 的专有设计文件。
- 高精度 SPICE 验证依赖额外安装 ngspice、LTspice 或 Xyce;缺少模拟器时该部分会被跳过。
- 自动下载数据手册和器件采购依赖网络,DigiKey、Mouser 与 element14 的完整 API 流程还需要各自凭据。
- 数据手册提取和规则分析属于预审工具;来源只证明其生成风险判断和建议,并未承诺替代实验室 EMC 认证或人工签核。
- 版本升级可能改变结果:v2.2.0 明确提示层级总线较多的设计会出现网络列表修正,并需复查仅按网络名配置的抑制规则。
如何安装或部署这个 Agent?
运行环境为 Python 3.10+。Codex 可直接要求:Use $skill-installer to install the kicad-happy skills from https://github.com/aklofas/kicad-happy。手动安装时执行:
git clone https://github.com/aklofas/kicad-happy.git
cd kicad-happy
mkdir -p ~/.codex/skills
for skill in kicad spice emc datasheets bom digikey mouser lcsc element14 jlcpcb pcbway; do ln -sf "$(pwd)/skills/$skill" ~/.codex/skills/$skill; doneClaude Code 可执行:
/plugin marketplace add aklofas/kicad-happy
/plugin install kicad-happy@kicad-happyGoogle Antigravity 可执行:agy plugin install https://github.com/aklofas/kicad-happy.git。opencode 可克隆仓库后在仓库目录运行 opencode,其 .opencode/opencode.json 会加载 ./skills/ 下的 11 项技能。基础分析无需 pip、Docker 或 KiCad;SPICE 功能另需 ngspice、LTspice 或 Xyce。分销商 API 可使用 DIGIKEY_CLIENT_ID、DIGIKEY_CLIENT_SECRET、MOUSER_SEARCH_API_KEY 和 ELEMENT14_API_KEY;LCSC 不要求密钥。
如何使用这个 Agent?
安装后,将智能体指向本地 KiCad 项目,例如:Analyze my KiCad project at hardware/rev2/。也可提出局部问题,如 Check the two capacitive touch buttons on my PCB for routing or placement issues,或运行数据表流程:Sync datasheets for my board at hardware/rev2/。需要仿真时可要求:Run SPICE on everything the analyzer detected and tell me what doesn't look right;系统会自动检测 ngspice、LTspice 或 Xyce。生产阶段可要求 Is this board ready to order? 或 Generate the BOM for JLCPCB assembly。若需持续审查,可按照仓库提供的 GitHub Action 配置,让每次改动 KiCad 文件的 push 或 PR 触发状态检查和结构化评论。
这个 Agent 与同类方案有什么区别?
与 Altium 或 OrCAD 相比,项目明确利用 KiCad 可读的 S-expression 文件直接解析元件和网络,不需要专有导出插件;来源没有证明它能为这些商业 EDA 格式提供同等分析。就运行方式而言,它不限于单一编码智能体:同一组技能可用于 Claude Code、OpenAI Codex、Google Antigravity 和 opencode,也可绕过智能体作为 Python 脚本或 GitHub Action 运行。