KiCad Happy
让编码智能体在投板前检查 KiCad 电路、PCB、EMC 与生产风险。
- Star 数
- ★ 1.4k
- 最近更新
- 4 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 63/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 正在设计 KiCad 控制板的硬件工程师,希望在订板前发现错误的稳压器反馈值、缺失保护器件、未连接网络或去耦不足。
- 不适合
- 需要直接分析 Altium 或 OrCAD 专有工程格式的团队
- 要求 EMC 结果可直接替代实验室认证或工程签核的团队
- 无法安装 ngspice、LTspice 或 Xyce 却需要高保真 SPICE 验证的用户
这个 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?
运行环境为 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 有哪些优点和局限?
- 覆盖从原理图、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 与同类方案有什么区别?
与 Altium 或 OrCAD 相比,项目明确利用 KiCad 可读的 S-expression 文件直接解析元件和网络,不需要专有导出插件;来源没有证明它能为这些商业 EDA 格式提供同等分析。就运行方式而言,它不限于单一编码智能体:同一组技能可用于 Claude Code、OpenAI Codex、Google Antigravity 和 opencode,也可绕过智能体作为 Python 脚本或 GitHub Action 运行。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| KiCad Happy 当前 | 63 · 存在缺口 | Agent 插件 / 技能免费 | ★ 1.4k | 4 天前 | Python | Codex · Claude Code |
| Argot 仓库风格审查器 | 93 · 表现优秀 | 命令行工具免费 | ★ 51 | 1 个月前 | Rust | Claude Code |
| Mirafold | 89 · 表现良好 | 命令行工具免费版 + 付费版 | ★ 18 | 1 个月前 | TypeScript | Codex · Claude Code |
| Jev Review | 81 · 表现良好 | Agent 插件 / 技能免费 + 模型费 | ★ 243 | 1 个月前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
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 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 在依赖分销商 API、下载数据表或启用 GitHub Action 前,应审查凭据权限、发送的数据字段、缓存位置、日志和外部评论行为;现有材料未定义敏感数据或遥测政策。
- 不要把 EMC 分数、认证建议、热分析或“fabrication release gate”视为合规认证或下单授权;高风险设计仍需人工审查、原厂数据表核对和实验室测试。
- README 中的 44 项规则、40 个检测器、96% 下载成功率及案例精度未由所提供的实现或测试结果证实,应在采用前按固定修订核验。
- 安装和更新说明包含删除插件缓存目录及创建全局符号链接;执行前应确认精确路径并保留可恢复备份。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v2.3.1 v2.3.1 — Maintenance batch
发布说明摘录
A follow-up to v2.3.0 in three layers. The first is the batch itself: jlecoeur's report that Manufacturer P/N and Digikey P/N were invisible to the analyzers turned into one shared, case-insensitive alias set for the schematic analyzer, the PCB analyzer and the BOM manager, plus six small v2.3.0 follow-ups — thermal-via counting on rotated QFNs, through-hole touch pads, pad-sourced drill violations, a clearer thermal skip reason, RP-001 wording on touch nets, and bus wires on Altium-style peer sheets. A malformed capability_mode.json sidecar, which had been silently crashing every analyz …在 GitHub 查看 ↗ -
v2.3.0 v2.3.0 — Correctness batch
发布说明摘录
Eighteen tracker defects fixed at the root, three community contributions, and one proposed fix that ground truth rejected. The headline is CP-003, the touch-pad clearance check: it measured footprint origin to zone bounding box, which is 0.0 mm for any enclosing pour, and it fired on test points because their references start with TP. It now measures the pad outline to the nearest filled-polygon edge and only fires on parts that actually claim to be touch pads — expect the finding count to drop by about 96% and the survivors to carry real numbers. The same corpus pass found that KiCad store …在 GitHub 查看 ↗ -
v2.2.1 v2.2.1 — Maintenance batch
发布说明摘录
Twenty-five verified fixes, no new subsystems — nearly all of them traceable to someone who took the time to file a precise report. Field-reported false positives, killed at the root: - #39 / #40 (Curtis Galloway) — GP-001 no longer reads every ordinary via's antipad as a return-path hole, and schematic-declared power rails now reach the PCB net classifier, so P1_VBUS-style per-port rails stop masquerading as signals. Pass --schematic analysis/schematic.json (or --power-rails) to analyze_pcb.py and the new power_net_resolution block shows exactly what was resolved and how. …在 GitHub 查看 ↗