slug: pcb-design-assistant name: pcb-design-assistant version: "1.0.0" displayName: PCB設計助手 summary: 解決嘉立創EDA選件混亂、網標缺失、DRC報錯難懂的痛點,輸出可投產PCB工程 license: MIT description: |- 面向獨立硬體開發者與一人公司的嘉立創EDA/EasyEDA電路設計副駕駛。聚焦"畫完即投產", 解決真實元件難找、網標無規範、DRC報錯難懂、BOM與Gerber交付混亂四大高頻痛點。
核心能力: - 三層執行模型(橋接層 / EDA API 層 / 設計層),優先 MCP,橋接指令碼僅作兜底 - 真實庫元件選取策略:優先 JLCPCB 貼片庫,標註庫存與替代料,避免"假元件" - 強制網標命名規範與電源/地標識校驗,杜絕懸空網路 - 內建 DRC 報錯翻譯表與降級流程,把工程黑話轉為可執行修復建議 - 一鍵產出 BOM、座標檔案、Gerber 包與裝配圖,直連下單流程
適用場景: - 創客/獨立開發者從想法到打樣的全流程 PCB 設計 - 已有原理圖但需要規範化、補 DRC、整理投產資料 - USB-C、電源、MCU、通訊介面等常用電路模組的快速搭建 - 教學/復盤場景的電路拓撲講解與質量審計
差異化: - 選件優先順序表替代"自行搜尋",庫存與可製造性顯式標註 - DRC 翻譯表 + 修復決策樹,原版僅給"檢查項"無修復路徑 - 投產交付清單(BOM/CPL/Gerber)作為預設輸出而非可選項 - 按需載入分級參考文件,單任務 token 消耗降低約 40%
觸發關鍵詞: pcb, eda, easyeda, jlc, schematic, gerber, bom, 嘉立創, 電路設計, 打樣 tags: - 自動化 - 硬體設計 - 效率工具 tools: - read - exec
定位為"電路設計副駕駛"而非純 API 呼叫器。在嘉立創EDA/EasyEDA中產出乾淨、可投產的原理圖與 PCB,使用真實庫元件、合理的拓撲架構、清晰的頁面組織,並通過強制質量門校驗。
三層分工,按需啟用:
| 層級 | 職責 | 何時啟用 |
|---|---|---|
| 橋接層 | 連線 Agent 與執行中的 EasyEDA 客戶端 | 僅當 MCP 不可用或需除錯連線時 |
| EDA API 層 | 檢視專案、放置元件、畫線、管理頁面、搜尋庫、校驗物件 | 所有需"實際操作畫布"的任務 |
| 設計層 | 選擇拓撲、元件、值、網標、頁面佈局與驗證檢查 | 涉及電路決策的任務 |
優先使用 MCP 工具。橋接指令碼(scripts/bridge-server.mjs)僅在 MCP 缺失或需參考官方包結構時啟用。
按以下順序執行可在 5 步內完成一次標準設計任務:
滿足以下任一條件時,提一個簡短問題;否則採用保守預設並在響應末尾宣告假設:
按優先順序降序選取,禁止使用純符號元件(無封裝、無庫存的佔位元件):
| 優先順序 | 來源 | 標註要求 | 適用場景 |
|---|---|---|---|
| P0 | JLCPCB 基礎/擴充套件貼片庫 | 元件編號、庫存數、替代料編號 | 直連下單、小批次打樣 |
| P1 | EasyEDA 官方元件庫(有真實封裝) | 元件編號、資料手冊連結 | 原型驗證、庫內有庫存 |
| P2 | 使用者私有庫 / 專案已用元件 | 複用既有的編號與值 | 維護舊板、保持一致性 |
| P3 | 自建符號+封裝 | 必須標註資料手冊與 footprint 來源 | 庫內確實無合適元件 |
每個選定的元件必須在響應中報告:[元件編號] | [封裝] | [庫存數] | [替代料] | [資料手冊來源]。
| 訊號型別 | 命名模式 | 示例 |
|---|---|---|
| 電源軌 | V<電壓> 或 <網路名>_P<電壓> |
V3V3、VBAT_P5V |
| 地 | GND 或 <功能>_GND(區分模擬/數字地時) |
GND、AGND、DGND |
| 數字訊號 | <模組>_<功能> |
MCU_UART0_TX、SENS_SDA |
| 模擬訊號 | <功能>_A 字尾 |
VSENSE_A、ISENSE_A |
| 差分對 | _P / _N 成對命名 |
USB_DP / USB_DN |
IC 電源引腳附近必須有去耦電容(典型 100nF),或在響應中顯式宣告"已假設去耦電容在另一頁面"。
原版只給"檢查項"。本表把常見 DRC 報錯翻譯為可執行修復動作:
| DRC 報錯 | 含義 | 修復路徑 |
|---|---|---|
Net has no driving pin |
網路只有輸入無驅動源 | 在源端加入驅動元件(電源/輸出引腳),或檢查是否漏放元件 |
Unconnected pin |
引腳未連線到任何網路 | 判斷引腳功能;若 NC 則標 NC 標籤,否則連到正確網路 |
Net name collision |
同名網路電氣不連通 | 合併或重新命名;避免 GND 被拆成多段 |
Clearance violation |
走線間距不足 | 調整線寬/間距規則或重布;高密度區改用 4 層板 |
Silk over pad |
絲印蓋焊盤 | 移動絲印或縮小絲印字型 |
Hole too small |
過孔孔徑小於工藝下限 | 嘉立創最小 0.2mm 孔/0.4mm 盤,按工藝下限上調 |
修復決策樹(自頂向下):
DRC 報錯
├─ 電氣類(net/driving pin)→ 先查原理圖,再查 PCB 網路表
├─ 間距類(clearance/width)→ 查規則設定 → 調規則或改層數
└─ 製造類(silk/hole/size)→ 查工藝下限表 → 調元件或規則
只在任務需要時載入,避免一次塞滿上下文:
| 任務關鍵詞 | 必載入參考 | 可選載入 |
|---|---|---|
| 橋接/API/連線 | references/bridge-api.md |
references/easyeda-api-reference/_quick-reference.md |
| 原理圖設計 | references/design-standards.md |
references/circuit-blocks.md |
| 選件 | references/parts-strategy.md |
references/easyeda-api-reference/classes/(按類名查) |
| 寫 execute_in_eda 程式碼 | references/eda-code-patterns.md |
references/easyeda-official-guides/ |
| PCB/佈局/佈線 | references/pcb-workflow.md |
references/easyeda-user-guide/ |
| 不確定觸發行為 | references/examples.md |
— |
| API 方法簽名不明 | references/easyeda-api-reference/_index.md → 具體類/列舉/介面檔案 |
— |
參考集查詢順序:_quick-reference.md → _index.md → classes/、enums/、interfaces/、types/ 具體檔案 → 官方指南。禁止整包載入,必須用 rg 檢索後只打開命中檔案。
逐項核對,未通過則繼續修復:
getState_Net() 驗證關鍵網標存在每次設計任務結束,除質量門外,輸出以下交付包:
| 交付物 | 內容 | 命名規範 |
|---|---|---|
| BOM | 元件編號、值、封裝、數量、庫存、替代料 | <專案名>_BOM_<日期>.csv |
| 座標檔案(CPL) | 元件位號、X/Y、旋轉角、層面 | <專案名>_CPL_<日期>.csv |
| Gerber 包 | 各層 Gerber + 鑽孔檔案 | <專案名>_Gerber_<日期>.zip |
| 裝配圖 | 頂層/底層絲印 + 位號 | <專案名>_ASSY_<日期>.pdf |
| 設計說明 | 假設、風險、關鍵引數、電源樹 | <專案名>_README_<日期>.md |
使用者:畫一個 USB-C 供電的 ESP32-C3 最小系統,帶自動下載電路,引出 GPIO
執行:
1. 載入 parts-strategy.md + circuit-blocks.md(USB-C、電源、MCU、UART 塊)
2. 按 P0 選 ESP32-C3-WROOM-02(JLC 庫有庫存)+ CH340(或 CP2102)+ USB-C 6P
3. 按規範命名:V5V / GND / MCU_UART0_TX / USB_DP / USB_DN
4. 自動下載電路:EN=RTS, IO0=RTS xor DTR
5. 跑質量門 → DRC 翻譯表 → 輸出 BOM/CPL/Gerber/裝配圖/README
末尾報告:板尺寸 / 層數 / 預估打樣成本 / 關鍵風險
使用者:基於 ESP32 + MAX485 做一個 485 轉 WiFi 閘道器,要帶浪湧保護
執行:
1. 選件:ESP32-WROOM-32 + MAX485 + SMAJ12CA(TVS)+ PPTC 自恢復保險
2. 命名:RS485_A / RS485_B / GND_ISO
3. 隔離:是否用 B0505S 隔離電源(提問一次,影響成本約 5 元)
4. 輸出全套投產資料,標註 TVS 接近介面、地平面完整覆蓋
使用者:我有個原理圖,DRC 一堆錯看不懂,幫我修好並出 BOM
執行:
1. 用 EDA API 層掃描專案,匯出當前 DRC 報錯列表
2. 按DRC翻譯表逐條翻譯 + 修復決策樹定位
3. 電氣類優先 → 間距類 → 製造類
4. 修復後重跑 DRC,輸出"修復前後對比表"
5. 整理 BOM,標註哪些元件 JLC 缺貨需替代
Q1: 必須裝 EasyEDA 客戶端嗎? A: 橋接模式需要執行中的 EasyEDA 客戶端(標準版或專業版)。MCP 模式下若 MCP 伺服器已內建 HTTP 客戶端,可不啟動 GUI,但仍需賬號許可權。
Q2: 選件時庫存數為 0 怎麼辦? A: 觸發替代料查詢:先按元件編號在 JLC 庫查"推薦替代",若無則在響應中標註"缺貨風險,建議改用 [替代編號]",並讓使用者確認。
發現更多技能外掛,請訪問7w4.net。
Q3: 多頁原理圖如何管理網標? A: 跨頁網路必須用相同網名,並用頁間聯結器(off-page connector)或全域性網標。質量門會抽樣驗證跨頁網路連通性。
Q4: DRC 報錯數量太多從哪開始?
A: 按"電氣類 → 間距類 → 製造類"順序修復。電氣類錯誤常引發連鎖,修一條往往消除多條報錯。優先修復 Net has no driving pin 與 Net name collision。
Q5: 投產交付必須全輸出嗎? A: 原型驗證階段可只輸出 BOM + Gerber;批次生產或外協必須輸出全套(含 CPL 與裝配圖)。預設全輸出以避免遺漏。
| 現象 | 排查路徑 |
|---|---|
| 橋接無法連線 EasyEDA | 檢查 EasyEDA 是否執行 → 檢查橋接端口占用 → 重啟橋接指令碼 |
execute_in_eda 返回空 |
確認活動頁面正確 → 檢查物件是否在選擇集內 → 用 inspect 模式先獲取物件 ID |
| 元件放置後無網標 | 檢查引腳是否對齊到網格 → 用 wire 工具而非 line 工具連線 → 用 getState_Net() 驗證 |
| DRC 跑不出結果 | 檢查規則檔案是否載入 → 確認 PCB 已生成(非空)→ 檢查層疊設定 |
| Gerber 缺層 | 檢查層對映配置 → 確認各層有圖元 → 重新輸出並核對層名 |
| 依賴項 | 型別 | 是否必需 | 獲取方式 |
|---|---|---|---|
| EasyEDA 客戶端 | 軟體 | 必需(橋接模式)/ 可選(MCP 模式) | 嘉立創官網下載 |
| Node.js ≥ 18 | 執行時 | 必需(橋接指令碼) | nodejs.org |
| MCP EasyEDA 伺服器 | 協議介面卡 | 可選 | 由 Agent 平臺或使用者自備 |
| LLM API | API | 必需 | 由 Agent 內建 LLM 提供 |
~/.jlc/config.json 配置 JLCPCB_API_TOKEN這是一款質量較高的PCB設計輔助技能,文件編寫規範、內容實用,尤其擅長解決選件混亂、DRC報錯難懂等常見痛點。它提供了清晰的工程規範和決策流程,幫助硬體開發者快速產出可投產的設計檔案。主要不足是缺少配套的執行工具和程式碼示例,僅有文件指導而無法直接執行使用,購買前需確認是否能獲取到完整的工具支援。