dsh-diff-context:爲 DSH 提供只讀、緊湊的 Git diff 上下文

前言

在 DeepSeek Harness(DSH)裏做代碼審查或改動的跟進時,模型需要知道「改了哪些文件、增刪多少行、hunk 長什麼樣」。常見做法是整段粘貼 git diff,體積大、噪聲多,還容易把未跟蹤文件或無關上下文一併塞進去。下面介紹社區插件 dsh-diff-context(維護者 lengrufeng2008,分類:工作流):它在本機讀取 Git 差異,輸出結構化、有邊界的 diff 摘要,且不調用模型、不發起網絡請求。

這是什麼

dsh-diff-context 的定位是:Read-only compact git diff context —— 文件列表、增刪行數、hunk 文本,只讀、緊湊。倉庫地址:GitHub;社區目錄頁:SkillHub。SkillHub 與 DeepSeek / 幻方無官方從屬關係,DSH 生態採用「一切皆插件」的思路,插件在獨立站點收錄。

許可證爲 MIT(README Provenance);package.json 中版本 0.1.0,要求 Node.js >= 20。

核心功能

插件自述爲小型獨立 diff 讀取器,能力以 README 爲準:

  1. 工作區或暫存區 diff:通過 CLI 指定路徑,可選 --json 或 --staged。
  2. 在 DSH 內調用:通過技能/指令使用 diff_context 針對當前倉庫(見下文典型用法)。
  3. 邊界明確(Limits):
    - 不包含未跟蹤文件(No untracked files)
    - 不做語義或風險分析(No semantic/risk analysis)
    - 不執行測試(No test execution)
    - hunk 文本有長度上限;輸出不是審查結論或批准(Bounded hunk text; not a review approval)

安裝與啓用

目錄頁「發送給 DeepSeek Harness 安裝」區塊提供可複製話術,核心是向 DSH 說明安裝插件 lengrufeng2008/dsh-diff-context(頁面以 請安裝 DSH 插件 lengrufeng2008/dsh-diff-context 開頭)。複製時以 SkillHub 插件頁 當前全文爲準。

安裝前建議自行查看 GitHub 源碼與 LICENSE,並知悉:插件以當前 DSH 進程的權限運行,會讀取本機 Git 倉庫狀態。

package.json 中 dsh.bundle.patch 指向 ./plugin/cordis.patch.yml,由 DSH 插件打包機制集成;勿憑插件名自行拼接未在文檔出現的 shell 安裝命令。

典型用法

命令行(倉庫根目錄或指定路徑)

README 中的可復現示例:

node bin/dsh-diff-context.mjs . --json
node bin/dsh-diff-context.mjs . --staged

第一行對工作區 diff 輸出 JSON;第二行鍼對已暫存變更(--staged)。

在 DSH 會話中

Use diff_context on this repository.

經過上面的步驟,Harness 會走插件提供的只讀 diff 上下文,而不是讓你手動複製整段 git diff。

適用場景與注意

適合:需要在 Agent 工作流裏快速注入「改了什麼」的事實層上下文;本地審查、變更說明、與 DSH 技能鏈配合時,希望 diff 格式統一、體積受控。

不適合:依賴未跟蹤文件清單、自動化風險打分、或跑測試再決定是否合併的場景 —— 這些均在 Limits 中明確排除。

維護者倉庫提供測試入口:

npm test

(對應 node --test test/*.test.mjs。)

結尾

dsh-diff-context 把 Git diff 收成 DSH 可用的只讀上下文:文件、增刪、hunk,無模型、無網絡。若你在工作流裏反覆手工貼 diff,可以按目錄頁指引安裝後在會話裏使用 diff_context。

  • 目錄頁:https://www.skillhub.cn/plugins/lengrufeng2008/dsh-diff-context
  • GitHub:https://github.com/lengrufeng2008/dsh-diff-context
羽毛球分组比赛记分
小程序二维码

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

小夜