前言¶
DeepSeek Harness (DSH) 的 Web 界面在處理文件變更時,通常只對內置的 edit 和 write 工具展示 Diff 視圖。當智能體通過 @modelcontextprotocol/server-filesystem MCP 服務器,或者直接使用 Bash 命令修改文件時,聊天界面往往顯示的是純終端輸出或通用塊,缺乏直觀的變更預覽。
fakek0f3st/dsh-mcp-diff 插件旨在解決這一問題。它統一了不同來源的文件變更展示方式,將可解析的文件操作轉化爲結構化的 Diff 卡片。
插件介紹¶
這是一個爲 DeepSeek Harness (Web GUI) 提供的客戶端插件,目前有 4 個 Star,由 Fakek0f3sT 維護,遵循 MIT 許可證。
該插件通過覆蓋默認的渲染邏輯,將文件系統的變更(無論是通過 MCP 調用還是 Bash 命令)轉化爲統一的 Diff 卡片。默認情況下,這些卡片是摺疊的,點擊展開後可查看逐行的高亮變更(綠色代表新增,紅色代表刪除)。
核心功能¶
插件覆蓋了多種文件操作場景:
- MCP 文件系統支持:覆蓋
edit_file、write_file、move_file和create_directory。 - 內置工具統一:覆蓋 DSH 的內置
edit和write工具,統一上下文塊的處理,避免重複顯示上下文行。 - Bash 命令解析:能夠解析常見的文件變更 Bash 命令,包括:
- Heredoc 替換(
.replace()腳本)。 sed -i/perl -pi等行內編輯。cat > file <<EOF、tee、重定向(>、>>)等寫入操作。
- Heredoc 替換(
- 卡片渲染:
- Diff 卡片默認摺疊,標題顯示路徑及
+N -M變更統計。 move_file和create_directory渲染爲緊湊的信息卡片。
- Diff 卡片默認摺疊,標題顯示路徑及
- 交互性:卡片中顯示的路徑均爲可點擊鏈接,點擊即可在 IDE 編輯器中打開對應文件。
安裝與啓用¶
通過官方 CLI 安裝插件:
dsh plugin --profile web add dsh-mcp-diff
安裝完成後,需要重啓 dsh web 服務以加載插件集,隨後刷新 Web GUI 頁面即可生效。
使用與限制¶
該插件會嘗試解析智能體發出的文件變更命令。對於它無法自信識別的 Bash 形狀(如 chmod、ln、rsync、dd、git 狀態變更等),插件會保留純終端卡片,寧可漏掉也不要產生錯誤的渲染。
此外,對於動態路徑($VAR)和通配符,以及不支持的形狀,插件有意不進行渲染。這是爲了確保展示的準確性。
對於明確的破壞性命令(如 rm -rf、chmod 777、git reset --hard 等),卡片會附帶一個警告標籤,提示該命令爲破壞性操作。
兼容性與反饋¶
該插件在 DSH 0.1.1-rc.2 版本上測試通過。它僅依賴平臺模塊(React、UI primitives 等),不依賴 DSH 內部的 UI 工具內部結構。