跳到主内容

dsh-auto-review 使用指南

在 DSH 审批环节插入第二个只读 AI 模型审阅请求,让危险工具在执行前先经过独立判断,失败默认拒绝,全程留审计日志。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-auto-review

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add dsh-auto-review

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • git 渠道(最新 main):dsh plugin --profile web add "github:PerryLink/dsh-auto-review#main" —— 隔离的 prepare 构建需要 dsh CLI 为 dsh-auto-review 打印出的那个 allowBuilds: { esbuild: true } 键。
  • npm 渠道(已发布版本):dsh plugin --profile web add dsh-auto-review。
  • tarball 渠道:在本仓库执行 pnpm pack,然后 dsh plugin --profile web add ./dsh-auto-review-<version>.tgz。
  • 卸载:dsh plugin --profile web remove dsh-auto-review(或从 profile 补丁中删除该行)。
    • id: auto-review

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

这个插件解决什么问题?

DSH 默认需要人类审批沙箱外动作。本插件在审批链上挂一个第二个 AI 模型,让 bash、write 这类"先读后写"的工具在执行前由该模型读上下文并返回允许/拒绝,配套失败兜底、风险等级策略、拒绝熔断器和会话日志审计。

我安装后还要做什么?

安装并重启 profile 后会自动挂上一个 auto-review 行,默认 AI 审查 bash 和 write,其它工具交给人类。安装命令是 dsh plugin --profile web add github:PerryLink/dsh-auto-review,安装即用,不要求改配置文件。

它会自动放行我所有的工具吗?

不会。只有在 cordis.yml 或 bundle patch 的 toolsPolicy.overrides 里把工具标成 ai 的才会自动审查;未列入的工具走表默认 human(仍交给人类审批)。还可以用 never 把某些工具彻底硬禁用,命中后写拒绝原因、注入模型可见标记,不再询问人类。

审查模型挂了/超时了会怎样?

走 fallbackPolicy,默认 rejected(保守拒绝),不会悄悄放行。超时、崩溃、子 agent 起不来、verdict 结构不对都会触发这条回退;策略也可以改成 delegate(交给人类)或 allow-once(无条件放行一次,文档明确标注为危险)。

我能不能临时关掉它?

在会话里跑 /auto-review off 即可,会写一条 autoReview/state 事件,回放时仍能恢复;on 重新开启,status 查看当前状态、当回合预算、累计统计、熔断触发情况,approve [n] 给最近一次拒绝授权一次重试。

Web 界面有没有可视化面板?

有。在 Web profile 的会话头部多了一个 AI Review 按钮,打开后能看到开关、两个回合预算、累计统计、最近裁决和最近拒绝的一次性批准按钮;不需要额外 patch,浏览器半段会随包自动注册。

它会写到会话日志吗?我怎么审计?

会。审查状态、裁决、熔断、授权、硬禁用这五类事件都写入 session log(ignorable: true 标记),整套决策链 approval/asked → autoReview/verdict → approval/decided 都能从日志里复原。早期 harness 版本(0.1.0-rc.1 ~ rc.7)会丢弃这个标记,所以插件会自动降级为内存审计并一次性提醒,必要时用 dsh-permission-rules 里的 repair 脚本修历史日志。

卸载麻烦吗?

不麻烦。一行 dsh plugin --profile web remove dsh-auto-review 即可,或者从 profile patch 里删掉 auto-review 行。它属于 transactional 卸载,不会破坏 profile 之外的现有状态。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 0.1.0-rc.7(所有 dsh-* peerDependencies 都精确锁定为 0.1.0-rc.7;dshWorkshop.compatibility.dshVersions 也只列了 0.1.0-rc.7)
  • Node: ^22.19.0 || >=24.0.0(package.json#engines.node)

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则