Skip to content

Releases: SeverusZh/dsh-yolo-mode

dsh-yolo-mode v0.4.0

Choose a tag to compare

@SeverusZh SeverusZh released this 14 Aug 17:29

dsh-yolo-mode v0.4.0

用大模型自动裁决 DeepSeek Harness 沙箱升权申请的双面包插件(宿主审批应答 + 客户端 UI)。

本版本亮点

  • 模型下拉选择:设置页的裁判 provider / model 改为下拉框,直接读取 Harness 模型配置(connection.api.llm),切换 provider 联动清空 model。
  • 每预设默认裁判提示词strict 最保守、balanced 通用、permissive 宽松、custom 按层级表,judge.systemPrompt 留空时自动选用。
  • 预设预填充:切换预设时自动把该预设的默认提示词与层级表填入 systemPrompt / levels(选 custom 留空,供自定义)。

功能总览

  • LLM 自动裁决 workspace-write 会话中的沙箱升权申请(allow / deny / unsure),确定时免去人工弹窗。
  • 六种内置预设(off / strict / balanced / permissive / yolo / custom)+ 自定义层级表(逐目标模式、逐工具、error/unsure 回退)。
  • 图形化设置页 + 输入栏状态 chip + 决策统计面板。
  • fail-closed:超时、非法输出、模型不可用、并发溢出等一切异常路径都回退为「拒绝」或「转人工」。
  • 完整 JSONL 审计日志。

安装

dsh plugin --profile web add dsh-yolo-mode

在 profile 的 cordis.patch.yml 追加两行(主条目 + 设置桥接条目):

- insert:
    - id: yolo-mode
      name: dsh-yolo-mode
      config:
        preset: balanced
        judge: { provider: <provider>, model: <model> }
- insert:
    - id: yolo-mode-bridge
      name: dsh-yolo-mode/bridge

详见 README

v0.1.0

Choose a tag to compare

@SeverusZh SeverusZh released this 14 Aug 11:36

Changelog

本项目遵循 Semantic Versioning

[0.1.0] - 2026-08-14

新增

  • 宿主侧审批应答插件:作为 approval/request seam 的应答者,在会话处于可写沙箱模式且审批策略为 ask 时,用 LLM 自动裁决沙箱升权申请。
  • 抢占注册:以 ctx.on('approval/request', handler, { prepend: true }) 抢占监听列表头,抢在人工应答者之前裁决。
  • 前置门槛:按 ctx.sandboxPolicy.resolve({session}) 校验当前有效模式,仅处理位于 modes 列表(默认 ['workspace-write'])内的会话。
  • 内置预设off / strict / balanced(默认)/ permissive / yolo / custom,各含 workspace-writedanger-full-access 的处置策略与失败 / 不确定回退。
  • 自定义层级levels 支持目标模式、error / unsure 回退、以及逐工具 tools.<toolName> 覆盖,custom 预设全字段开放。
  • LLM 裁判封装:基于 @deepseek-ai/dsh-llmBlockAssembler / createUserMessage / llm.stream)与 @deepseek-ai/dsh-timeoutdeadline)实现,含并发信号量上限与超时。
  • 裁决策略映射allow → allowed-oncedeny → rejecteddelegate → next()judge → 裁判;失败 / 不确定按预设 fail-closed 回退。
  • JSONL 审计ctx.logger + 文件(默认 %TEMP%/dsh-yolo/judge.log)记录每次裁决的明细。
  • 纯函数策略层 lib/policy.js(零依赖,可单测)与单元测试 test/policy.test.mjstest/judge.test.mjs

安全

  • fail-closed:任何错误、超时、非法输出、工具块、并发溢出路径均不放行。
  • 裁判 prompt 与 agent 上下文隔离,防审批回环自批准。
  • 默认预设为 balanced(不确定 → 转人工),不默认启用 permissive / yolo