dsh-diff-approval:在 DeepSeek Harness 中審查待處理文件變更

前言

在 DSH 中,agent 會調用 edit、write 與 str_replace_editor 修改文件。若沒有統一的審查入口,開發者需要在多個文件之間手動確認哪些改動保留、哪些改動回退。

dsh-diff-approval 提供一個側欄審查面板:它把成功的文件變更彙總成待處理列表,用整體文件 diff 展示差異,並支持按塊、按範圍、按文件或全部執行 Keep / Revert。

這是什麼

dsh-diff-approval 是一個 DeepSeek Harness(DSH)插件,定位爲 pending-edit review:它自動記錄成功的 edit、write 與 str_replace_editor 變更,並在側欄彙總爲待處理列表。

倉庫所有者是 9087,許可證爲 MIT。

核心功能

下面介紹已覈實的能力。

自動跟蹤與待處理列表

正常使用 agent 時,成功的 edit、write 與 str_replace_editor 變更會被自動記錄,並彙總到側欄的待處理列表。

整體文件 diff 視圖

面板提供整體文件 diff 視圖,包含語法高亮、+/− 計數、滾動條概覽、文件內搜索和虛擬化行。

Keep / Revert

支持在變更塊之間跳轉,並對單個塊執行 Keep 或 Revert。

也支持拖選行範圍後,對選中範圍執行 Keep 或 Revert。

支持按文件 Keep/Revert,以及 Keep all / Revert all。

撤銷、重做與快捷鍵

提供 Ctrl+Z / Ctrl+Y 的撤銷/重做。

支持以下快捷鍵:

Ctrl+D            快速打開審查面板
Esc               關閉面板
Ctrl+Tab          切換待處理文件
Ctrl+Shift+Tab    切換待處理文件

行引用與 composer

支持從 diff 選擇文本獲得 (file:line) 或 (file:start-end) 行引用,並可複製/按設置自動粘貼到 composer。

語言高亮與換行

支持自動檢測高亮語言、按語言覆蓋和按語言記憶自動換行。

對比視圖

支持可選的 side-by-side split view 對比視圖。

導入工作區版本控制變更

支持導入工作區 Git/SVN/Perforce 本地修改、刪除和可選 untracked 文件。

持久化

支持將 pending 狀態持久化到工作區文件並在重啓後保留。

安裝與啓用

先確認 DSH 環境中可以使用 dsh 命令。下面命令用於將插件添加到 web profile:

dsh plugin --profile web add dsh-diff-approval

安裝後,可以通過側欄底部的 Pending changes 操作進入審查面板。

典型用法

1、正常使用 agent 時,成功的 edit / write / editor(str_replace_editor) 調用會被自動記錄。

2、點擊側欄底部的 Pending changes 操作,查看每個文件的 diff 並執行 Keep / Revert。

3、當待處理列表爲空時,使用 Import workspace changes 導入工作區的 Git/SVN/Perforce 本地變更。

適用場景與注意

適合在 DSH 中審查 agent 產生的文件變更,尤其是需要逐個確認改動、保留部分修改或回退部分修改的場景。若工作區使用 Git、SVN 或 Perforce,也可以在待處理列表爲空時導入本地版本控制變更。

需要注意:

  • 僅自動跟蹤成功的 edit、write 與 str_replace_editor 變更;工具外刪除只會在已跟蹤文件中顯示 File is gone,Revert 可恢復文件。
  • VCS 導入通過 shell executor 運行只讀 Git/SVN/Perforce 命令,相關 CLI 必須位於 PATH。
  • 導入 untracked 文件默認關閉,且會掃描整個工作區,大型目錄可能較慢。
  • Reverting 一個創建的文件會刪除該文件,因爲 fs seam 沒有 delete API。
  • Reverting 文件時會按當前行尾(LF/CRLF)保留並寫回。
  • 無工作區會話的條目僅保存在內存;損壞的持久化文件會被拒絕,可刪除以重置。
  • 側欄底部入口會與其他插件垂直堆疊,並在存在 dsh-footer-order 插件時讓位。
  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。

結尾

經過上面的步驟,dsh-diff-approval 能把 DSH 中的文件變更集中到可審查、可撤銷、可批量處理的列表中。倉庫地址如下:

https://github.com/9087/dsh-diff-approval
羽毛球分组比赛记分
小程序二维码

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

小夜