README来源: main@98a1292f
原生 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
- GitHub Action 最小配置见
examples/review.yml,命令触发见examples/commands.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 官方项目。
还没有评论,来写第一条。