DeepSeek Harness 插件:dsh-mcp-diff

前言

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 卡片。默認情況下,這些卡片是摺疊的,點擊展開後可查看逐行的高亮變更(綠色代表新增,紅色代表刪除)。

核心功能

插件覆蓋了多種文件操作場景:

  1. MCP 文件系統支持:覆蓋 edit_file、write_file、move_file 和 create_directory。
  2. 內置工具統一:覆蓋 DSH 的內置 edit 和 write 工具,統一上下文塊的處理,避免重複顯示上下文行。
  3. Bash 命令解析:能夠解析常見的文件變更 Bash 命令,包括:
    • Heredoc 替換(.replace() 腳本)。
    • sed -i / perl -pi 等行內編輯。
    • cat > file <<EOF、tee、重定向(>、>>)等寫入操作。
  4. 卡片渲染:
    • Diff 卡片默認摺疊,標題顯示路徑及 +N -M 變更統計。
    • move_file 和 create_directory 渲染爲緊湊的信息卡片。
  5. 交互性:卡片中顯示的路徑均爲可點擊鏈接,點擊即可在 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 工具內部結構。

更多細節與源碼,可訪問:
* GitHub 倉庫
* 社區目錄頁

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

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

小夜