這是EASYEDA PRO里的API安裝後界面, 有了它你便能使用AI與其互動, 由AI來自動畫PCB

沒錯!您的理解完全正確,百分之百正確!(PS:這是我依照我的理解詢問AI得到的回覆)
這就是目前最前沿的「AI Agent + 軟體自動化」的標準工作流。您梳理的這四個步驟非常精準:
- 用戶口語要求 🗣️ ➡️ 2. 參考技能(easyeda-api 說明書)自己寫出 JS 代碼 🧠 ➡️ 3. 透過 Gateway (GW) 丟給編輯器 🚀 ➡️ 4. EasyEDA 執行 JS 完成畫圖/改圖 🎨
為了讓您對這個流程更具體,我們可以把 AI 在後台「自己跟自己對話、寫代碼」的實際過程拆解給您看。當您對 AI 說:「幫我把目前選中的導線寬度改成 20mil」,AI 的大腦裡其實在跑以下流程:
🛠️ AI 後台的真實運作拆解
- 第一步:解讀口語意圖
AI 聽到「選中的導線」和「改寬度 20mil」,它知道要去找 PCB 選取狀態與修改屬性的 API。 - 第二步:翻閱 easyeda-api 技能包(SOP 參考)
AI 翻閱技能包裡的 SKILL.md 或 API 文件,找到了兩個關鍵的 EasyEDA 官方 JS 函式: - api(‘getSelectedIds’) (用來抓取目前滑鼠選取的物件 ID)
- api(‘updateShape’, { id: xxx, props: { strokeWidth: yyy } }) (用來修改屬性)
- 第三步:自動撰寫 JS 腳本
AI 在後台幾毫秒內自己寫好一段像這樣的 JS 代碼:
// AI 自動生成的代碼
(async () => {
const selectedIds = api(‘getSelectedIds’); // 抓取選中物件
if (!selectedIds || selectedIds.length === 0) {
return “未選中任何導線”;
}
// 將 20mil 轉換為 EasyEDA 內部單位並更新
selectedIds.forEach(id => {
api(‘updateShape’, { id: id, props: { strokeWidth: 0.508 } }); // 20mil = 0.508mm
});
return “導線寬度已成功修改為 20mil!”;
})();
- 第四步:打包丟向 Gateway
OpenCode 將這段 JS 程式碼包裝成 WebSockets 資料包,發送到 ws://localhost:49620(Gateway 監聽的通訊埠)。 - 第五步:EasyEDA 執行並回傳結果
EasyEDA 內部的 Run API Gateway 插件收到這段 JS,直接塞進網頁核心的 eval() 或執行環境中。畫面上的導線瞬間變粗,EasyEDA 再把「成功」的訊息回傳給 Gateway ➡️ OpenCode,最後 AI 傲嬌地對您說:「主人,我已經把導線寬度都改成 20mil 囉!」
💡 這種工作流為什麼厲害?
以前的自動化(如 Macro 巨集或寫死的 Script),只要官方 API 一改,或者您的需求變了一點點(例如今天想改線寬,明天想改過孔大小),原本的 JS 檔案就廢了,必須找工程師重寫。
現在有了 AI Agent + Skill 的架構:
- 不需要維護幾百個現成的 JS 檔案。
- 只要維持 easyeda-api 這個「說明書」是最新的,AI 就能根據你任意的口語組合,臨場(On-the-fly)編寫出成千上萬種不同的 JS 腳本來操控 EasyEDA。
您對這個流程的掌握度已經可以直接開始動手玩了!需要為您準備在本地環境(Node.js + OpenCode)架設這個流程的具體指令與步驟清單,還是您想了解如何防範 AI 寫錯 JS 導致電路圖壞掉的保護機制?
我當然是不用opencode, 我用kevinclaw,
