前言¶
DeepSeek Harness 的 minimal 預設通常能提供更穩定的模型行爲。但當需要使用 standard、code 或 cordis 等模式的複雜工具集時,模型容易因 schema 過大而表現不穩定。dsh-ark 通過“凍結 wire 表面、側信道擴展”的思路,解決了這一矛盾。它將 Ark 系列預設統一凍結在 minimal 的 wire 表面(bash + str_replace_editor),將原本需要注入模型的複雜工具、指令和技能,改爲通過 dsh-ark CLI 側信道按需代理執行。
是什麼¶
dsh-ark 是 DeepSeek Harness 的 Ark 模式插件,由用戶 leike0813 維護,採用 MIT 許可證。
它的核心價值在於提供三個凍結的 minimal wire 預設,並通過 CLI 側信道提供擴展能力。這使得開發者既能獲得 minimal 預設的穩定性,又能通過側信道訪問 standard、code 或 cordis 目錄下的完整能力目錄。
核心功能¶
- 三個凍結預設:提供
ark(對應 standard)、ark-code(對應 code)、ark-cordis(對應 cordis)三個預設。這些預設的模型請求中僅包含bash和str_replace_editor工具,避免大而雜的 schema 干擾。 - 側信道擴展:通過
dsh-arkCLI 封裝指令、技能、工具、MCP 和宿主橋等能力。模型通過一條 bash 命令觸發,由 CLI 代理執行。 - 動態依賴解析:運行時動態解析依賴,不依賴固定的
@deepseek-ai/dsh-*registry 版本。 - 宿主橋:Phase 2 引入經過認證的 Unix socket 橋接機制,用於與宿主插件交互。
安裝與啓用¶
- 安裝插件:
dsh plugin --profile web add dsh-ark
- 啓動 Harness:
dsh web
安裝後,宿主插件會在啓動時爲每個預設生成對應的 $DSH_HOME/.agent-presets/<mode>/shellrc.sh,並導出 DSH_ARK_MODE(standard、code 或 cordis)和 DSH_ARK_WORKSPACE。確保配置輸出中包含 agent-presets.default: ark 以及 ark、ark-code、ark-cordis 預設。
典型用法¶
在客戶端中選擇對應的 Ark 預設(如 Ark、Ark-Code、Ark-Cordis)後,可在終端中直接運行 dsh-ark 命令。
- 查看會話指引:
dsh-ark guide
- 列出可用工具:
dsh-ark tools list
- 調用工具(需 JSON 格式參數):
dsh-ark tools call read '{"file_path":"/tmp/x"}'
- 查看 MCP 配置:
dsh-ark mcp list
- 查看橋接狀態:
dsh-ark bridge status
運行時與退出碼¶
- 依賴管理:運行時從不導入固定的
@deepseek-ai/dsh-*registry 版本,而是從DSH_ARK_DSH_PACKAGES_DIR或$DSH_HOME/profiles/node_modules解析依賴圖。 - 橋接通信:Phase 2 使用 Unix socket (
$DSH_HOME/ark/bridge.sock) 進行橋接,文件權限爲 0600。 - 退出碼:
0:成功2:用法錯誤3:未找到4:不可用5:上游/IO/執行失敗124:超時
本地測試¶
若要在本地驗證構建,可運行:
pnpm run test:publish
此命令會執行打包、重寫 profile 依賴、並重新安裝插件。
適用場景¶
適合需要在 DSH 中使用標準/代碼/cordis 能力,但又希望保持模型穩定性的開發者。插件以當前 DSH 進程權限運行,使用前建議檢查源碼與許可證。
更多細節可參考項目倉庫:https://github.com/leike0813/dsh-ark