前言¶
在 DeepSeek Harness(DSH)桌面版裏,默認情況下所有對話共用同一個工作目錄(default-workspace)。你在 A 對話裏生成的文件、腳本輸出和下載附件,換到 B 對話仍然可見、可改;對話一多,目錄裏的東西也容易互相干擾。如果你希望「一次對話一份文件空間」,又不想每次手動建文件夾、改路徑,可以裝社區插件 dsh-session-workspace:新建對話時由 DSH 自動分配獨立文件夾和沙箱根,跨對話互不可見,並在輸入框旁提供運行時開關。
下面介紹這個插件的定位、能力、安裝步驟和日常使用方式。事實以維護者 stevenwang15 在 GitHub 倉庫公開的 README 與 package.json 爲準;當前版本 0.2.0,許可證 MIT,依賴 Node 22+(engines 寫明 >=22.19.0)。插件在 SkillHub 目錄中歸類爲 admin-security。
這是什麼¶
dsh-session-workspace 是 DSH 的本地插件包,一句話:One conversation, one workspace——每個新對話自動創建並進入獨立工作區(獨立目錄 + 獨立沙箱根),實現跨對話文件隔離;輸入框工具欄最左側還提供「獨立工作區 / 共用工作區」膠囊開關。
維護者:stevenwang15。源碼與說明:https://github.com/stevenwang15/dsh-session-workspace;社區目錄頁:https://www.skillhub.cn/plugins/stevenwang15/dsh-session-workspace(與 DeepSeek / 幻方無官方從屬關係,屬社區插件生態)。
它解決什麼問題¶
| 裝插件前 | 裝插件後 | |
|---|---|---|
| 新對話文件放哪 | 全部擠在同一個文件夾 | 每個對話一個獨立文件夾 |
| A 對話的文件,B 對話能否看到 | 能 | 不能 |
| 是否需要你手動操作 | —— | 否,照常點「新建對話」 |
裝好之後,點側邊欄 新建對話(New Session) 時,側邊欄會多出一行以創建時間命名的工作區(例如 2026-11-06 20:15);該對話讀寫的文件落在類似 文稿/deepseek-harness/session-workspaces/20261106-201533-a1b2/ 的路徑下(macOS 上可在訪達中打開父目錄查看所有對話文件夾):
open ~/Documents/deepseek-harness/session-workspaces
再點一次新建對話,又會得到全新的工作區和文件夾;全程不用手動建目錄、不用選路徑、不用改設置。
核心功能¶
自動隔離的工作區與沙箱¶
DSH 裏「工作區」對應一個目錄:會話創建時記錄的 cwd 同時是沙箱根(只能寫該目錄)和側邊欄分組依據。插件在 Host 側包裝 ctx.sessionController.create:新對話來臨時先獨佔創建目錄、註冊成 Workspace,再帶着該 Workspace 創建會話。顯式指定 cwd、複用空白會話(sessionId)、或在手動添加的項目工作區裏新建時,仍保持原生行爲;創建失敗會回退到原生行爲,不阻塞新建對話。
輸入框旁的運行時開關¶
打開任意對話後,輸入框工具欄最左邊有一個小膠囊:
- 亮起 獨立工作區:之後新建的對話會自動建獨立文件夾(默認);
- 點一下變爲灰色 共用工作區:下一次新建對話暫不隔離,仍使用當前所選文件夾;
- 再點一下恢復。重啓 DSH 後開關會回到默認,不會持久改掉你的習慣設置。
注意:某個對話的文件夾在創建那一刻就固定了,開關隻影響之後新建的對話,不會把當前對話「搬家」。
可選高級配置¶
在 ~/.dsh/profiles/desktop/cordis.patch.yml 末尾可追加(普通用戶可跳過):
- id: session-workspace
config:
enabled: true # false = 完全停用插件
mode: managed # managed = 手動加的項目不隔離;all = 所有新對話都隔離
baseDir: /Users/你/Documents/deepseek-harness/session-workspaces
| 設置 | 默認 | 說明 |
|---|---|---|
enabled |
true |
總開關 |
mode |
managed |
managed 只隔離默認工作區與插件自建工作區;all 則新建對話一律隔離 |
baseDir |
默認工作區旁的 session-workspaces |
各對話子目錄的父路徑 |
安裝與啓用¶
插件以當前 DSH 進程權限運行,安裝前建議瀏覽倉庫源碼與 LICENSE(MIT),確認符合你的安全策略。
第 1 步:在終端安裝插件¶
dsh plugin --profile desktop add github:stevenwang15/dsh-session-workspace
需要 Node 22+。若上述命令報錯,可從 Release 下載 dsh-session-workspace-0.2.0.tgz,再執行:
dsh plugin --profile desktop add file:下載文件的絕對路徑
第 2 步:寫入 desktop profile 的 bundles¶
打開 ~/.dsh/profiles/desktop/package.json,在 dsh → profile → bundles 數組中加入 "dsh-session-workspace",例如:
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-session-workspace"
]
(保留數組裏原本就有的其它條目。)
第 3 步:徹底重啓 DSH¶
菜單欄 DeepSeek Harness → 退出(或窗口激活時 Cmd+Q),確認活動監視器裏沒有 DeepSeek Harness 進程後,再重新打開。僅關窗口再從 Dock 打開不算重啓,插件可能不會生效。
怎麼確認裝好了¶
- 打開任意對話,輸入框工具欄左側應能看到 獨立工作區 膠囊;
- 點「新建對話」,側邊欄應多出一個新工作區;
- 查看
~/Documents/deepseek-harness/session-workspaces/,應出現帶時間戳的新文件夾。
若看不到膠囊:先確認徹底退出再打開;再 Cmd+R / F5 刷新頁面;並覈對 bundles 是否包含 "dsh-session-workspace"。
若點了新建對話卻沒有新文件夾,可能是複用了空白對話、開關切到了 共用工作區,或你在手動添加的項目工作區裏新建(默認尊重你的選擇、不強制隔離)。
升級、卸載與磁盤¶
升級時,重複安裝同一路徑不會覆蓋舊版本。維護者建議先刪再裝並徹底重啓:
dsh plugin --profile desktop remove dsh-session-workspace
dsh plugin --profile desktop add github:stevenwang15/dsh-session-workspace
卸載示例:
./scripts/uninstall-local.sh desktop
也可從 bundles 移除條目後再 remove。已創建的工作區文件夾會保留;刪除側邊欄工作區行不會刪除磁盤上的文件夾與聊天記錄。插件不會自動清理舊文件夾,不用的目錄可自行刪除。
兼容性與適用場景¶
README 寫明在 DSH 0.2.2-rc.1(當前桌面版)上完整測試通過。隔離依賴 DSH 公開服務;若未來版本移除輸入框插槽,膠囊可能不顯示,但隔離邏輯仍可按 Host 側行爲工作。
適合:在同一臺機器上開很多對話、希望文件與沙箱按會話分開的 DSH 桌面用戶。不適合指望「裝完就自動清磁盤」的場景——目錄增長與普通文件夾一樣,需自行管理。
結尾¶
dsh-session-workspace 把 DSH 默認的「共用一張桌子」改成「每個新對話一張自己的桌子」,安裝後照常點新建對話即可,必要時用輸入框旁開關臨時回到共用工作區。目錄與源碼: