前言¶
在 DeepSeek Harness(DSH)上做插件開發、補丁修改或測試時,改動如果直接進入本體運行,測試失敗帶來的影響範圍會更大。dsh-sandbox-tester 是一個 DSH 插件,用於把待測改動放進隔離沙盒中先跑,再決定是否合回本體。
下面介紹它的定位、核心能力、安裝方式、典型用法和注意事項。
這是什麼¶
- 倉庫:
Sutera-Diffusus/dsh-sandbox-tester - 維護者:Sutera-Diffusus
- 許可證:MIT
- 定位:爲 DSH 提供進程級隔離測試場
它解決的核心問題是:插件或補丁改動先在沙盒實例中運行,避免測試階段的問題直接影響本體。
核心功能¶
進程級隔離沙盒¶
每個沙盒實例具備以下隔離項:
- 獨立進程
- 獨立
DSH_HOME - 獨立端口,從
3182起,衝突時自動+1
每個沙盒默認裁剪複製約 270 MB。
9 個原生工具¶
dsh-sandbox-tester 提供以下工具:
sandbox_list:查看當前沙盒sandbox_create:創建沙盒sandbox_inject:把待測插件或補丁注入沙盒sandbox_run:運行沙盒sandbox_health:檢查沙盒健康狀態sandbox_stop:停止沙盒sandbox_destroy:銷燬沙盒sandbox_merge:門禁式合回sandbox_prune:清理沙盒,適合處理超齡沙盒
合回門禁¶
sandbox_merge 默認 dryRun,只執行校驗併產出結果,不進行真實寫入。合迴流程包含:
- 目標白名單
- 逐文件
node --check - bundle 校驗
- 備份計劃與回滾清單
真實寫入需要設置:
DSH_SANDBOX_MERGE_ALLOW=1
如果真實寫入失敗,會自動回滾。
一鍵 QA¶
一鍵 QA 通過 CDP 9223 驅動 headless Edge,檢查以下內容:
- 首頁
/plugins/dsh-sandbox/client.js- 設置頁「測試沙盒」區段
- 控制檯異常
檢查結果會產出報告。
設置頁管理¶
在 DSH 設置的「測試沙盒」區段中,可以:
- 查看沙盒卡片
- 新建沙盒
- 查看
48h超齡提示 - 一鍵清理
- 查看合回門禁摘要
終止安全¶
sandbox_stop 在執行前會反查 3080 監聽 PID。如果目標進程樹包含本體,會拒絕執行。
安裝與啓用¶
環境要求¶
- 操作系統:Windows 10/11
- Node.js:18+
- DeepSeek Harness:
0.1.0-rc.6或同系列版本
安裝步驟¶
1、獲取 dsh-sandbox-tester,並確認 DSH 安裝目錄。下文以 <DSH_INSTALL_DIR> 表示該目錄。
2、建議安裝前關閉 DSH 頁面。然後執行安裝腳本:
node install.mjs --target "<DSH_INSTALL_DIR>"
安裝腳本會修改 DSH 安裝目錄中的 profile manifest 和 apiproxy 白名單兩處文件,並且均先備份。
3、重啓 DSH。
4、打開設置頁,查看「測試沙盒」區段;再讓 Agent 調用 sandbox_list,確認工具已註冊。
典型用法¶
讓 Agent 執行完整測試流程¶
可以在會話中要求 Agent 按以下順序執行:
1、sandbox_create
2、sandbox_inject
3、sandbox_run
4、健康檢查通過後執行 sandbox_merge
也可以直接說明:
用測試沙盒驗證這個補丁:先
sandbox_create,再sandbox_inject,然後sandbox_run,健康檢查通過後sandbox_merge。
查看和清理沙盒¶
用 sandbox_list 查看當前沙盒,並清理超齡沙盒。
運行本地測試¶
node test/smoke.mjs
node test/e2e.mjs
node test/qa-cdp.mjs <port>
其中 <port> 需要替換爲目標實例端口。
適用場景與注意¶
適合在 DSH 上開發插件、打補丁或做測試的場景。使用前注意以下幾點:
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。該插件許可證爲 MIT。
- 安裝腳本會修改
profile manifest和apiproxy白名單兩處文件,並均先備份;建議安裝前關閉 DSH 頁面。 sandbox_merge默認dryRun;真實寫入需要顯式設置DSH_SANDBOX_MERGE_ALLOW=1,失敗會自動回滾。- 每個沙盒默認裁剪複製約
270 MB,需要預留磁盤空間。 - 插件不讀取、不上傳用戶憑據或會話數據;無遙測、無外部網絡請求;一鍵 QA 僅連本機
127.0.0.1。
小結¶
dsh-sandbox-tester 的價值在於把 DSH 插件測試從直接改動本體,變成先隔離運行、再按門禁合回的流程。
- GitHub 倉庫:https://github.com/Sutera-Diffusus/dsh-sandbox-tester
- 社區目錄:在 DSH 社區目錄中搜索
dsh-sandbox-tester