前言¶
在 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 倉庫地址爲: