dsh-session-diff:DeepSeek Harness 右側邊欄的會話級差異視圖

前言

在 DeepSeek Harness (DSH) Web 界面中,當使用 write 或 edit 工具時,文件通常會以普通文本形式打開。如果希望直觀地看到當前對話對文件的具體修改(如新增或刪除的行),默認視圖往往不夠直觀。這需要一種能自動識別會話變更並提供 git 風格差異展示的方案。

這是什麼

dsh-session-diff 是一個由 2002XiaoYu 維護的客戶端插件。它的核心功能是在 DSH Web 右側邊欄提供會話作用域的 git 風格差異裝飾。它解決了在對話過程中無法快速查看代碼變更細節的問題,將原本普通的文本查看器轉變爲帶有高亮標記的代碼差異視圖。

核心功能

插件提供以下核心能力:

  • 裝飾的文件視圖:在右側側邊欄渲染帶 git 風格高亮(添加/刪除行背景、+/− 標記)和語法高亮的文件。
  • 會話變更頁面:列出當前對話更改的所有文件及其變更統計(+/− 計數和目錄)。
  • 實時更新:每次新編輯都會重新讀取文件並重新計算差異。
  • 未觸及文件保持出廠行爲:未更改的文件仍使用原有的文本查看器,不影響其他文檔(如圖片、PDF)的渲染。
  • 無宿主行爲:插件不運行 shell、git 或直接接觸文件系統,僅通過 DSH 的 workspaceFiles 遠程獲取內容。
  • 支持常見語言的手寫分詞器:內置了對多種主流編程語言的語法高亮支持。

安裝與啓用

由於目前沒有 npm 發佈,需通過倉庫安裝。安裝或升級後必須重啓 dsh web 並刷新瀏覽器。

dsh plugin --profile web add github:2002XiaoYu/dsh-session-diff

典型用法

  1. 打開當前對話中更改的文件,側邊欄會顯示 git 風格的差異視圖。
  2. 點擊會話變更頁面中的條目打開裝飾視圖。
  3. 使用頭部按鈕切換“僅變更”和“整個文件”視圖,或重新讀取文件。

適用場景與注意

  • 僅限當前對話:僅顯示當前對話的變更,不顯示其他對話或手動編輯的變更。
  • 長對話限制:在長對話中,最早的變更條目可能會丟失,因爲列表是基於客戶端保留的對話窗口計算的。
  • 文件讀取上限:文件讀取上限爲 20,000 行。
  • 路徑匹配:分片路徑通過後綴匹配地址路徑,錯誤的匹配無法通過。
  • 錯誤處理:重寫的文件條目會被標記爲未定位;刪除的文件報告讀取失敗而不是崩潰。
  • 語言支持:分詞器支持 Dart, JS/TS, JSON, YAML, Python, shell, CSS, HTML/XML, Markdown, SQL, Java/Kotlin/Swift/C-family, Go, Rust, PHP。不支持的文件後綴渲染無顏色。

總結

對於需要在 DSH Web 界面中快速審查代碼變更的開發者,dsh-session-diff 提供了一個輕量級且無侵入性的解決方案。它通過側邊欄裝飾和會話變更列表,將 git 風格的差異視圖無縫集成到對話流中。

GitHub 倉庫 | 插件目錄

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

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

小夜