news 2026/10/3 13:00:51

AI接管KiCad图形界面:KiCAD MCP Server的11个GUI驱动工具如何工作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI接管KiCad图形界面:KiCAD MCP Server的11个GUI驱动工具如何工作

AI接管KiCad图形界面:KiCAD MCP Server的11个GUI驱动工具如何工作

【免费下载链接】KiCAD-MCP-ServerKiCAD MCP is a Model Context Protocol (MCP) implementation that enables Large Language Models (LLMs) like Claude to directly interact with KiCAD for printed circuit board design.项目地址: https://gitcode.com/gh_mirrors/ki/KiCAD-MCP-Server

KiCAD MCP Server 不仅能让 AI 直接读写 KiCad 的设计文件,还提供了一组KiCad GUI 驱动工具,让大模型(LLM)像人手一样操作 KiCad 的图形界面——枚举菜单、点击按钮、驱动对话框、截取屏幕。这套 GUI 驱动能力由 11 个工具组成,基于本地套接字通信与可选的 AT-SPI 无障碍通道,让 AI 完成"看得见、点得着、验得了"的完整 GUI 自动化闭环。

为什么需要 GUI 驱动:AI 的两条 KiCad 通道

KiCAD MCP Server 操作 KiCad 有两条独立通道:

通道职责能力边界
kipy 通道设计内容增删元件、布线、改原理图,但看不到界面
gui-driver 通道界面 chrome(外观)菜单、工具栏、对话框、插件按钮,不碰设计文件

这个分工在 docs/GUI_DRIVER_SPEC.md 中被明确定义:kipy = design content, gui-driver = chrome。也就是说,AI 无法通过 kipy 回答"Open kiHarness 按钮是否存在"这类问题,也无法替你点击菜单或操作对话框——这正是 GUI 驱动工具要解决的空白。

架构速览:一个助手插件 + 两条后端

整套系统由三部分构成:

AI (LLM) ──> MCP Server ──> 本地 TCP 套接字 (127.0.0.1:8770) ──> KiCad 内的助手插件 ──> wx UI 线程 │ └── 后端 B(可选):Linux AT-SPI 无障碍总线,零侵入
  • 助手插件:源码位于 gui_driver_plugin/plugins/driver.py 与 gui_driver_plugin/plugins/listener.py,元数据见 gui_driver_plugin/metadata.json。它作为 KiCad 外部插件运行,在本地端口监听 JSON 行协议,所有 wx 操作都通过wx.CallAfter调度到 UI 线程执行(wx 非线程安全)。
  • MCP 客户端:python/commands/gui_driver.py 是纯套接字客户端,负责把 11 个 MCP 工具的请求转发给助手。
  • 安全设计:控制通道默认不监听,仅在设置KICAD_GUI_DRIVER_ENABLE=1后开启;且每次会话生成一个随机令牌,写入权限 0600 的文件,每个请求必须携带该令牌——本地其他进程(包括浏览器标签页)无法驱动你的 KiCad。
  • 优雅降级:助手不可达时,所有工具立即返回success: false和清晰的安装指引,绝不崩溃或挂起。

11 个 GUI 驱动工具逐一拆解

工具注册入口在 src/tools/gui-driver.ts,完整清单也可查 docs/TOOL_INVENTORY.md。

🔍 基础"看"与"点"(后端 A:进程内 wx)

工具作用一句话理解
kicad_gui_tree枚举活动 GUI 的菜单/子菜单(名称+id)和 AUI 工具栏(id+tooltip)让 AI看见整个界面
kicad_gui_click按名称激活菜单项或工具栏按钮让 AI点击,真实事件注入,无需像素坐标

kicad_gui_tree输出中,危险菜单(如 "Update PCB from Schematic…"、"Delete")会被加上⚠前缀并标记destructive: true——这是提示性标记,提醒 Agent 谨慎,但并不拦截。

🔌 插件与窗口

工具作用
kicad_run_action_plugin按名称找到"Tools > External Plugins"子菜单项并触发(如Open kiHarness)
kicad_gui_wait_for轮询等待标题包含指定子串的顶层窗口出现,解决"点击后要等对话框打开"的时序问题
kicad_gui_screenshot把目标窗口的屏幕区域截成 PNG 并返回路径,供 AI 做视觉验证

📋 三个"剧本"工具(Playbooks)

剧本是对通用工具的薄封装,把多步操作打包成一次调用,实现逻辑见 python/commands/gui_driver.py:

工具自动执行的动作
kicad_pcb_snapshot触发 Zoom to Fit → 等待重绘 → 截图,一块完整的视觉版图快照
kicad_reload_and_open_plugin触发 Refresh Plugins → 打开指定外部插件入口,插件开发测试循环一步到位
kicad_run_drc打开 DRC 对话框 → 点击 Run DRC → 轮询并把违规列表刮成结构化数据,实现AI 自动跑设计规则检查

🐧 后端 B:Linux AT-SPI 零侵入通道

工具作用
kicad_gui_tree_atspi从 Linux 无障碍总线读取 KiCad 的控件树(角色+名称),无需在 KiCad 内装任何代码
kicad_gui_click_atspi按可访问名称(可选角色过滤)激活控件

这是"黑盒"路径:完全站在 KiCad 外部,特别适合 CI 式的界面回归验证——项目团队正是靠它诊断过"插件按钮神秘消失"的 bug(docs/GUI_DRIVER_SPEC.md)。

📦 安装器

工具作用
install_gui_driver把助手插件显式部署到用户 KiCad 的插件目录(opt-in 设计,不会偷偷安装)

三步启用指南

  1. 部署助手:对 AI 说"运行install_gui_driver",助手插件会被写入你所有 KiCad 版本的3rdparty/plugins目录;
  2. 开启通道:在 KiCad 环境变量中设置KICAD_GUI_DRIVER_ENABLE=1;
  3. 重启生效:重启 KiCad,或在界面执行 Tools → External Plugins → Refresh Plugins。

之后 AI 就能直接说"帮我跑一次 DRC 并把违规列出来"、"截一张 PCB 全览图看看布局"了。

一个典型工作流:AI 自查布线

  1. AI 调用kicad_run_drc—— 自动打开对话框、点击运行、刮取结果;
  2. 若违规数为 0,AI 再调用kicad_pcb_snapshot生成一张全览截图做最终确认;
  3. 若失败,AI 调用kicad_gui_tree查看当前可用菜单,用kicad_gui_click补做修复动作。

整个过程不写一行脚本、不需要人工点鼠标——GUI 成了 AI 的"眼睛和手"。🎯

小结

KiCAD MCP Server 的 GUI 驱动把"AI 接管 KiCad"从数据层推进到了界面层:11 个工具分工清晰(2 个看/点 + 3 个辅助 + 3 个剧本 + 2 个 AT-SPI + 1 个安装器),以本地套接字 + 会话令牌保证安全,以优雅降级保证健壮。设计细节可深入 docs/GUI_DRIVER_SPEC.md,工具全表见 docs/TOOL_INVENTORY.md。

【免费下载链接】KiCAD-MCP-ServerKiCAD MCP is a Model Context Protocol (MCP) implementation that enables Large Language Models (LLMs) like Claude to directly interact with KiCAD for printed circuit board design.项目地址: https://gitcode.com/gh_mirrors/ki/KiCAD-MCP-Server

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 13:00:03

自芯片顶端发光:VCSEL如何成为AI集群光互联的“快而宽”解法

垂直腔面发射激光器(VCSEL):让 AI 集群“自芯片顶端”发光 核心结论 垂直腔面发射激光器(VCSEL)是一种从芯片表面垂直发射激光的半导体光源。与传统的边发射激光器不同,VCSEL的光束垂直于衬底射出,天然具备圆形光斑、低阈值电流、晶圆级可测试性和二维阵列集成能力。在…

作者头像 李华
网站建设 2026/10/3 12:59:47

CDMA仿真原理与MATLAB实现:从扩频解扩到误码率验证

简介:面向3G移动通信学习与MATLAB仿真的CDMA技术资料包,压缩包共9个文件,包含3个MATLAB脚本、2个C源文件与2个DLL动态库、1个数据文件和1个技术文档,总大小仅626KB。文档系统讲解CDMA扩频通信原理、码片序列机制以及抗干扰、容量大…

作者头像 李华
网站建设 2026/10/3 12:59:26

VisionClaw行动后端双选指南:自建OpenClaw与云托管Gateway如何选

VisionClaw行动后端双选指南:自建OpenClaw与云托管Gateway如何选 【免费下载链接】VisionClaw Real-time AI assistant for Meta Ray-Ban smart glasses -- voice vision agentic actions via Gemini Live and OpenClaw 项目地址: https://gitcode.com/gh_mirro…

作者头像 李华
网站建设 2026/10/3 12:56:49

远程 IO 模块怎么选?2026 选购指南

远程IO模块的选型,从来不是选“最好”的品牌,而是为控制系统找到“最合适”的分布式信号入口。当EtherCAT、PROFINET、EtherNet/IP等工业总线在产线加速普及,远程IO早已不只是PLC的附属扩展,而是独立选型中的关键一环——它直接关…

作者头像 李华
网站建设 2026/10/3 12:56:18

模块化动态加载架构设计

你提到的“万能方法”在 Android 开发中并不存在,因为每个场景都有其特定的技术限制和实现方式。不过,如果你希望一个通用、灵活且可扩展的方案来实现主应用(Agent)管理多个子应用(子软件),可以…

作者头像 李华
网站建设 2026/10/3 12:55:27

操作系统基础讲解

一、计算机底层物理原理与硬件架构 1. 电信号传输与通信协议 2. CPU与GPU的架构差异 3. 半导体与逻辑计算 二、操作系统(OS) 1. 操作系统的诞生必要性 2. 操作系统的两大核心功能 3. 跨平台兼容性与语言适配 4.硬件底层原理与驱动机制 …

作者头像 李华