前言¶
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 双端交互,适合需要在生产环境中引入安全审计流程的开发者使用。