DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

log-li /

log-li/dsh-auto-mode

Verified

CC-style auto approval layer for DeepSeek Harness: deterministic rules + two-stage classifier, circuit breaker, fail-to-human. Shadow mode day one.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@0a0c8b35

dsh-auto-mode

CC 风格的自动审批层(DeepSeek Harness 常驻插件)。在专用权限预设 auto 内, 把 approval/request 瀑布的请求按六个频带路由,从便宜到昂贵:

  1. hardDeny 正则 — 直接拒绝(外传凭据、管道执行远程脚本、authorized_keys、密钥材料等)
  2. humanOnly 正则 — 永远转人工(~/.ssh、shell 配置、.env、credentials 等)
  3. deletionGuard — rm / unlink / shred / git clean -f 一律拒绝,并提示改用 trash <file>(macOS 自带 /usr/bin/trash),文件进回收站可恢复,而非永久销毁
  4. allowCommands 白名单 — CC settings.json 风格的前缀 glob(npm install*、git status *…), 零 LLM 直接放行;deny 频带永远优先于白名单
  5. 确定性形状 — 只读工具/联网工具放行;escalate sandbox to <mode>: 请求仅当 目标是 workspace-write 且所有可提取路径都在信任根内才放行;danger-full-access 永不自动给
  6. 两级分类器 — 仅模糊频带:fast 单发 SAFE/UNSAFE → 不确定时 JSON 复查; 任何失败 FAIL 转人工,绝不瞎猜。会话级熔断器(连续/累计 DENY)把失控会话还给人类

路径白名单:allowPaths(如 ~/Documents/work/)会并入信任根,工作区外的常用目录从此不再弹卡。

上线第一天 = shadow 观察模式

dryRun: true:所有判定只进环形缓冲 + 控制台 + GET /auto-mode/decisions, 实际决定仍交给瀑布下游(approval-llm / 人工)。确认观察期无异常后,在 profile 的 cordis.patch.yml 里加一行覆盖即可切换为强制模式:

- id: auto-mode
  config:
    enabled: true
    modePreset: auto
    dryRun: false        # ← 关键开关;补丁整行替换,需重述要保留的字段
    trustWorkspace: true
    trustRoots: []
    allowNetwork: true
    # …其余字段见 cordis.patch.yml 默认值

设计铁律与关键发现(2026-08-21 会话事故复盘)

  • 审批处理器内零会话日志写入(dsh-approval-llm v0.1.3 会话中毒类)。
  • 每个 approval.request 必须携带 signal: exec.signal: ApprovalService.decide() 在无 signal 时跳过中止竞速 (if (signal === undefined) return answer),停止永远取消不了该询问。
  • 瀑布注册顺序 = 外层先跑:apiproxy 的人工应答器在组合启动时注册, 任何启动后追加的监听器(全部动态插件)都排在它下游、永远轮不到。 本插件用 { prepend: true } 注册到最外层;无判定时照常 next()。

自检

  • 工具:auto_mode_probe(被占用时自动降级为 auto_mode_probe_v2), 把合成请求推进真实 ApprovalService 管线并回报各场景判定。
  • HTTP:GET /auto-mode/decisions(被占用时 -alt 后缀),环形缓冲最近 200 条。
  • 纯路由单测:proto/routing.test.mjs(12 例),node --test proto/routing.test.mjs。

维护警告

任何 pnpm 操作(install/add/update)都会清掉 harness 的两份运行时补丁。 装完依赖后必须立刻重跑:

bash ~/.dsh/apply-dsh-patches.sh   # 你部署里的补丁重放脚本(如有)

结构

package.json       dsh.bundle.patch -> ./cordis.patch.yml
lib/index.js       宿主半区(ESM;Config schema + apply)
cordis.patch.yml   插件行插入 + permission 行重述(新增 auto 预设)
proto/             动态原型(开发史 + 单测),不再参与加载
—/ 5

No ratings yet

Verified DSH bundle

Commit 0a0c8b35ec36

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout