前言¶
DeepSeek Harness(DSH)的設計理念是「一切皆插件」。在實際使用中,開發者或用戶往往只需要進行對話、檢索網頁或查看歷史,而不希望產生文件寫入或執行命令的風險。現有的會話可能已經配置了複雜的工具,切換模式容易誤觸。dsh-no-workspace 插件就是爲了解決這個問題而生,它爲 DSH 提供了一個獨立的「只讀會話」入口。
插件介紹¶
dsh-no-workspace 是一個由 Syhz-666 維護的社區插件,遵循 MIT License。它不修改 DeepSeek 官方源碼,而是通過內存注入的方式爲官方 Web 構建增加功能。核心價值在於提供「不使用工作區」的會話模式,並將該模式結構性鎖定爲只讀。
核心能力¶
該插件主要包含以下能力:
- 不使用工作區(只讀會話):在官方工作區選擇器中增加一個入口,點擊後直接創建無工作區的會話,工作目錄位於
$DSH_HOME/.dsh-no-workspace/<sessionId>/的空隔離目錄中。 - 結構性只讀鎖定:會話啓動時寫入零長度的
turn/start和turn/end文件,使其永久非空白。這會觸發官方的預設切換守衛,永久拒絕任何工具面的升級或變更。 - 與官方構建零耦合:插件不修改官方源碼或構建產物。菜單項在服務啓動時由精確路由在內存中注入官方 bundle。官方項目重建或升級後無需重放操作。
- 工具面不可升級:
no-workspace預設只掛載只讀工具,官方的 Shell 和寫入工具(tool-fs)從不掛載。 - 文件訪問受控:讀取絕對路徑需要逐次審批,相對路徑在隔離根內免審批;無會話目錄的讀取直接拒絕。
- 無寫入與命令:會話內沒有 Shell、沒有寫入工具、沒有子代理。
安裝與啓用¶
在使用前,請確保本地已有一份已構建的官方 DSH 項目。
- 獲取插件源碼並構建:
git clone <倉庫地址> dsh-no-workspace
cd dsh-no-workspace
pnpm install && pnpm run build
- 在官方 DSH 項目目錄內安裝插件:
cd <dsh 項目目錄>
pnpm dsh plugin --profile web add <插件目錄的絕對路徑>
- 重啓 DSH Web 並刷新瀏覽器:
pnpm dsh web
(瀏覽器需硬刷新 Ctrl+F5 以加載新菜單)
使用方式¶
進入插件提供的只讀會話有三種方式:
- 打開工作區選擇器,點擊「不使用工作區(只讀會話)」;
- 在任意會話中輸入
/readonly-session命令; - 在模式選擇器中選擇「只讀會話」。
通過「不使用工作區」菜單或命令創建的會話,默認模型爲 deepseek-v4-flash + reasoningEffort: 'low',會話內可隨時手動修改。從模式選擇器切換進入的會話,會沿用其原有的模型配置。
安全模型¶
插件通過機制保證只讀性:
- 鎖定機制:會話一旦被標記爲只讀,系統寫入
turn/start和turn/end,使其不再爲空白狀態。官方的預設切換守衛(agent-preset-locked)會永久拒絕任何預設變更,確保工具面不可升級。 - 工具限制:
no-workspace預設僅包含只讀工具,禁用了所有寫入和 Shell 能力。 - 文件權限:雖然沙箱模式可切換,但由於沒有寫工具消費更寬的權限,權限旋鈕在當前模式下無實際效果。文件訪問遵循隔離根規則,絕對路徑需審批,相對路徑在隔離根內免審批。
注意事項¶
- 本插件爲社區插件,非 DeepSeek 官方產品。
- 插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。
- 由於工具面被結構性鎖定,無法在只讀會話中通過插件機制升級工具。
結語¶
dsh-no-workspace 爲 DeepSeek Harness 增加了一個安全的「對話」與「檢索」層。它通過零耦合的架構和結構化的鎖定機制,在不侵入官方代碼的前提下實現了會話隔離與只讀保護。如需瞭解更多細節,可訪問插件目錄頁或 GitHub 倉庫。