前言¶
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