Repository navigation
Releases
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.2
dsh-auto-pass v0.2.2
新特性
- 自动打开审批时间线改按「记录新鲜度」判:只有刚发生(1 分钟内)的审批才自动展开,切会话 / 刷新页面翻到的历史记录只记基线。
- 右侧栏「审批时间线」tab 加未读角标:本轮页面里还没看过的记录条数,时间线一显示即清零。
修复
- 手动关掉时间线 tab 之后,下一次审批会重新打开它(侧栏本身没收起也算)。
兼容
- 老宿主(没有
isExpanded/mounted)保持旧行为「尽力打开」。 - 观察器改为一次
GET /log?limit=30(不带 session)同时喂自动展开与未读计数;开关关着时仍轮询。 - 策略 / 计数 / 记录格式未变;不带
cwd的/config行为不变。
测试
pnpm test:6 个测试文件 / 215 个用例全绿(较 v0.2.1 +4)。
真机验证(2026-09-20)
- 15:04:21 触发审批 → 15:04:27 宿主日志
client beacon stage=auto-open-timeline,确认关掉 tab 后重新打开。
v0.2.0
- 审批时间线整体重排:左侧竖轨道(竖线 + 按结论着色的圆点:绿 = 自动批准 / 黄 = 待人工或黑名单拒绝 / 灰 = 已人…
…工定夺)
- 按天分组(今天 / 昨天 / MM-DD)+ 两行行头——第一行「时分秒 · 工具 · 来源 chip · 自动写入标识 · 结论/结果徽标」,
第二行审批意见;时间紧贴圆点、行内不再有展开箭头(整行可点,hover 有底色);命中规则说明悬停 chip 可见;
「第几轮第几步」只保留在排查信息里。
-
展开态整块背景:展开的那条记录行头 + 详情 + 轨道同处一个圆角色块,行头与详情之间一条整跨分割线,
展开的圆点放大到 10px;hover 底色(含轨道、圆角、过渡)与展开淡入动画同一套机制。 -
「加入名单」「排查信息」卡头即入口:卡头那一行本身就是开关(内联 SVG 箭头,展开旋转 90°),
删掉底部重复的文字入口行;「本次加入的规则」卡改「标签优先」竖排(规则标签独占一行,徽标让到下一行)。 -
达阈值自动写入的规则把条件来源写进记录(
ruleApplied.optimizedBy:record = 模型建议 / signature = 权限指纹),
时间线折叠行标出短标识+白名单(条件来源与作用域 + 规则标签悬停可见;已有规则覆盖时显示「白名单已覆盖」)。 -
移除面板上的「本次会话 / 全部会话」切换:面板固定看本次会话;记录里的
sessionId等字段与宿主/log
接口(支持?session=过滤、也支持查全部)一律保留,只是界面不再提供入口;随之删掉每行底部的会话名小字。 -
记录结构只增不改,老记录照常显示;缺
optimizedBy的老记录不标条件来源,不瞎标。 -
pnpm test:6 个测试文件 / 206 个用例全绿(client 35,新增「按天分组 / 两行行头 / 轨道修剪」与「卡头即入口」两组用例)。 -
视觉按真机宽度(300–340px)与浅 / 深主题在预览页逐项核对后落地(列表边距、展开背景、分割线、hover 与展开动画、
行尾徽标右对齐)。
v0.1.2
(没有可用建议则回落到本次动作的权限指纹)写入名单:有工作区写本项目、否则写全局。记录的 ruleApplied 带
auto:true,时间线详情注明「(连续放行达阈值,自动加入,未询问)」,撤销入口与手动加入完全相同;宿主日志写
「连续计数达阈值,自动写入规则 …」。
-
黑名单仍然人工确认:这一侧照旧弹卡(本项目 / 全局 / 不加入),确认才落盘,选「不加入」记入 dismissed 不再询问;
白名单那侧完全绕开 ask 通道,无人应答(子 Agent / 无人值守)也照样写入。 -
设置面板文案同步:放行阈值说明改成「达到后自动加入白名单(不再询问)」,被拒侧仍是「达到后询问是否加入黑名单」。
-
pnpm test:6 个测试文件 / 200 个用例全绿。 -
真机(2026-09-16,本工作区,阈值 allow=2):同一条
git log --oneline -5+ danger-full-access 连发两次 →
第二次自动写入command_prefix: git log(日志「连续计数达阈值,自动写入规则」、全程无确认卡);第三次换参数
直接命中名单放行,不再启动审查。
v0.1.1
v0.1.0
dsh-auto-pass v0.1.0(首个发布)
给 DeepSeek Harness WebUI 增加「自动审批」权限档位:审查通过的动作自动放行,其余一律转人工。
只解决「自动审批通过」,不解决无人值守;本项目 fork / 参考自 https://github.com/simon300000/dsh-auto/
新特性
- 自动审批档位:每次审批走一次单轮模型审查(不起子代理),只把 allow 的请求放行为 allowed-once;模型拒绝、宿主安全降级、审查失败(超时 / 无路由 / 输出非法 / 拿不到动作)一律交回 DSH 原生人工审批链。
- 权限记忆:白名单 / 黑名单分「本项目 / 全局」两级,命中名单直接放行或转人工(不调用模型);同一动作连续放行 / 连续被拒达阈值(默认 3 次,可改)后询问是否加入名单,确认才写入。
- 两个面板:对话区「审批设置」(阈值 + 两级名单,规则可原地编辑)、右侧栏「审批时间线」(倒序记录,支持 全部 / 白名单 / 黑名单 / 自动 / 人工 快捷筛选,一键升级为白名单或降级为黑名单)。
- 界面开关(写进设置命名空间 dsh-auto-pass,改完立即生效):注入审批结果到上下文、黑名单直接拒绝、自动打开审批时间线、拒绝后追问理由。
- 上下文里的审批摘要:审批结束后注入一行(含审查结论与最终结果);人工写下的拒绝理由作为第二行单独注入。
- 证据与匹配条件:审查只看「归一化动作 + 你最后一条直接消息 + 最近一次提问回答」;规则条件是 signature / command_prefix / path_prefix(路径前缀支持单层 *)。
- 按工作区落盘:审批记录 records/<工作区>.json(每工作区 1000 条)、连续计数 counters/<工作区>.json(每工作区 500 条),启动时清理死条目并迁移旧格式。
修复
- 连续计数不再无限膨胀:新增 at 时间戳、启动清理零值死条目、每工作区上限 500 条(先淘汰最久未用的活动条目)。
- 计数信号改为以「最终结果」为准:模型判 deny 但你在审批卡放行,计为连续放行。
- 计数键归一化:忽略 description / justification、管道之后、结尾输出重定向与 workdir 写法差异。
- 「黑名单直接拒绝」此前被误记为人工决策,修正为插件自动决策。
- 界面开关曾在插件构造期读取导致失效(改了设置不生效),改为每次审批重新读取。
- 同名或已被覆盖的规则不再重复写入,覆盖窄规则时自动合并。
文档
- 中英 README 逐节镜像;开头写明项目定位(只解决自动审批通过,不解决无人值守)与出处。
- 配置节只列「适合写在配置文件里」的键,并逐键说明含义、默认值与校验口径。
- 三张界面截图(档位选择 / 审批设置 / 审批时间线),中英文档复用同一组。
测试
- pnpm test:6 个测试文件 / 183 用例全绿。