Codex 接管嘉立创EDA 并复现 STM32 Blue Pill 学习底板的完整教学
1. 目标
本文只做一件事:从零开始,把你的电脑配置成 Codex -> MCP -> EasyEDA 官方 Bridge -> 嘉立创EDA Pro 的可用链路,并且复现出本文对应的最终成果:
- Codex 可以读取并调用嘉立创EDA Pro 的 API
- Codex 可以直接在嘉立创EDA Pro 里新建或修改 PCB
- Codex 可以自主生成一块
STM32 Blue Pill 学习扩展底板 - Codex 可以执行在线校验、回读板数据、运行 DRC、导出结果
本文不是概念介绍,是可操作复现文档。照着做即可。
2. 本次最终成果的定义
本次最终复现的板子是:
- 类型:
STM32 Blue Pill 学习扩展底板 - 尺寸:
3600 mil x 3200 mil - 约等于:
91.44 mm x 81.28 mm - 满足要求:不超过
10 x 10 cm - 中间:
2 x 20Blue Pill 插座 - 两侧:每个引脚都引出成学习接口
- 左侧接口顺序:
GND - 3V3 - NET - 右侧接口顺序:
NET - 3V3 - GND - 左右两侧
3V3总线板内互联 - 左右两侧
GND总线板内互联
最终实测结果:
Pads: 160Lines: 140Strings: 46DRC: 0 errors
3. 先说清楚整个链路
你复现的不是"让 AI 看懂 PCB",而是这条完整控制链:
Codex通过本地MCP Server暴露一个 EasyEDA 工具集MCP Server在本机启动或连接 EasyEDA 官方桥服务- 嘉立创EDA Pro 里安装的
Run API Gateway扩展通过 WebSocket 与桥服务连通 - Codex 发送 JavaScript 代码到桥服务
- 桥服务把代码送到嘉立创EDA Pro 内部执行
- EDA 执行真实 API,返回当前工程、PCB、图元、DRC 等结果
只要这六段全部打通,Codex 就可以直接操纵嘉立创EDA Pro。
4. 复现前的硬条件
必须满足以下条件:
- Windows 电脑
- 已安装
Node.js 20+ - 已安装
嘉立创EDA Pro - 能正常启动
Codex Desktop - 本机允许
localhost端口通信 - 你有一个可编辑的嘉立创EDA Pro 工程
建议条件:
- Node.js 版本不低于
20.17.0 - 嘉立创EDA Pro 已登录账号
- 能联网拉依赖和访问 GitHub/官方文档
5. 本机最终目录结构
以下目录就是本次成功链路所在工作目录:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda
其中关键子目录和文件:
codex-easyeda-mcp- 作用:Codex 使用的 MCP 服务
easyeda-api-skill- 作用:EasyEDA API 文档、桥服务脚本、技能说明
eext-run-api-gateway- 作用:嘉立创EDA Pro 侧运行的扩展源码
generate-stm32-bluepill-study-base.js- 作用:自动生成 Blue Pill 学习底板
verify-stm32-bluepill-study-base.js- 作用:回读板数据并校验
verify-easyeda-connection.ps1- 作用:快速验证 Bridge 与 API 是否通
6. 官方资料入口
复现时优先看官方资料,不要靠二手教程。
官方资料入口:
- EasyEDA 官方 GitHub 组织:https://github.com/easyeda
- EasyEDA API Skill 官方仓库:https://github.com/easyeda/easyeda-api-skill
- EasyEDA Pro API User Guide:https://prodocs.lceda.cn/en/api/guide/
- Invoking the Extension API:https://prodocs.lceda.cn/en/api/guide/invoke-apis.html
- Ancillary Projects / Run API Gateway:https://prodocs.lceda.cn/en/api/guide/ancillary-projects.html
本地也有一份可直接查的结构化文档:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-api-skill\references
重点用到的 API 类:
eda.dmt_Projecteda.dmt_Pcbeda.dmt_EditorControleda.pcb_Documenteda.pcb_PrimitivePadeda.pcb_PrimitiveLineeda.pcb_PrimitiveStringeda.pcb_Drc
7. 安装 Node.js
如果你还没有 Node.js,先装。
步骤:
- 访问 Node.js 官网
- 下载
LTS版本 - 完成安装
- 重开 PowerShell
验证命令:
powershell
node -v
npm -v
你只需要看到版本号,不需要纠结小版本。
8. 准备三个仓库或目录
你至少需要以下三部分内容:
easyeda-api-skilleext-run-api-gatewaycodex-easyeda-mcp
本次已经放在:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-api-skillC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\eext-run-api-gatewayC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\codex-easyeda-mcp
如果你要在另一台电脑全新复现,建议保持类似结构,避免路径混乱。
9. 安装依赖
对三个目录分别执行 npm install。
9.1 安装 easyeda-api-skill
powershell
cd C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-api-skill
npm install
9.2 安装 eext-run-api-gateway
powershell
cd C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\eext-run-api-gateway
npm install
9.3 安装 codex-easyeda-mcp
powershell
cd C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\codex-easyeda-mcp
npm install
10. 确认三个目录分别是干什么的
10.1 easyeda-api-skill
它负责:
- 提供 EasyEDA API 结构化文档
- 提供桥服务脚本
- 给 AI 一个明确的调用工作流
10.2 eext-run-api-gateway
它负责:
- 作为嘉立创EDA Pro 的扩展安装到 EDA 里
- 在 EDA 内部接收桥服务连接
- 真正执行传入的 API 代码
10.3 codex-easyeda-mcp
它负责:
- 把上面那条 Bridge 能力包装成 Codex 的 MCP 工具
- 让 Codex 直接拥有这些工具:
easyeda_statuseasyeda_list_windowseasyeda_execute_codeeasyeda_search_docseasyeda_read_doceasyeda_select_window
11. 先启动或准备嘉立创EDA Pro
这一步必须做。
操作:
- 打开嘉立创EDA Pro
- 登录你的账号
- 打开任意一个工程
- 至少打开一个 PCB 文档窗口
原因:
- 没有打开 EDA 窗口时,桥服务虽然能启动,但
edaConnected会是false - 没有 PCB 文档时,很多 PCB API 会报错
12. 安装 Run API Gateway 扩展
这一层是嘉立创EDA Pro 端的关键。
12.1 方案一:使用已有扩展项目安装
本地扩展项目目录:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\eext-run-api-gateway
这个目录中有安装脚本:
scripts\install-to-running-jlceda.mjs
它的工作方式:
- 通过本地 Chrome DevTools 协议连接运行中的嘉立创EDA Pro 页面
- 把扩展包注入并安装到当前运行实例
12.2 先构建扩展
在扩展目录执行:
powershell
cd C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\eext-run-api-gateway
npm run build
如果构建成功,通常会在 build\dist 下生成 .eext 包。
12.3 执行安装脚本
powershell
cd C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\eext-run-api-gateway
node .\scripts\install-to-running-jlceda.mjs
如果嘉立创EDA Pro 页面可被 CDP 发现,脚本会把扩展注入进去。
12.4 方案二:手工在嘉立创EDA Pro 里安装
如果自动安装不通,就手工安装:
- 打开嘉立创EDA Pro 的扩展管理
- 导入打包好的
.eext - 启用扩展
- 打开扩展开关
- 勾选允许外部交互
- 如果有"显示在顶部菜单",也勾上
12.5 安装后的可见效果
常见状态:
- 顶部菜单出现
API Gateway - 扩展处于启用状态
- 之后桥服务扫描端口时能与其完成握手
13. 启动 EasyEDA Bridge 服务
桥服务的职责是:
- 监听本机端口
49620到49629 - 等待嘉立创EDA Pro 侧扩展连接
- 提供
/health与/executeHTTP 接口
本地桥服务脚本在:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-api-skill\scripts\bridge-server.mjs
手工启动命令:
powershell
cd C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-api-skill
node .\scripts\bridge-server.mjs
注意:
codex-easyeda-mcp也会尝试自动拉起桥服务- 但你第一次排障时,建议自己手工起一次,便于观察日志
14. 验证 Bridge 是否正常
桥服务起来后,访问健康检查:
powershell
Invoke-RestMethod http://127.0.0.1:49620/health | ConvertTo-Json -Depth 8
你要重点看这几个字段:
servicestatusedaConnectededaWindowCountactiveWindowId
理想结果示例:
json
{
"service": "easyeda-bridge",
"status": "ok",
"edaConnected": true,
"edaWindowCount": 1
}
判断规则:
service = easyeda-bridge:说明不是假服务status = ok:桥服务活着edaConnected = true:EDA 端真的连上了edaWindowCount > 0:当前至少有一个可控窗口
15. 直接测试官方 HTTP 执行接口
不要一上来就测 Codex。先直接测桥服务的 /execute。
PowerShell 示例:
powershell
$body = @{
code = 'return await eda.dmt_Project.getCurrentProjectInfo();'
} | ConvertTo-Json -Compress
Invoke-RestMethod -Method Post `
-Uri http://127.0.0.1:49620/execute `
-ContentType 'application/json' `
-Body $body | ConvertTo-Json -Depth 8
如果返回当前工程信息,说明:
- Bridge 通
- EDA 执行环境通
- API 调用通
15.1 一键验证脚本
本地已经有可直接跑的验证脚本:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-easyeda-connection.ps1
执行:
powershell
cd C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda
powershell -ExecutionPolicy Bypass -File .\verify-easyeda-connection.ps1
这个脚本会:
- 检查
/health - 向
/execute提交一段 EasyEDA API 代码 - 返回版本、用户信息和 API 可用性
16. 把 EasyEDA MCP 注册到 Codex
这一层做完后,Codex 才能在会话里直接调用 EasyEDA。
本机成功配置写在:
C:\Users\李天乐\.codex\config.toml
关键配置如下:
toml
[mcp_servers.easyeda]
command = "node"
args = ['C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\codex-easyeda-mcp\server.mjs']
含义:
- Codex 启动时会注册一个名为
easyeda的 MCP 服务 - 该服务运行
server.mjs server.mjs会去查找或启动easyeda-api-skill提供的桥服务
16.1 检查是否注册成功
你可以在有相应 CLI 支持时执行:
powershell
codex mcp list
理想状态应该能看到类似:
text
easyeda node C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\codex-easyeda-mcp\server.mjs
17. 理解 codex-easyeda-mcp/server.mjs 的工作方式
这个文件是核心枢纽。
它做了几件关键事:
- 设定端口扫描范围
49620-49629 - 访问
http://127.0.0.1:<port>/health - 校验返回的
service必须是easyeda-bridge - 如果没找到桥服务,就尝试启动:
easyeda-api-skill\scripts\bridge-server.mjs
- 启动后继续等待可用端口
- 通过 HTTP 调用:
/health/eda-windows/execute
- 再把这些功能包装成 Codex 工具
这就是为什么你只要打开 Codex 并注册了 MCP,它就能"看起来像直接操纵 EDA"。
18. 在 Codex 中验证 EasyEDA MCP 是否真能工作
启动 Codex Desktop 后,让它调用:
easyeda_statuseasyeda_list_windows
理想结果:
status = okedaConnected = trueedaWindowCount >= 1- 有
windowId
如果这一步失败,就不要继续生成 PCB,先修通链路。
19. 复现用的目标板设计说明
本次设计对象是常见 STM32F103C8T6 Blue Pill 模块。
采用的 2x20 引脚顺序如下。
左排从上到下:
VBAT, PC13, PC14, PC15, PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PB0, PB1, PB10, PB11, NRST, 3V3, GND, GND
右排从上到下:
3V3, GND, 5V, PB9, PB8, PB7, PB6, PB5, PB4, PB3, PA15, PA12, PA11, PA10, PA9, PA8, PB15, PB14, PB13, PB12
这一步非常关键。
如果你的 Blue Pill 排针定义不同,整板功能逻辑会错。焊接前必须核对你手上的模块。
20. 自动生成板子的脚本
本地生成脚本:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\generate-stm32-bluepill-study-base.js
这个脚本做的事:
- 指定目标
PCB UUID - 打开并激活该 PCB
- 删除原有 Pad、Line、String
- 画外框
- 画中间 Blue Pill 插座轮廓
- 放置中间
2x20插座焊盘 - 放置左右三列学习焊盘
- 给每个信号拉出对应连线
- 铺
3V3和GND总线 - 加丝印说明文字
- 保存 PCB
- 统计当前图元数量
21. 生成脚本里的关键参数
板子整体参数:
javascript
const board = {
width: 3600,
height: 3200,
centerX: 1800,
leftSocketX: 1500,
rightSocketX: 2100,
topRowY: 2550,
rowPitch: 100,
leftGroup: { gndX: 250, vccX: 350, sigX: 450, labelX: 560 },
rightGroup: { sigX: 3150, vccX: 3250, gndX: 3350, labelX: 3040 },
body: { left: 1350, right: 2250, top: 2680, bottom: 520 },
};
这些值的作用:
width/height:板框尺寸leftSocketX/rightSocketX:Blue Pill 两列插座中心线位置topRowY:最顶排坐标rowPitch:引脚间距,100 mil = 2.54 mmleftGroup/rightGroup:左右侧学习接口三列焊盘的坐标body:中间插座外框丝印区域
22. 如何拿到你自己的 PCB UUID
这一步很重要。
生成脚本和校验脚本都用到了:
javascript
const TARGET_PCB_UUID = "9d80b0d0984573bb";
这个值不是通用值,是本次成功案例中的实际 PCB UUID。
如果你新建了自己的工程或 PCB,必须换成你自己的 UUID。
22.1 用 EasyEDA API 读取当前 PCB 信息
可以直接对 /execute 发送:
javascript
return {
project: await eda.dmt_Project.getCurrentProjectInfo(),
pcb: await eda.dmt_Pcb.getCurrentPcbInfo()
};
然后从结果里抄:
project.uuidpcb.uuid
22.2 为什么必须换 UUID
因为脚本开头会调用:
javascript
const tabId = await eda.dmt_EditorControl.openDocument(TARGET_PCB_UUID);
await eda.dmt_EditorControl.activateDocument(tabId);
如果 UUID 不对:
- 打不开目标 PCB
- 激活失败
- 后续全部失效
23. 如何执行生成脚本
23.1 方案一:通过 Codex 工具执行
这是最直接的方式。
Codex 读取脚本内容后,调用 easyeda_execute_code,把整段 JavaScript 发到 EDA 执行。
23.2 方案二:直接通过 HTTP /execute
你也可以不通过 Codex,直接 HTTP 发代码。
PowerShell 示例:
powershell
$code = Get-Content -Raw 'C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\generate-stm32-bluepill-study-base.js'
$body = @{ code = $code } | ConvertTo-Json -Compress
Invoke-RestMethod -Method Post `
-Uri http://127.0.0.1:49620/execute `
-ContentType 'application/json' `
-Body $body | ConvertTo-Json -Depth 20
如果执行成功,返回里通常会有:
- 当前
tabId - 当前
pcb - 删除的旧图元数量
- 新建图元数量
- 最终图元统计
24. 为什么这块板后来需要 reroute
这不是废话,是复现时最容易踩的坑。
最初设计里,GND 和 3V3 总线的连接方式过于直接,导致:
- 短路冲突
- 走线间距冲突
- DRC 报错
后面修正方式是:
- 左侧底部 GND 改为向下引出后再并到 GND 总线
- 右侧 GND 改为在中间区域下折后再接到 GND 总线
- 顶部
3V3总线整体抬高,避开右侧 GND 的连接线
这就是为什么最终图元统计从早期版本变成了:
Lines: 140
不是越少越好,能通过 DRC 才有意义。
25. 自动校验脚本
本地校验脚本:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-stm32-bluepill-study-base.js
它的核心逻辑:
- 打开目标 PCB
- 激活目标 PCB
- 读取当前项目信息
- 读取当前 PCB 信息
- 统计:
- Pad 数量
- Line 数量
- String 数量
- 放大到板框
- 在关键坐标取样读取图元
- 检查这些位置对应的网络名称是否正确
26. 校验脚本验证了哪些关键点
本次实际取样点包括:
(1500, 2550)应为VBAT(2100, 2350)应为5V(450, 2150)应为PA0(3150, 2250)应为PB9(350, 850)应为3V3(3350, 2450)应为GND
这些点验证的不是"画面长得像",而是:
- 坐标位置正确
- 图元存在
- 该点网络正确
27. 如何执行校验脚本
PowerShell:
powershell
$code = Get-Content -Raw 'C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-stm32-bluepill-study-base.js'
$body = @{ code = $code } | ConvertTo-Json -Compress
Invoke-RestMethod -Method Post `
-Uri http://127.0.0.1:49620/execute `
-ContentType 'application/json' `
-Body $body | ConvertTo-Json -Depth 20
本次最终成功返回值中的关键字段应当是:
json
{
"counts": {
"pads": 160,
"lines": 140,
"strings": 46
}
}
28. 如何跑 DRC
直接调用:
javascript
return await eda.pcb_Drc.check(true, false, true);
如果一切正确,最终结果应当是:
json
[]
这表示:
- 返回数组为空
- DRC 错误数量为
0
28.1 更完整的 DRC 调用示例
javascript
const project = await eda.dmt_Project.getCurrentProjectInfo();
const pcb = await eda.dmt_Pcb.getCurrentPcbInfo();
const drc = await eda.pcb_Drc.check(true, false, true);
return {
project: project ? { uuid: project.uuid, friendlyName: project.friendlyName } : null,
pcb: pcb ? { uuid: pcb.uuid, name: pcb.name } : null,
drcCount: Array.isArray(drc) ? drc.length : null,
drc
};
29. 最终应达到的实测结果
如果你完整复现成功,最终应该同时满足:
health.service = easyeda-bridgehealth.status = okhealth.edaConnected = truehealth.edaWindowCount >= 1- 当前项目可读
- 当前 PCB 可读
- 生成脚本执行成功
- 校验脚本返回
pads = 160lines = 140strings = 46
DRC = 0
只要有一项对不上,就说明你没有完整复现成功。
30. 本次成功案例中的实际项目信息
这是本次已经跑通的现场数据,用来对照:
- Project:
STM32_BluePill_Study_Base_20260528061222 - Project UUID:
641c2110522042b4b78ef2e850424ef4 - PCB:
PCB1 - PCB UUID:
9d80b0d0984573bb - EasyEDA Window ID:
fb4c4dba-9b23-432d-adae-e488a6faf91a
注意:
Project UUIDPCB UUIDWindow ID
这些值在你的环境里大概率都不一样,不要照抄。
31. 结果证明文件
本地已有两份实测证明:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-integration-proof-2026-05-28.mdC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\stm32-bluepill-study-base-proof-2026-05-28.md
其中包含:
- MCP 注册证据
- Bridge 健康状态
/execute调用结果- 项目与 PCB 回读结果
- 图元统计
- DRC 最终为
0的证据
32. 如何保存校验结果为 JSON
你可以把返回结果直接落盘,便于留证。
PowerShell 示例:
powershell
$code = Get-Content -Raw 'C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-stm32-bluepill-study-base.js'
$body = @{ code = $code } | ConvertTo-Json -Compress
$result = Invoke-RestMethod -Method Post -Uri http://127.0.0.1:49620/execute -ContentType 'application/json' -Body $body
$result | ConvertTo-Json -Depth 20 | Set-Content 'C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-stm32-bluepill-study-base.json'
33. 如何导出最终截图
本文不强制规定导出方式,但复现时建议你至少保存一张最终板图,方便对照。
常见方式:
- 在嘉立创EDA Pro 中手工导出截图
- 使用系统截图工具
- 如果扩展能力允许,调用相关导出 API
本次结果图文件在:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-bluepill-study-base-render.png
34. 如果 Codex 显示桥服务已启动但无法控制 EDA
看这几个点:
- 嘉立创EDA Pro 是否真的打开
- 扩展是否真的启用
- 是否打开了 PCB 文档
/health中edaConnected是否为true/health中edaWindowCount是否大于0
典型错误状态:
json
{
"status": "ok",
"edaConnected": false,
"edaWindowCount": 0
}
这说明:
- 只有桥服务活着
- EDA 没接上
- 不能真正控制画板
35. 如果 /execute 调用失败
常见原因:
- 扩展没装好
- 桥服务端口不对
- JavaScript 代码写错
- 当前根本没有打开目标 PCB
TARGET_PCB_UUID写错
排查顺序建议:
- 先查
/health - 再执行最简单语句:
javascript
return 123;
- 再执行:
javascript
return await eda.dmt_Project.getCurrentProjectInfo();
- 再执行:
javascript
return await eda.dmt_Pcb.getCurrentPcbInfo();
- 最后再跑生成脚本
36. 如果生成脚本执行了但板子不对
优先检查:
TARGET_PCB_UUID是否对应正确 PCB- Blue Pill 引脚顺序是否符合你的模块
- 当前单位坐标是否按脚本假设使用 mil 体系
- 是否真的删掉了旧图元
- 是否被别的内容挡住或叠层混乱
特别注意:
脚本中删除的是:
PadLineString
如果你的目标 PCB 里还有别的类型图元,脚本不会自动处理。
37. 如果 DRC 不是 0
不要自欺欺人。
只要 DRC 不为 0,就说明你的复现不是最终成功版。
优先检查这些连线:
- 左侧底部 GND 连接
- 右侧 GND 接到底部总线的中间折线
- 顶部 3V3 横向总线的位置
- 与信号线之间的净距
原则:
- 电源总线与地总线不要挤在同一水平走廊
- 需要让连接线有明确避让
- 通过 DRC 才算完成
38. 为什么这套方法是真接管,不是伪自动化
因为你不是在让 AI 输出一段"建议",而是在执行真实 API:
eda.dmt_Project.getCurrentProjectInfo()eda.dmt_Pcb.getCurrentPcbInfo()eda.pcb_PrimitivePad.create()eda.pcb_PrimitiveLine.create()eda.pcb_PrimitiveString.create()eda.pcb_Document.save()eda.pcb_Drc.check()
这些 API 都是在嘉立创EDA Pro 进程里实际执行的。
所以只要桥接在线,Codex 就不是"看着你画",而是在"代你操作 EDA 内核能力"。
39. 一套最短复现流程
如果你已经有基础,不想看长文,按这个最短流程做:
- 安装 Node.js
npm install三个目录- 构建并安装
Run API Gateway到嘉立创EDA Pro - 打开嘉立创EDA Pro,进入一个 PCB
- 启动
bridge-server.mjs - 用
/health确认edaConnected = true - 在
C:\Users\李天乐\.codex\config.toml注册easyedaMCP - 启动 Codex
- 让 Codex 调
easyeda_status - 读取当前
pcb.uuid - 把
generate-stm32-bluepill-study-base.js里的TARGET_PCB_UUID改成你的 PCB UUID - 执行生成脚本
- 执行校验脚本
- 执行
eda.pcb_Drc.check(true, false, true) - 确认
160 / 140 / 46且DRC = 0
40. 一套最稳妥复现流程
如果你第一次做,按这个顺序,不要跳:
- 装 Node.js
- 三个目录跑
npm install - 启动嘉立创EDA Pro
- 安装并启用
Run API Gateway - 手工启动
bridge-server.mjs - 用
GET /health检查桥服务 - 用
POST /execute执行return 123; - 用
POST /execute读取当前工程信息 - 用
POST /execute读取当前 PCB 信息 - 记录
pcb.uuid - 修改生成脚本中的
TARGET_PCB_UUID - 执行生成脚本
- 执行校验脚本
- 跑 DRC
- 保存 JSON 与截图
- 再启动 Codex 并通过 MCP 重复一次读取和校验
41. 你应该保留哪些文件
建议保留以下文件,后续直接复用:
C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\generate-stm32-bluepill-study-base.jsC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-stm32-bluepill-study-base.jsC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-easyeda-connection.ps1C:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\verify-stm32-bluepill-study-base.jsonC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-bluepill-study-base-render.pngC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\easyeda-integration-proof-2026-05-28.mdC:\Users\李天乐\Documents\Codex\2026-05-28\codex-ai-eda\stm32-bluepill-study-base-proof-2026-05-28.md
42. 你后续如何扩展这套系统
当你把本篇复现通后,后续可以继续做:
- 让 Codex 自动新建工程和 PCB
- 让 Codex 自动放置标准接口座
- 让 Codex 自动生成 ESP32、Arduino、STM32 Nucleo 学习底板
- 让 Codex 自动做引脚映射检查
- 让 Codex 自动跑 DRC 并自修复部分冲突
- 让 Codex 自动导出 Gerber、BOM、3D 文件
但前提永远是:
- 桥服务通
- EDA 窗口通
- 当前 API 真能执行
43. 本文最重要的结论
你真正要复现的不是某一张板子,而是这条能力链:
Codex -> MCP -> EasyEDA Bridge -> Run API Gateway -> 嘉立创EDA Pro API -> 实际 PCB 操作
只要这条链是活的,Codex 就可以:
- 读工程
- 读 PCB
- 画焊盘
- 画走线
- 加丝印
- 保存
- 校验
- 跑 DRC
这就叫可用的"自主画 PCB"能力。
44. 复现完成的判定标准
只有同时满足下面全部条件,才算你从零复现成功:
- 你能得到
service = easyeda-bridge的/health - 你能让
edaConnected = true - 你能成功执行
eda.dmt_Project.getCurrentProjectInfo() - 你能成功执行
eda.dmt_Pcb.getCurrentPcbInfo() - 你能用脚本生成目标板
- 你能回读出
160 pads / 140 lines / 46 strings - 你能让
eda.pcb_Drc.check(true, false, true)返回空数组
少一条都不算完整复现。
45. 本文结束前的最后提醒
三件事必须记住:
PCB UUID不通用,换环境必须重新读取Blue Pill引脚顺序要对照你手上的模块DRC = 0才能称为最终成功版
做不到这三条,就不要说自己"完全复现"了。