dsh-zcode-git:DeepSeek Harness 的結構化 Git 工具集

DeepSeek Harness (DSH) 採用“一切皆插件”的架構,智能體在開發流程中常需調用 Git 進行版本控制。直接使用 shell 命令(如 bash)存在隱患:輸出格式受用戶配置(如 pager、color、quotepath)影響,且寫入操作(如 commit)缺乏統一的權限控制。

dsh-zcode-git 是一個爲 DSH 智能體設計的結構化 Git 工具集,旨在替代 shell 調用。它將 git 操作封裝爲可預測的工具函數,輸出格式固定,且所有寫操作均通過 Harness 的批准服務(approval service)執行,確保安全性。

核心功能

該插件提供以下六種工具,均默認讀取當前會話工作目錄下的倉庫:

  1. git_status(只讀)

    • 獲取當前分支、上游分支信息。
    • 返回領先/落後、暫存/修改/衝突/未跟蹤/忽略的文件列表。
  2. git_diff(只讀)

    • 生成統一格式的差異(unified diff)。
    • 返回每文件的行數統計。
    • 支持按路徑(paths)、暫存或上下文行數(contextLines)進行作用域限定。
  3. git_log(只讀)

    • 返回提交記錄,包含哈希值、作者、日期和摘要。
    • 支持通過 limit 限制數量,或通過 paths 和 revision 縮小查詢範圍。
  4. git_branch(讀寫)

    • 支持 list(列出)、create(創建)、switch(切換)和 delete(刪除)。
    • 寫入操作必須經過批准。
  5. git_commit(寫入)

    • 可選暫存指定路徑,然後提交信息。
    • 寫入操作必須經過批准。
  6. git_stash(讀寫)

    • 支持 list(列出)、push(暫存)、pop(應用並刪除)、apply(應用)和 drop(刪除)。
    • 寫入操作必須經過批准。

安裝與啓用

安裝該插件會自動更新 Harness 的配置。

dsh plugin --profile web add dsh-zcode-git

安裝後需重啓 Harness,因爲插件是通過配置文件加載的。

系統要求與注意事項

  1. 環境依賴

    • 系統路徑中必須存在 git 二進制文件。
    • DeepSeek Harness 版本需滿足:>=0.1.5-rc.2 <0.1.6-0 || >=0.1.6-alpha.1 <0.2.0-0 || >=0.1.7-alpha.1 <0.2.0-0。
    • Node.js 版本需 >=20。
  2. 執行機制

    • 插件不依賴 shell,而是通過 argv 數組直接調用 git,避免 shell 轉義和注入風險。
    • 字段分隔符爲 %x1f(文件分隔符),而非 ZCode 使用的 %x00。
  3. 輸出限制

    • 爲了保持 Prompt 形狀穩定,git_status 輸出會被截斷至 2k 字符。
  4. 已知缺陷

    • 當會話當前工作目錄(CWD)位於倉庫子目錄時,插件可能返回空結果,因爲倉庫根目錄相對路徑未被正確處理。

生態與鏈接

dsh-zcode-git 是 DeepSeek 生態中一個專注於 Git 版本控制的結構化工具,遵循 MIT 許可證。如需查看源碼、提交問題或查看目錄頁,請訪問:

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

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

小夜