前言¶
DeepSeek Harness(DSH)的標準工作流通常要求在開始會話前選擇一個 Workspace。對於處理臨時或一次性任務時,這種操作顯得繁瑣。dsh-quick-session 插件解決了這一痛點,允許用戶在 Web GUI 中不指定工作區即可啓動會話,並自動分配獨立的臨時目錄作爲執行邊界。
核心定位¶
這是一個客戶端插件,由 GRmaid 維護。它通過側欄快捷入口提供會話啓動能力,不註冊正式 Workspace,而是將臨時目錄作爲沙箱邊界。
核心功能¶
- 無工作區啓動:在 DSH Web GUI 中不指定工作區即可開始會話。
- 獨立臨時目錄:每個快速會話擁有獨立目錄,位於
%DSH_HOME%\scratch。 - 會話邊界:該目錄既是工作區寫入邊界,也是 Shell 的工作目錄(CWD)。
- 側欄歸類:不註冊 Workspace,側欄將其歸類爲「未分組」。
- 快捷入口:側欄底部提供快捷會話圖標,點擊打開輸入框。
- 權限控制:Agent 權限沿用現有四檔,默認開啓「工作區寫入 + 變更前確認」。
- 架構分工:
- 宿主半邊:註冊路由
POST /plugins/dsh-quick-session/prepare,負責目錄創建。 - 瀏覽器半邊:負責 UI 與會話創建流程。
- 宿主半邊:註冊路由
- 技術依賴:依賴 React ^18.2.0。
安裝與啓用¶
通過命令行安裝:
dsh plugin add github:GRmaid/dsh-quick-session
注意:桌面端安裝邊界僅接受 npm 發佈的插件。若需在桌面端安裝,需使用 link: 方式安裝,或等待插件發佈至 npm。
典型用法¶
- 點擊側欄底部的快捷會話圖標(設置旁),打開輸入框。
- 輸入內容後提交。
- 宿主會在
%DSH_HOME%\scratch下新建目錄(格式爲quick-<日期>-<隨機>)。 - 該目錄被設爲 Shell 的工作目錄,Agent 只能在此範圍內讀寫文件。
開發與調試¶
若需修改宿主半邊代碼:
1. 將 lib/entry.js 複製爲新文件名並修改內容。
2. 更新 cordis.patch.yml 中的 name 指向新文件名。
3. 在插件管理頁(或通過 plugin_manager 的 set_bundle)關閉再打開組合包,觸發重載。
若只修改瀏覽器半邊代碼,無需重啓宿主,刷新頁面即可。
注意事項¶
- 臨時文件清理:臨時目錄裏的文件不會自動清理,需手動管理。
- 圖標回退:快捷會話圖標有一層回退階梯:鯨魚尾巴 GIF -> 官方尾鰭裁切 -> 🐋 字形,確保按鈕內容可見。
- 權限執行:插件以當前 DSH 進程的權限運行。
結尾¶
該插件爲處理零散、臨時任務提供了便捷入口,避免了頻繁切換工作區的開銷。更多細節與源碼可查閱項目主頁。