前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許通過擴展模塊增強核心能力。在智能體開發與調試過程中,需要獨立、持久且可干預的代碼審計機制,以確保任務執行的安全性與合規性。dsh-audit-mode 正是爲解決這一需求而設計,它作爲 DSH 的第五種預設模式,提供了獨立的 Codex 審計流程與人工複覈入口。
插件簡介¶
dsh-audit-mode 是由 yhfgyyf 維護的一個 DSH 預設插件,核心版本爲 0.6.1。它通過獨立的持久化審計機制,結合可配置的審查者後端(Codex、Claude Code 或 DSH LLM),爲 DSH 會話提供人工批准的修復循環與安全暫停能力。
核心功能¶
- 第五種預設模式:預設 ID 爲
audit,可在 TUI 或 Web 界面中選擇。 - 獨立審查架構:運行兩個隔離的審查者角色(總結者與審計員),默認使用 Codex,支持切換至 Claude Code 或 DSH LLM。
- 持久化存儲:審查歷史與狀態保存在側邊車文件(Sidecar)中,路徑爲
${DSH_HOME}/audit/sidecars/<sessionId>.json。 - 雙重交互界面:提供 Web Dock Strip 與 TUI 獨立渲染塊,支持實時控制。
- 人工干預循環:支持
warning和critical兩種審查結果,前者允許繼續運行,後者觸發暫停並暴露修復能力。 - 兼容性:兼容標準模式和 Cordis 模式的自動路由。
安裝與啓用¶
插件通過 pnpm 安裝,需在 DSH 的 Web/TUI 通用配置路徑下執行。
- 進入插件目錄:
cd ~/.dsh/profiles/web
- 安裝核心插件與推薦的漸進式工具發現包:
pnpm add dsh-audit-mode@github:yhfgyyf/dsh-audit-mode
pnpm add dsh-progressive-tools@github:yhfgyyf/dsh-progressive-tools
- 將安裝的 bundles 添加到
package.json的dsh.profile.bundles字段中,並重啓該 Profile。
典型用法¶
啓動會話後,使用以下命令或操作進行審計控制。
啓動模式:
* 命令行:--preset audit
* Web 界面:在預設芯片中選擇 audit
* 會話內:/preset audit
命令行指令:
* /audit status — 查看當前輪次、間隔、最近裁決及暫停狀態。
* /audit now — 強制執行一次審計(不等待自動間隔)。
* /audit history — 查看側邊車中的審計歷史記錄。
* /audit accept [audit-id] — 接受指定的修復方案(可編輯後執行)。
* /audit resume — 恢復非關鍵審查失敗或手動暫停的會話。
TUI 操作:
* a — 執行修復方案(不變更)。
* e — 編輯修復方案並執行。
* c — 在暫停狀態下複製反饋內容。
* r — 恢復非關鍵暫停。
* Esc / Ctrl+C — 停止當前工作。
配置審查者後端¶
在 Profile 的 cordis.patch.yml 中配置 audit-bundle 行。未配置時默認使用 Codex。
默認 Codex 配置示例:
- id: audit-bundle
config:
reviewer: codex
binary: codex
args: [app-server, --stdio]
models:
summarizer: { model: gpt-5.6-luna, effort: medium }
auditor: { model: gpt-5.6-sol, effort: max }
Claude Code 配置示例:
- id: audit-bundle
config:
reviewer: claude-code
claudeBinary: claude
claudeArgs: []
models:
summarizer: { model: haiku, effort: medium }
auditor: { model: opus, effort: max }
DSH LLM 後端配置示例:
- id: audit-bundle
config:
reviewer: dsh
dshProvider: deepseek-official
dshMaxTokens: 4096
models:
summarizer: { model: deepseek-v4-flash, effort: off }
auditor: { model: deepseek-v4-flash, effort: high }
行爲與限制¶
- 執行頻率:首次審計需 60 秒,後續每 3 步或 3 分鐘執行一次,最小間隔 60 秒。異常情況會在下一個安全邊界審計。
- 失敗處理:連續 3 次審查失敗(不可達、超時、格式錯誤)將導致會話暫停。
- 最終審計:當會話銷燬時自動運行一次最終審計。
- 安全限制:插件不會調用
session.delete,僅通過session/disposed事件監聽會話銷燬。 - 路由限制:自動路由僅支持 standard / code / minimal / cordis 四種模式。
遠程 API¶
Web 端提供了以下 API 接口供第三方調用:
| 方法 | 路徑 | 參數 |
|---|---|---|
| GET | /api/audit/snapshot |
?session=<id> |
| GET | /api/audit/watch |
?session=<id> (SSE 事件) |
| POST | /api/audit/request-now |
{ sessionId, final? } |
| POST | /api/audit/accept |
{ sessionId, auditId?, editedText? } |
| POST | /api/audit/resume |
{ sessionId } |
注意事項¶
- 依賴版本:插件需要 DSH 版本
0.1.3-alpha.2。 - 運行權限:插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
- 生態說明:本插件屬於社區目錄項目,與 DeepSeek / 幻方無官方從屬關係。
總結¶
dsh-audit-mode 通過獨立的審查流程和人工批准機制,爲 DSH 智能體提供了可控的代碼審計能力。它支持靈活的後端配置、持久化的審查記錄以及 Web/TUI 雙端交互,適合需要在生產環境中引入安全審計流程的開發者使用。