前言¶
DeepSeek Harness (DSH) 採用插件化架構,Web GUI 提供了會話管理界面,但直接從界面打開當前會話所屬工作區的文件夾並不原生支持。這通常需要切換到終端或手動拼接路徑,操作流被切斷。dsh-open-workspace 插件通過注入兩個入口,將文件系統操作直接集成到 Web 界面中,解決了這一斷層。
功能介紹¶
該插件爲 DeepSeek Harness Web GUI 添加兩個「打開工作區」入口,點擊後使用系統文件管理器打開當前會話所屬工作區的根目錄。
- 側邊欄會話行菜單:在側邊欄任意會話行的 ⋯ 菜單底部添加「打開工作區」項。
- 會話標題欄按鈕:在會話頂部標題欄註冊「打開工作區」按鈕,通過官方 slot
conversation.session.header.actions實現,與「歸檔」、「移動至工作區」、「刪除會話」等官方按鈕及其他插件的按鈕(如 Session 日誌)按順序並排組合。
核心邏輯爲「打開工作區根目錄」:
- 標題欄按鈕:按 sessionId 找到所屬工作區,優先使用工作區 path/cwd,若不存在則使用會話 cwd。
- 側邊欄菜單項:按行所在的工作區分組,優先使用工作區 path/cwd,若不存在則使用同名會話的 cwd,若仍不存在則遍歷扁平列表定位當前會話。
在 Windows 系統上,插件直接調用 explorer.exe 並傳遞 UTF-16 編碼的參數,確保中文和非 ASCII 路徑可靠打開。操作成功或失敗均會在右下角顯示提示條。插件宿主端註冊了 POST /plugins/dsh-open-workspace/open 和 GET /plugins/dsh-open-workspace/status 接口,激活探針會寫入 $DSH_HOME/logs/dsh-open-workspace.probe.log。
安裝與啓用¶
安裝前請確保目標環境已安裝 Node.js ≥ 20、DSH 和 pnpm。
本機安裝¶
在插件源碼目錄下執行以下命令:
cd <本插件文件夾>
npm pack
dsh plugin --profile web add .\dsh-open-workspace-1.0.0.tgz
執行安裝腳本後,重啓 dsh web。
遠程安裝¶
將插件文件夾拷貝到目標電腦任意位置,目標電腦需安裝 Node.js ≥ 20、DSH 和 pnpm。執行安裝腳本:
powershell -ExecutionPolicy Bypass -File .\install.ps1
腳本會自動完成環境檢查、重複 id 守衛、檢測並詢問是否停用衝突插件(如 dsh-open-folder、dsh-open-explorer、dsh-open-session-folder),並完成安裝和校驗。
手動安裝時,需確保 dsh.profile.bundles 包含 dsh-open-workspace,若遇到供應鏈策略攔截,可在 profile 目錄下執行 pnpm add <路徑>\dsh-open-workspace-1.0.0.tgz --config.minimum-release-age=0。
使用示例¶
- 安裝並重啓
dsh web後,訪問 Web GUI。 - 檢查插件加載狀態:訪問
GET /plugins/dsh-open-workspace/status,返回{"ok":true,...}表示宿主已加載。 - 在側邊欄會話行點擊 ⋯ 菜單,選擇底部的「打開工作區」。
- 在任意會話頂部標題欄點擊「打開工作區」按鈕(位於刪除按鈕與 Session 日誌之間)。
注意事項¶
- 避免重複插入:不要在
bundles層和用戶補丁層同時insert本插件(同一 id 重複會導致dsh web啓動即崩)。 - 運行環境:「打開工作區」的動作發生在運行 dsh web 的那臺電腦上。如果通過遠程桌面訪問 GUI,文件管理器窗口會直接彈在服務器端的桌面上。
- 兼容性:插件兼容 DSH 0.1.2-alpha.5 和 0.1.2-rc.1。升級 DSH 後,插件無需改動即可直接使用。
- 許可證:該插件基於 MIT 許可證開源。
結語¶
dsh-open-workspace 通過兩個標準的 Web UI 入口,將文件系統操作無縫融入 DSH 工作流,降低了在 Web 界面下管理智能體工作區目錄的門檻。更多細節及源碼請訪問 GitHub。