DeepSeek Harness 插件:dsh-build-diff

下面介紹 DeepSeek Harness (DSH) 的 Agent 循環變更審查插件:dsh-build-diff。

DSH 的理念是「一切皆插件」。在 Web GUI 中開發智能體時,開發者通常需要人工審查 Agent 每次循環(loop)對工作區文件的具體修改。dsh-build-diff 解決了這個問題。每次 Agent 完成一次從 running 到 idle 的驅動週期後,插件會自動快照當前會話工作區,檢測文件與代碼變更,並提供審查與撤銷功能。

該插件爲官方雙面插件(host 半端 + browser 半端),零運行時依賴,不改 DSH 源碼。

核心功能

安裝並激活後,插件會在 DSH Web GUI 中提供以下能力:

  • 右側邊欄審查:在右側邊欄按輪次列出所有變更文件,內聯展示行級 diff(支持雙欄行號、+/- 着色,長上下文摺疊爲「N 行未改動」)。
  • 一鍵撤銷:支持一鍵撤銷整輪變更,或逐文件撤銷。撤銷操作會將文件恢復爲 loop 開始前的精確內容,包括還原新建的文件或刪除的文件。
  • 審查氣泡:每輪結束後,在助手消息「複製 / 好的回答 / 有問題的回答」按鈕行正上方渲染審查氣泡。氣泡顯示變更摘要(如「已編輯 N 個文件 · +X -Y」),並提供「撤銷」與「審覈」操作。
  • 輪次切換:通過下拉菜單切換查看該工作區之前的各輪變更。
  • 輔助操作:支持複製統一 diff 文本、標記已審閱。

安裝與啓用

在安裝 dsh-build-diff 之前,必須確保已安裝前置依賴 dsh-better-sidebar(版本需在 ^0.12.1 以上)。審閱界面以標籤頁形式存在於該插件的 VS Code 式右側欄工作臺中。

1. 安裝前置插件

dsh plugin --profile web add dsh-better-sidebar

2. 安裝 dsh-build-diff

從 npm 安裝(發佈後可用):

dsh plugin --profile web add @kelearns/dsh-build-diff

本地開發調試時,可以使用本地路徑:

dsh plugin --profile web add link:/path/to/dsh-build-diff

手動安裝時,需將插件目錄複製到 ~/.dsh/profiles/node_modules/@kelearns/dsh-build-diff/,並在 ~/.dsh/profiles/web/cordis.patch.yml 中追加配置項,最後重啓 DSH。

注意事項與限制

插件基於 DSH 進程權限運行,涉及文件回寫操作,請留意以下技術細節:

  1. Loop 跟蹤起始點:插件只跟蹤插件激活之後開始的 loop。如果 DSH 啓動時已有 loop 在運行,該 loop 開頭的變更會被漏掉。
  2. 大文件與二進制文件:對於超過 contentCapBytes(默認 1 MB)的文件或二進制文件,插件仍會檢測並計數,但無法生成 diff 內容,也不支持撤銷。
  3. 撤銷邏輯:撤銷操作會將文件原樣回寫爲 loop 開始前的內容。若該文件在後續的 loop 中被更新過,撤銷舊 loop 的變更會覆蓋新 loop 的修改。
  4. 撤銷冪等性:撤銷操作按記錄冪等執行,無重做功能。
  5. 作用域:同一工作區內的子 agent 或後臺任務 agent 也會產生變更記錄(共享工作區根)。
  6. 掃描上限:快照掃描有文件數上限,默認爲 50,000 個文件。

總結

dsh-build-diff 爲 DSH Web GUI 提供了可視化的 Agent 變更審查與回滾能力。通過右側欄與消息氣泡,開發者可以清晰地追蹤每一輪的文件修改,並在必要時快速撤銷。

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

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

小夜