AmethystLuna/embedded-workbench:嵌入式 C/C++ 固件開發的 DSH 插件

前言

在 DSH 這類以插件擴展會話能力的工具裏,開發者常需要把特定領域規則注入模型上下文。嵌入式 C/C++ 固件開發尤其明顯:FreeRTOS、中斷、NVM 存儲、Keil MDK(AC5/AC6)、ARMCLANG、HardFault 分析、狀態機、LVGL 等約束,不能只靠通用代碼生成。

下面介紹 AmethystLuna/embedded-workbench。這是一個面向嵌入式固件開發的插件倉庫,併爲 DeepSeek Harness(DSH)提供原生 cordis bundle。

這是什麼

AmethystLuna/embedded-workbench 是一個嵌入式 C/C++ 固件開發工具箱。資料中的一句話定位是:覆蓋 FreeRTOS、中斷、NVM 存儲、Keil MDK(AC5/AC6)、ARMCLANG、HardFault 分析、狀態機、架構原則、LVGL 陷阱。

倉庫維護者爲 AmethystLuna,許可證爲 MIT。已抓取資料可確認 npm 包名爲 dsh-embedded-workbench,版本爲 0.8.4;要求 Node 引擎 >=20,DSH 引擎 dsh >=0.1.0-rc.7,兼容 profiles 爲 headless。peerDependencies 中可確認存在 @deepseek-ai/cordis,完整版本約束未在已覈實資料中給出。

核心組件

技能

README/package.json 描述中提到“8 個技能”,但已抓取 README 技能表只列出下表 7 個技能;logicprobe 已拆分爲獨立插件。

技能 資料中的說明
embedded-workbench 引導技能:工作流、策略、子代理映射、主動建議、跨平臺工具映射、文檔模板
debug-methodology 8 條調試鐵律、修復準則、迭代調試案例研究
embedded-firmware-dev FreeRTOS、中斷、NVM 存儲、異步生命週期、邊界分析、架構原則、LVGL 陷阱
keil-mdk-build UV4 CLI、ARM Compiler 5/6、.map 分析、合併打包、構建診斷
c-cpp-dev C/C++ 代碼生成、風格、內存佈局、重構
state-machine-design 狀態模型、重試、超時、轉換門控、實現模式
hardfault-triage 處理器異常分類:故障寄存器、棧幀、PC 定位源碼、根因分類

代理

資料列出 4 個代理:

代理 說明
architecture-steward 只讀規劃:設計包、模塊邊界、切片拆分
design-reviewer 設計文檔事實覈查:逐條覈驗聲稱與代碼庫事實
execution-worker 計劃 → 審批 → 實施循環,含編譯驗證
quality-coordinator 實現審查:Bug 發現、合規檢查、結束完整性

在 DSH 原生 bundle 部分,資料稱這 4 個自定義 agent 有意不移植,而 DSH 原生 subagent 工具已覆蓋並行多 agent 工作。

DSH 首步門禁

該插件爲 DSH 提供原生 cordis bundle,並註冊模型可見目錄條目 cordis_inspect。bundle 會在每個 agent 會話的第一個模型步驟注入 1% Rule、Red Flags 與 Plan Verification Gate 相關門禁文本。

README 稱 Plan Verification Gate 依賴 logicprobe;logicprobe 已拆分爲獨立插件。

安裝與啓用

DSH

README 故障排查中給出的 DSH 原生 bundle 安裝命令是:

dsh plugin add "github:AmethystLuna/embedded-workbench"

如果使用 web profile,注意 npm 包名是無 scope 的 dsh-embedded-workbench。package.json 的依賴鍵與 dsh.profile.bundles 都必須寫 dsh-embedded-workbench,否則 DSH 加載器會因找不到 node_modules/dsh-embedded-workbench 而啓動失敗。

其他平臺

資料中還給出以下平臺安裝方式。

Claude Code

先修改 ~/.claude/settings.json,在 extraKnownMarketplaces 中加入 marketplace:

{
  "extraKnownMarketplaces": {
    "embedded-workbench": {
      "source": {
        "source": "github",
        "repo": "AmethystLuna/embedded-workbench"
      }
    }
  }
}

然後執行 CLI 安裝:

claude plugin install embedded-workbench@embedded-workbench

也可以手動克隆到 Claude 插件目錄:

git clone https://github.com/AmethystLuna/embedded-workbench.git ~/.claude/plugins/dev/embedded-workbench

再在 ~/.claude/settings.json 中啓用:

{
  "enabledPlugins": {
    "embedded-workbench@dev": true
  }
}

Codex CLI

添加 marketplace 後安裝:

codex plugin marketplace add AmethystLuna/embedded-workbench
codex plugin install embedded-workbench

也可以手動克隆:

git clone https://github.com/AmethystLuna/embedded-workbench.git ~/.codex/plugins/embedded-workbench

技能可通過 $debug-methodology 等形式調用。

Cursor

克隆到 Cursor 插件目錄:

git clone https://github.com/AmethystLuna/embedded-workbench.git ~/.cursor/plugins/embedded-workbench

或通過插件市場 UI 執行:

/add-plugin AmethystLuna/embedded-workbench

Kimi CLI

通過 Kimi 插件管理器安裝:

/plugins install https://github.com/AmethystLuna/embedded-workbench.git

或手動克隆:

git clone https://github.com/AmethystLuna/embedded-workbench.git ~/.kimi/plugins/embedded-workbench

技能可通過 /skill:debug-methodology 等形式調用。

OpenCode

在 opencode.json 的 plugin 數組中添加:

{
  "plugin": [
    "embedded-workbench@git+https://github.com/AmethystLuna/embedded-workbench.git"
  ]
}

ZCode

ZCode 沒有插件商店,資料中給出手動複製方式:

git clone https://github.com/AmethystLuna/embedded-workbench.git
cp -r embedded-workbench/skills/* .zcode/skills/

技能可通過 $skill-name 調用。

DSH 配置

DSH bundle 支持以下配置項:

鍵 類型 默認值 說明
enabled boolean true 設爲 false 可關閉首步 Gate 注入
gateContent string 內置 gate 文本 覆蓋注入到首輪模型上下文中的文本

在 profile 的 cordis.patch.yml 中可按 id: embedded-workbench 覆蓋:

- insert:
    - id: embedded-workbench
      name: 'dsh-embedded-workbench'
      config:
        enabled: true
        gateContent: |
          ...

修改配置後需要重啓 DSH。

典型用法

  • 在 DSH 會話中,可以說“用 Multi-Agent Workflow”,或調用 Skill("embedded-workbench") 加載完整工作流系統。
  • 領域技能會在任務匹配其 Use when 描述時自動激活。README 提到 NOT 子句用於防止誤觸發,例如純格式化不會加載 c-cpp-dev。
  • 在 Codex CLI 中,技能可通過 $debug-methodology 等形式調用。
  • 在 Kimi CLI 中,技能可通過 /skill:debug-methodology 等形式調用。
  • 在 ZCode 中,技能可通過 $skill-name 調用。

適用場景與注意

適合需要在 DSH、Claude Code、Codex CLI、Cursor、Kimi CLI、OpenCode 或 ZCode 中加載嵌入式 C/C++ 領域技能的開發者。尤其適合希望把調試方法、固件約束、Keil 構建、狀態機設計、HardFault 分析等規則納入會話上下文的場景。

插件以當前 DSH 進程權限運行,安裝前應檢查源碼、MIT 許可證與 profile 配置。資料給出的 DSH 權限邊界是:

  • 運行時只讀取包內 skills/ 目錄,用於通過 DSH 標準 filesystem skill provider 註冊技能。
  • 會話首輪向模型上下文注入配置好的 gate 文本。
  • 不讀取憑據、不發起網絡連接、不訪問 DSH 會話上下文之外的用戶數據。
  • 實際使用技能時,模型會像使用其他編碼技能一樣,按用戶指示讀取項目文件。

其他注意:

  • DSH 技能不可見時,確認 DSH 版本支持 ctx.skills / Agent Skills 發現,並在安裝後重啓 profile。
  • Gate 未注入時,檢查 enabled 是否爲 false,以及 cordis.patch.yml 中是否存在 id: embedded-workbench 行。
  • 插件管理器拒絕安裝時,確認 @deepseek-ai/* 包聲明在 peerDependencies 中,而不是 dependencies。
  • 手動複製後 DSH 仍看不到技能時,改用原生 bundle 安裝命令:
  dsh plugin add "github:AmethystLuna/embedded-workbench"
  • 安全漏洞不要公開創建 issue。資料建議使用 GitHub Security Advisory 或 SECURITY.md 中的聯繫方式私下報告。
  • logicprobe 已拆分爲獨立插件;README 稱 Plan Verification Gate 依賴 logicprobe。

結尾

AmethystLuna/embedded-workbench 的價值,是把嵌入式固件開發中常見的領域規則、調試方法和 DSH 首步門禁打包成可安裝的插件。已覈實資料未給出目錄頁鏈接;GitHub 倉庫地址爲:

https://github.com/AmethystLuna/embedded-workbench

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜