DeepSeek Harness 側邊欄增強插件

前言

DeepSeek Harness(DSH)是面向智能體開發者的桌面工具,內置了文件面板、終端面板等基礎能力,但在文件樹的操作、文檔預覽的編輯性,以及多終端標籤的管理上仍有提升空間。本插件通過影子替換內置文件面板、接管文檔預覽渲染,並在會話頭部新增終端按鈕,把文件樹補上完整的增刪改查能力,把文檔預覽升級爲可編輯、可保存的編輯器,同時提供與右側邊欄互不干擾的底部多標籤終端面板。

插件定位

本插件爲 DeepSeek Harness(DSH)的客戶端側邊欄增強插件,由維護者 xmwengxing 開發,開源協議爲 MIT。它不依賴第三方框架,通過 Host 半部(index.js)與 Client 半部(client.js)協作,向 DSH 內置 web 服務器註冊路由,並向 DSH 內部 Slot 注入渲染器與面板條目,從而在不改動宿主核心配置的前提下擴展功能。

文件樹管理

本插件以 priority: -1 影子替換內置文件面板 Slot,保留原有打開行爲與會話動作插槽。

  • 重命名:在行內提供輸入框,支持右鍵菜單或 ⋯ 按鈕觸發,輸入後保存。
  • 新建文件與目錄:工具欄提供新建按鈕,支持在當前目錄下創建。
  • 上傳:支持工具欄多選上傳,也支持直接將文件拖拽到目錄行或面板空白處。
  • 下載:右鍵菜單提供下載選項,文件按原字節下載,目錄打包爲 .zip,使用系統自帶解壓即可打開。
  • 複製完整路徑:右鍵菜單提供複製絕對路徑,Windows 下使用反斜槓,可直接粘貼到資源管理器、cmd 或 PowerShell。
  • 刪除:支持文件與目錄的刪除,刪除目錄時遞歸刪除並二次確認。
  • 上下文菜單與展開/摺疊:右鍵菜單提供文件操作,支持手動展開、摺疊與刷新。

文檔編輯器

本插件接管約 130 種文本擴展名的預覽,通過註冊 priority: 'extension' 的渲染器定義,在文檔 Slot 中提供編輯模式。

  • 直接編輯:預覽區支持直接編輯文本內容,支持 Ctrl/Cmd+S 保存,工具欄按鈕同樣觸發保存。
  • 樂觀鎖保存:讀取時攜帶文件版本,若磁盤已被外部修改,會在加載完成後提示衝突,支持選擇覆蓋或加載磁盤版本。
  • 外部變更提示:讀取期間若文件被外部修改,會在加載完成後給出變更提示。
  • 大小寫不敏感的擴展名匹配:擴展名匹配不區分大小寫,內置渲染器(Markdown/HTML/SVG 等)仍可在切換器中選擇。

下側終端面板

本插件向 conversation.composer.dock 註冊多標籤面板條目,並向 conversation.session.header.utilities 註冊終端按鈕。

  • 獨立面板:會話頭部新增終端按鈕,點擊在輸入框下方彈出獨立面板,再點收起。面板支持多標籤,完全獨立於右側邊欄,不會在側邊欄中出現,反之亦然。
  • 新建與關閉:面板內 + 號新建終端,× 關閉標籤並結束進程。
  • 調整高度:支持通過頂緣拖拽調整面板高度(範圍 160px – 70% 視口),顯隱與高度持久化。
  • 快捷命令:+ 號旁的按鈕打開命令庫彈窗,提供查看命令、添加命令、備份與恢復功能。
  • 查看命令:按分組摺疊展示命令列表,列表上方有「全部摺疊 / 全部展開」開關。
  • 運行與複製:每條命令後提供運行按鈕(把命令送入底部面板當前終端並回車)與複製按鈕(命令文本進剪貼板)。
  • 刪除命令與分組:每條命令和分組標題均提供刪除按鈕,均需二次確認。
  • 添加命令:上半部分顯示分組列表,點擊命令名會將名稱、分組、備註、命令載入下半部分表單,可隨時修改並保存;空表單點擊「添加」則新增一條。
  • 提示與取消:添加/保存成功後提示會一直顯示,直到點擊「取消編輯」才消失。
  • 命令庫持久化:庫的權威副本存儲在 DSH 主目錄的 sidebar-enhancement/quick-commands.json($DSH_HOME 優先,否則 ~/.dsh),採用原子改寫。瀏覽器 localStorage 只作首屏鏡像,重啓 DSH、換端口或換瀏覽器時不會丟失數據。
  • 備份與恢復:可導出整庫爲 JSON 文件,恢復時選擇該文件並二次確認後整體覆蓋,備份文件格式即該 JSON 文件本身。

安裝與啓用

本插件依賴 DSH Web(@deepseek-ai/dsh)。推薦使用 CLI 從 npm 安裝。

1、安裝插件:

dsh plugin --profile web add dsh-sidebar-enhancement

2、重啓 dsh web 並刷新頁面即可生效。插件包內自帶 dsh.bundle.patch,Loader 會自動註冊,無需修改 profile 配置。

如需開發調試,也可從源碼本地安裝:

git clone https://github.com/xmwengxing/dsh-sidebar-enhancement.git
# 在 DSH 插件安裝入口選擇本地目錄 dsh-sidebar-enhancement/

本地目錄安裝採用 pnpm link,改動源碼後刷新頁面即可生效,無需重裝。

卸載時使用:

dsh plugin --profile web remove dsh-sidebar-enhancement

兼容性與限制

  • 僅支持會話工作區內的文件,跨會話與絕對地址不受影響。下載同樣受此限制,工作區外的路徑返回 403。
  • 下載的目錄壓縮包不含符號鏈接(跳過,不跟隨),空目錄會保留在包內。
  • 二進制文件、超大文本(讀取上限 6M 字符)不進入編輯器,回落內置行爲。
  • 目錄監視(watch)暫未實現,變更通過手動刷新與操作後自動重列感知。
  • 下側終端面板依賴內置終端面板包與會話面板(隨插件引導注入),若宿主缺失相關服務則自動跳過該功能。
  • 命令庫的權威副本是 DSH 主目錄下的 sidebar-enhancement/quick-commands.json,localStorage 僅作首屏鏡像。打開彈窗時會將主目錄文件與本機鏡像合併(先文件後本機,名稱+分組+備註+命令四項全同纔算同一條),因此兩個設備各自添加的命令不會被覆蓋。
  • 若主目錄不可寫,彈窗會提示「當前命令只存在瀏覽器緩存中」並建議導出備份,不會靜默丟失數據。
  • 複製功能優先使用宿主原語的剪貼板方法,其次 navigator.clipboard,最後回退 execCommand;非 https/localhost 的地址(例如局域網 IP 訪問)也能複製。

適用場景

本插件適合需要頻繁管理文件樹、編輯文檔預覽內容、使用多終端標籤進行命令操作的開發者與智能體開發者。它通過影子替換與 Slot 注入的方式擴展宿主能力,無需修改 DSH 配置,適合日常開發與調試使用。

總結

本插件爲 DeepSeek Harness 提供了完整的文件樹管理、可編輯的文檔預覽以及獨立於右側邊欄的底部終端面板,並內置了命令庫與持久化機制。通過 Host 與 Client 兩半協作,在不侵入宿主核心的前提下擴展了實用能力。

參考資料

  • GitHub 倉庫:https://github.com/xmwengxing/dsh-sidebar-enhancement
  • DeepSeek Harness:https://www.npmjs.com/package/@deepseek-ai/dsh
羽毛球分组比赛记分
小程序二维码

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

小夜