前言¶
在 DSH 的智能体会话中,会话从当前沙箱模式升级到更高权限时,通常需要人工审批。若每次都由人确认,流程会被频繁打断;若直接放开,又缺少判断依据。dsh-yolo-mode 是面向这个场景的 DeepSeek Harness 插件:在审批策略为 ask 且会话处于可介入的沙箱模式时,用大模型对升权申请做自动裁决,并把不确定或异常路径回退为拒绝或转人工。
这是什么¶
dsh-yolo-mode 由 SeverusZh 维护,许可证为 MIT。
它的定位是:在 DSH 的 ask 审批环节加入一个 LLM-powered auto-approval 层,对 workspace-write 会话中的 danger-full-access / workspace-write 升权申请进行裁决,降低重复审批的人工成本,同时保留拒绝与转人工路径。
核心功能¶
下面按能力介绍。
在特定审批场景介入¶
插件只在以下条件下介入:
- 审批策略为
ask - 会话沙箱模式位于
modes中,默认modes为['workspace-write']
在这个范围内,插件会对 danger-full-access / workspace-write 升权申请调用裁判模型。
内置预设¶
内置预设包括:
offstrictbalancedpermissiveyolocustom
默认预设为 balanced。插件不默认启用 permissive 或 yolo。
自定义权限层级¶
levels 支持按目标模式设置策略,也支持通过 tools.<toolName> 对具体工具设置策略,并可配置 error 与 unsure 回退。
一个示例如下:
levels:
workspace-write: judge
danger-full-access: judge
error: delegate
unsure: delegate
tools.pwsh: delegate
tools.write: allow
这段配置把 workspace-write 和 danger-full-access 都交给裁判模型处理;当裁判出错或不确定时转人工;pwsh 工具转人工;write 工具允许。
裁判提示词¶
每个预设都有默认裁判提示词。judge.systemPrompt 留空时,会按当前预设自动选用。
设置面板¶
插件提供设置面板「YOLO 审批」页,可以在线修改:
- 预设
- 生效模式
- 裁判模型
- 层级表
审计日志¶
每次裁决都会落一条 JSONL 审计日志。状态弹窗支持打开日志,方便查看具体裁决记录。
fail-closed¶
以下异常路径不会直接放行:
- 超时
- 非法输出
- 模型不可用
- 并发溢出
这些情况会回退为拒绝或转人工。
安装与启用¶
先安装插件包。若从 npm 安装,运行:
dsh plugin --profile web add dsh-yolo-mode
若从本地路径安装,运行:
dsh plugin --profile web add <项目绝对路径>
插件声明 Node.js 版本要求为:
>=20
安装后,如需覆盖配置,先打开:
$DSH_HOME/profiles/web/cordis.patch.yml
然后按 id 覆盖 yolo-mode 的 config。例如指定预设和裁判模型:
- id: yolo-mode
name: dsh-yolo-mode
config:
preset: balanced
judge:
provider: <provider>
model: <model>
这里 judge.provider 与 judge.model 需要同时非空,裁判模型才会启用。
经过上面的步骤,重启 DSH 并刷新浏览器后生效。
安装注意事项¶
- 不要再用
- insert:添加yolo-mode或yolo-mode-bridge,否则启动会报duplicate loader entry id: yolo-mode。 - 本地
link:开发时,checkout 需位于$DSH_HOME/profiles/下,或仓库自带node_modules,否则可能报ERR_MODULE_NOT_FOUND。
典型用法¶
使用默认预设¶
安装后默认使用 balanced。如果只想先观察审计日志,可以暂不调整 preset。
指定裁判模型¶
在 cordis.patch.yml 中填入 provider 和 model。示例中的 <provider> 和 <model> 需要替换为你当前 DSH 可使用的模型配置值:
- id: yolo-mode
name: dsh-yolo-mode
config:
preset: balanced
judge:
provider: <provider>
model: <model>
按目标模式和工具细分策略¶
如果希望按目标模式和工具细分策略,可以在 yolo-mode 的 config 中提供 levels:
- id: yolo-mode
name: dsh-yolo-mode
config:
levels:
workspace-write: judge
danger-full-access: judge
error: delegate
unsure: delegate
tools.pwsh: delegate
tools.write: allow
这段配置把 workspace-write 和 danger-full-access 交给裁判模型,把 pwsh 转人工,把 write 允许;裁判出错或不确定时也转人工。
适用场景与注意¶
适合:
- DSH 会话中频繁出现沙箱升权审批,希望用模型判断替代部分人工确认
- 需要保留拒绝、转人工和审计日志,而不是无审计地全部放行
- 使用
webprofile,并愿意按cordis.patch.yml覆盖插件配置
注意:
- 插件作为 DSH 插件在本地运行,会以当前
dsh进程可获得的权限工作。安装前建议先检查源码、依赖和MIT许可证。 - 它只在
ask审批策略和指定modes下介入。 judge.provider与judge.model需要同时配置,否则裁判能力不会启用。- 本地
link:开发路径要满足 Node 模块解析要求,否则可能遇到ERR_MODULE_NOT_FOUND。
链接¶
GitHub 仓库:
https://github.com/SeverusZh/dsh-yolo-mode
社区目录页未列出具体 URL;如需检索,可在 DSH 社区插件目录中搜索:
dsh-yolo-mode