dsh-git-dashboard:DeepSeek Harness 倉外只讀 Git 工作區看板

在 DeepSeek Harness(DSH)的開發流程中,智能體在 web profile 中運行時,通常難以直接查看當前倉庫的 Git 狀態。dsh-git-dashboard 插件提供了一個解決方案,通過在會話頭部展示分支信息和工作區變更摘要,讓開發者在不離開工作區的情況下掌握代碼狀態。

這是 DeepSeek Harness 的倉外只讀 Git 工作區看板,由 Sombrer0-1 維護,採用 MIT 許可證。

核心功能

該插件主要提供以下能力:

  • 會話頭部信息:顯示當前分支或 detached HEAD 狀態,以及變更文件總數。
  • 工作區看板:列出已暫存、未暫存、未跟蹤及衝突的文件計數,並展示文件級變更統計(+N/−M,相對於 HEAD)。
  • 靈活標記:支持同一文件同時標記爲“已暫存”和“未暫存”。
  • 預覽與 Diff:點擊文件可查看 unified diff 預覽(包含未跟蹤文件)。若文件過大、爲二進制或存在衝突,系統會說明原因。
  • 分支比較:支持選擇基準分支,查看 ahead/behind 狀態及文件摘要。
  • 文件打開:在 loopback 且 Host 允許的情況下,可點擊文件在本地文件夾中打開。

安裝與啓用

安裝該插件需要 Node.js 環境(版本要求 ^22.19 || >=24),並確保本地已安裝 git。

  1. 安裝包:進入 web profile 目錄,使用 pnpm 安裝。
    cd ~/.dsh/profiles/web
    pnpm add dsh-git-dashboard
  1. 配置 Bundle:編輯 profile 的 package.json,將 dsh-git-dashboard 添加到 dsh.profile.bundles 數組中,並確保它位於 @deepseek-ai/dsh-base 之後。
    {
      "dsh": {
        "profile": {
          "bundles": [
            "@deepseek-ai/dsh-base",
            "@deepseek-ai/dsh-web-app",
            "dsh-git-dashboard"
          ]
        }
      }
    }
  1. 處理依賴鏈接:如果 Host 報錯提示找不到 @deepseek-ai/dsh-typert-protocol 等包,需要在插件目錄執行依賴鏈接腳本。
    cd ~/.dsh/profiles/web/node_modules/dsh-git-dashboard
    node scripts/link-runtime-deps.mjs
此腳本會將 Host 側的 peer 依賴鏈接到 profile 的 `node_modules` 中。
  1. 驗證與重啓:運行配置檢查命令,確認輸出中包含 # == dsh-git-dashboard,然後重啓 dsh web。

配置

插件支持通過 cordis.patch.yml 進行配置,默認值如下:

字段 默認值 含義
command git Git 可執行文件路徑
timeoutMs 2000 單次 git 命令超時時間(毫秒)
maxStatusBytes 1048576 git status stdout 上限
maxNumstatBytes 524288 numstat stdout 上限
maxFiles 100 列表顯示的文件數量上限
maxBranches 100 分支列表上限
maxDiffBytes 262144 單文件 diff 預覽的字節上限
maxDiffChangedLines 500 單文件預覽變更行數上限(增刪合計)

安全與注意事項

  • 網絡與權限:插件使用 Gateway 現有的 trusted-host 配置,不單獨設置 loopback-only。它會向已授權客戶端暴露倉庫名、分支名、路徑與行數統計。建議僅在 loopback 使用;若在 LAN 且 trusted host 可連,請自行評估暴露面。
  • 資源限制:爲了防止性能問題,單文件預覽變更行數默認上限爲 500 行,diff 輸出默認上限爲 256 KiB(可通過上述配置項調整)。

生態與反饋

該插件旨在豐富 DSH 的插件生態,爲開發者提供更直觀的代碼狀態監控。更多細節請訪問插件目錄或查看源碼倉庫。

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

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

小夜