dsh-diff-stat:DeepSeek Harness 行內變更統計與彙總卡片插件

在 DeepSeek Harness 的開發流程中,觀察智能體對文件的修改是一個常見痛點。雖然工具調用(如 edit、write)記錄了操作行爲,但界面通常只展示原始的函數簽名,缺少具體的變更行數統計和文件影響範圍彙總。這導致開發者難以快速評估代碼修改的規模,也不便於在對話中直接審查文件變更。

haoyueqin/dsh-diff-stat 是一個 DeepSeek Harness Web 插件。它由 HaoyueQin 維護,旨在通過可視化的方式增強文件變更的可見性。核心價值在於在編輯/寫入工具行上顯示行內變更徽章(+N −M),並在每個對話輪次的末尾提供文件變更彙總卡片。

核心功能

該插件覆蓋了原生 edit/write 調用、opt-in 的 str_replace_editor 以及 PTC dispatch 子調用。以下是其主要能力:

  • 行內變更徽章:接管原生修改工具行,顯示實際的變更行數(+N −M)。統計基於實時計算的 LCS(最長公共子序列)邏輯,結果精確。
  • 對齊的 Diff 窗口:點擊行可展開高度受限的滾動視圖。Diff 視圖經過 LCS 對齊,共享行渲染爲上下文,未修改行摺疊,底部精確統計渲染行數。
  • 行號輔助線:文件視圖顯示行號 1..N,Diff 窗口將代碼塊錨定到當前文件的真實位置。如果無法定位,窗口仍會相對渲染行號。
  • 輪次彙總卡片:在每個對話輪次的末尾,顯示一個可摺疊的彙總條(如 “N files changed +X −Y”)。每行包含文件類型圖標、目錄、變更行數、Review 按鈕和 Undo 按鈕。同文件的多處編輯會合並統計。
  • PTC 分發回退:對於 PTC 分發子調用,由於缺乏原生 Wire Diff,插件會使用調用參數推導 Diff,並在彙總卡片中從聊天工具樹合併文件信息。
  • 上下文增強:在展開 Diff 時,插件會嘗試通過主機 API 讀取文件,爲參數片段補充 ±3 行的真實文件上下文。
  • 撤銷功能:支持將當前輪次的文件修改回滾到該輪次開始前的狀態。通過原子提交和唯一性檢查,確保回滾安全。
  • 多語言支持:界面語言跟隨 Web UI 設置(支持中文和英文)。

安裝與啓用

注意: 該插件已停止維護(Retired),請勿安裝。DeepSeek Harness 自 0.1.6-alpha.2 版本起已原生支持行內 +N −M 徽章、輪末文件變更卡和逐文件 Review 標籤,該插件的主要功能已被內置替代。

典型用法

由於插件已被官方原生功能取代,以下僅描述其原始設計用途:

  1. 查看行內統計:在對話中,當智能體調用 edit、write 或 opt-in 的 str_replace_editor 時,工具行旁會自動出現變更統計徽章。
  2. 展開 Diff:點擊帶有徽章的行,即可展開對齊的 Diff 窗口,查看具體的代碼修改細節。
  3. 使用匯總卡片:在對話列表底部,每輪對話結束後會出現彙總卡片。點擊文件行可展開預覽,或通過下拉菜單打開文件。
  4. 撤銷修改:在彙總卡片的文件行中,點擊 Undo 按鈕,可將該輪次修改的文件恢復到該輪次開始前的狀態。

適用場景與注意

該插件適合需要在對話流中直觀追蹤代碼修改規模和進行快速代碼審查的場景。鑑於插件已退役,建議直接使用 Harness 原生功能。

插件以當前 DSH 進程權限運行,請確保在安裝前檢查源碼與許可證(MIT)。由於插件已停止維護且部分功能在較新版本 Harness 上存在兼容性問題,請勿在生產環境依賴其特定實現。

總結

dsh-diff-stat 通過可視化的方式解決了 DSH 中文件變更追蹤不直觀的問題。雖然目前已被官方原生功能取代,但其提供的撤銷功能和特定的 Diff 對齊邏輯仍有參考價值。

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

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

小夜