dsh-reviewer-bot

by chaojixinren

8 开发与运行时github未核验到 manifest收录于 08-16

原生 DeepSeek Harness 插件形态的代码评审机器人:跨代码平台、规则可插拔、可本地重放。

安装

dsh plugin --profile web add github:chaojixinren/dsh-reviewer-bot

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

原生 DeepSeek Harness 插件形态的代码评审机器人。跨代码平台,规则可插拔,可本地重放。

为什么不是又一个 CI Action

现有方案把 DSH 当成一个黑盒 Docker worker 来调用——拿不到插件生态、每次事件冷启动、规则写死在 prompt 里、调 prompt 只能推 PR 等 CI。

我们直接长在 Cordis 扩展点上:

现有方案 DSH Reviewer Bot
与 DSH 的关系 外部进程调用 原生插件,共享 ctx
平台支持 仅 GitHub GitHub / GitLab / Gitea / 本地
评审规则 prompt 内写死 规则包可独立发布安装
本地迭代 推 PR 等 CI dshrb review --local / dshrb replay
运行形态 一次性 Action Action / Daemon / DSH profile / CLI
Docker 写模式硬依赖 可选隔离后端

设计文档

完整设计在 docs/,含 mermaid 图:

三种安装方式

按场景选一种接入:

方式 接入入口 适合
DSH 生态用户 dsh plugin --profile <name> add @dshrb/bundle 装进既有 profile,与其他插件共享 ctx
GitHub Action workflow 里 uses: dshrb/reviewer-action@v0.1.1 尝鲜、小仓库
Daemon 常驻 webhook 服务 大仓库、多仓库、私有部署
# DSH 生态用户:装进既有 profile,与其他插件共享 ctx
dsh plugin --profile web add @dshrb/bundle   # --profile 换成你的 profile 名

# GitHub Action:见 examples/review.yml
# Daemon:见 docs/08-deployment-modes.md

本地迭代命令 dshrb review --local / dshrb replay <run-id> 不构成独立安装方式,见 部署形态。

命令

评审者在 PR 评论首行触发(非首行不触发,避免引用他人评论误触):

命令 作用 最低信任
@dsr review 重新评审 untrusted
@dsr explain <path> 解释某文件改动 untrusted
@dsr diagnose 读失败 CI 定位原因 trusted-read
@dsr fix 改代码并跑校验 trusted-write + allow-write
@dsr rules 打印生效规则 untrusted

@dsr fix 本身不授予任何写权限:需要 actor 权限与仓库配置同时成立。

开发

pnpm install
pnpm run typecheck
pnpm run check     # typecheck + lint + test

Node 22.19+ / 24+ / 26,pnpm 11.x,对齐上游 DSH 的 engine floor。

想参与开发?先读 贡献指南。

仓库结构

docs/                    设计文档(mermaid)
packages/core/           领域类型与评审内核
  review-core            领域类型(零依赖、零 I/O,公共词汇表)
  forge                  ForgeGateway 接口 + provider 注册表
  trust-policy           四级信任判定 + 工具执行门禁
  rule-registry          规则包注册表(glob 匹配)
  review-runtime         八阶段评审管线编排
  progress               sticky 进度评论生命周期
  runtime-bootstrap      Cordis 容器 + 插件链 + agent loop 装配入口
packages/forge/          provider 实现(github / gitlab / local)
packages/tools/          模型可见评审工具(注册在 ctx.tools)
packages/rules/          评审规则包(baseline)
packages/drivers/        Action / Webhook / CLI 三种外壳
packages/probe/          上游签名探针(仅开发期验证契约)
bundle/                  dsh.bundle 声明,供 dsh plugin --profile <name> add
examples/                workflow 模板
scripts/                 包清单生成(gen-package-manifests.mjs 单一事实来源)

安全

  • 凭据(forge token、DeepSeek API Key)在任何信任等级下都不进入 Agent 工作区
  • 仓库内容、diff、评论、CI 日志、模型输出全部视为不可信数据
  • 校验命令是 JSON argv 数组,不过 shell
  • .github/**、package.json 的 scripts、二进制文件为 ctx.tools.guard() 永久红线,后续 listener 无法翻案
  • 完整威胁清单见 信任模型

发现安全问题请私下报告,勿开公开 issue。

Star 历史

许可

MIT。非 DeepSeek 官方项目。

原始 README: https://github.com/chaojixinren/dsh-reviewer-bot/blob/main/README.md ↗