dsh-engineer-tools:工程化命令的 DeepSeek Harness 插件

DeepSeek Harness(DSH)採用插件化架構,開發者常需要在 Agent 會話中執行 Git 操作或依賴管理命令。直接調用 Shell 腳本容易導致返回格式不統一,且缺乏類型約束。下面介紹 dsh-engineer-tools,它將常用工程命令封裝爲結構化的 Host Tool,讓 Agent 能夠以更聚焦、更安全的方式執行這些任務。

插件定位

dsh-engineer-tools 是由 bycall 維護的一個 DSH 插件,旨在爲工程場景提供工具支持。它包含一個作用域化的 Git 運行器和包管理器運行器,並提供了易於擴展的工具模板。插件遵循 MIT 協議,代碼爲純 ESM,無構建步驟。

核心功能

Git 工具

該工具允許 Agent 在會話工作區執行 git 子命令,支持 status、diff、log、branch、show 等。工具會返回 stdout、stderr 和 exitCode,便於後續邏輯處理。

包管理器工具

支持 npm、pnpm、yarn、bun 四種主流包管理器。可執行生命週期命令(如 install、outdated、audit)以及開發腳本(如 test、build、lint)。當指定 manager: auto 時,工具會根據 lockfile 自動識別當前項目使用的包管理器。

運行機制

所有工具以 Agent 權限運行命令,嚴格受 DSH 沙箱與審批策略限制,確保執行過程可控。

安裝與啓用

  1. 安裝插件
    使用官方安裝命令將插件添加到指定 profile(示例中使用 web profile):
    dsh plugin --profile web add dsh-engineer-tools
也可以通過本地目錄源安裝:
    dsh plugin --profile web add /path/to/dsh-engineer-tools
  1. 生效
    安裝完成後,需要重啓 DSH.app,Agent 即可在後續對話中調用 git 和 dev 工具。

  2. 卸載
    如需移除插件:

    dsh plugin --profile web remove dsh-engineer-tools

典型用法

安裝生效後,Agent 可以直接調用封裝好的工具。
* 調用 git 工具時,只需傳入具體的 git 子命令,如 git status 或 git log -1。
* 調用 dev 工具時,可指定包管理器或使用 manager: auto 自動識別。例如執行構建:dev build。

適用場景與技術注意

  • 適用場景:適用於需要在 DSH Agent 會話中頻繁進行 Git 操作或依賴管理的軟件工程場景。
  • 技術細節:
    • 插件嚴格遵循 @deepseek-ai/dsh-tool-bash 的註冊範式。
    • 依賴聲明中 peerDependencies 的版本範圍必須逐條列出,不能依賴寬鬆匹配(如 >=),否則可能破壞模塊級 Symbol 標記,導致運行時錯誤。
    • 插件通過 dsh 配置中的 bundle.patch 應用 cordis 補丁。

dsh-engineer-tools 通過標準化接口簡化了工程命令的調用流程。開發者可以參考其源碼結構,快速擴展更多符合 DSH 規範的工具。

GitHub 倉庫

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

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

小夜