dsh-safe-workflow:为 DSH 增加受控、可验证的工作流

前言

在 DeepSeek Harness(DSH)里,插件可以扩展智能体的工作方式。对编码类任务来说,风险常常不在于“能不能跑命令”,而在于连续改文件、改代码、跑验证时,缺少明确的任务边界、审批记录和可回查的证据。

dsh-safe-workflow 是一个独立的 DSH 插件,用于让编码工作流更受控、更可验证:它会在模型调用工具前加入策略检查,并在执行过程中留下任务合同、审批、检查点和验证记录。

下面介绍它的能力、本地安装方式、一个典型用法,以及它不是沙箱的限制。

这是什么

dsh-safe-workflow 是一个 DeepSeek Harness 插件,维护者是 cnwutianhao,许可证为 MIT。

它的目标不是替代 DSH 的沙箱,而是在 DSH 工作流中加入更明确的约束:任务合同、路径规则、审批门、检查点、验证记录和尽力而为的文件快照。

核心能力

插件向模型暴露一个工具:safe_workflow。它支持以下操作:

  • start:创建任务合同;
  • status:查看当前活动合同;
  • checkpoint:对选定工作区状态做快照;
  • restore:恢复某个检查点;
  • verify:运行验证命令并记录输出;
  • close:关闭合同。

插件还会安装两个 DSH 原生策略监听器:

  • tools/pre-execute:在变更类工具执行前检查路径规则,并请求审批;
  • tools/execute:在变更发生前创建自动的、尽力而为的检查点。

插件会把状态写入当前会话工作区下的 .dsh-safe-workflow/ 目录:

.dsh-safe-workflow/
contract.json
audit.jsonl
checkpoints/

其中:

  • contract.json:保存活动任务合同和验证记录;
  • audit.jsonl:以追加方式记录会话、工具和检查点证据;
  • checkpoints/:保存检查点清单和复制的文件。

安装与启用

插件说明给出的安装方式是本地 DSH source checkout 插件安装,使用 PLUGIN_DIR 指向插件目录;未提供 npm registry 安装命令。

先完成插件构建,然后在 DSH checkout 中执行:

DSH_DIR=/path/to/deepseek-harness
PLUGIN_DIR=/path/to/dsh-safe-workflow

cd "$DSH_DIR"
pnpm dsh plugin --profile web add "$PLUGIN_DIR"

安装后,插件会出现在 DSH 插件列表中,并启用在 Web profile。你可以通过 DSH 插件列表或配置输出来确认。

典型用法

一个示例任务可以这样描述:

Start a safe workflow titled "Fix parser regression".
Goal: fix the parser regression without changing public APIs.
Acceptance checks: run npm test and npm run typecheck.
Only allow changes under src/ and test/.
Require approval before bash, write, edit, or str_replace_editor.

这里把任务目标、验收命令、允许修改的路径、需要审批的工具都写进合同。

实现完成后,可以让智能体运行 safe_workflow verify 执行验收;只有验收通过时,再运行 safe_workflow close 关闭合同。

当某个会修改状态的工具即将执行时,审批门会说明请求操作,由你选择批准或保持合同不变。

适用场景与注意

它适合希望给 DSH 编码任务增加显式边界的使用场景:限制路径、要求审批、留下验证和检查点记录。

需要特别注意:它是 workflow guard,不是进程沙箱。插件运行在宿主进程中,拥有宿主进程权限。它提供策略、证据和尽力而为的文件快照,但不承诺对任意 shell 副作用、网络操作、数据库或未包含在检查点中的文件做原子回滚。

如果用于生产环境,建议:

  1. 审查插件源码;
  2. 固定插件版本或 commit;
  3. 如需要,将 .dsh-safe-workflow/ 放在敏感仓库之外;
  4. 保持 DSH 正常的沙箱和审批层启用。

参考

  • 目录页:https://www.skillhub.cn/plugins/cnwutianhao/dsh-safe-workflow
  • GitHub:https://github.com/cnwutianhao/dsh-safe-workflow
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye