dsh-approval-diff:在原生批准卡片內渲染真實差異

在 DeepSeek Harness (DSH) 中,當智能體請求修改文件時,原生批准卡片僅展示原始的 old_string 和 new_string,缺乏上下文和行號,難以快速判斷。dsh-approval-diff 插件旨在解決這個問題,將原生的批准卡片替換爲包含真實差異、行號、單詞高亮以及磁盤源上下文的審查界面。

這是一個 DSH 插件,由 joao-paulo-santos 維護。它專注於文件變更批准流程,通過 dsh-diff-view 依賴庫,在原生批准卡片中提供可視化的代碼差異審查功能。

核心功能

可視化差異審查

插件在原生批准卡片內直接渲染編輯內容的真實差異。通過 dsh-diff-view,差異展示包含:
* 行級差異:展示被修改的行。
* 單詞高亮:在變更行內高亮具體的單詞差異。
* 磁盤源上下文:顯示帶有真實行號的文件內容,提供修改周圍的環境。

視圖與操作類型

  • 視圖切換:支持拆分或統一視圖(GitHub 風格切換),拆分視圖下刪除行顯示在左側,新增行顯示在右側。
  • Write 操作:當使用 write 命令時,新內容顯示爲添加,並與現有文件合併。
  • 刪除操作:對於刪除命令(如 rm),渲染審查通知,僅顯示命令文本,不展示已刪除內容。

批准流程優化

  • 差異錨定:差異錨定到 DISK TRUTH(從請求時從包的主路由獲取的磁盤狀態),確保審查基於文件當前狀態。
  • 過時操作數警告:當編輯的舊文本不再存在於文件中時,卡片會顯示警告,而不是展示無法應用的差異。
  • 合併審查:針對同一文件的已排隊編輯會合併爲一個審查。如果同一文件有多個待處理的編輯,卡片會顯示“N edits merged”,並將所有變更合併到磁盤副本中進行渲染。
  • 多文件支持:當請求涉及多個文件時,卡片會顯示選項卡,每個文件一個選項卡,包含獨立的合併差異和獨立的批准按鈕。

安裝與啓用

該插件需要 DeepSeek Harness (DSH) 的一個 checkout 和一個 profile(示例中使用 web)。請按照以下步驟操作:

  1. 克隆插件倉庫
    mkdir -p ~/dsh-plugins && cd ~/dsh-plugins
    git clone https://github.com/joao-paulo-santos/dsh-approval-diff.git
  1. 安裝插件
    pnpm dsh plugin --profile web add ~/dsh-plugins/dsh-approval-diff
  1. 驗證配置
    pnpm dsh --profile web --dump-config
  1. 重啓 Harness
    安裝後需要重啓 Harness,宿主端會在啓動時加載,客戶端端會熱重載。

適用場景與限制

  • 適用場景:僅限文件變更批准(edit、write、僅刪除的 bash)。其他類型的操作會完全回退到原生卡片。
  • 依賴要求:
    • 需要安裝 dsh-diff-view 依賴。
    • 需要 DSH 版本 0.1.2 或更高(基於待交互批准模型)。

總結

dsh-approval-diff 通過提供直觀的代碼差異審查,解決了 DSH 原生批准卡片中難以審覈文件變更的問題。它通過合併審查和視圖優化,提升了批量編輯時的審查效率。

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

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

小夜