Back to home

chaojixinren

dsh-reviewer-bot

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

Stars
6
Language
TypeScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

DSH Reviewer Bot

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

CI License: MIT Node 22.19+ | 24+ TypeScript 5.9.2 pnpm 11.7.0 milestone: M2

当前状态:M3(写模式)已完成。 M1 只读评审闭环、M2 规则与本地化已全部落地(领域类型 review-core、forge 接口 + 注册表 + 锚定器、trust-policy 四级判定、forge-github provider、tool-review 只读工具、review-runtime 八阶段管线、progress sticky 上报、driver-actionrule-registryrules-baselineforge-localdriver-cli),配 439 例单测(14 个测试文件)全绿;signature-probe 在真实容器里验证扩展点签名。M3 已全部交付:mutate 阶段 + sandbox 写隔离、ctx.tools.guard() 写路径单调硬红线、propose_patch、校验命令闸门与 commit 决策、diagnose 意图。M4 生态(GitLab provider、webhook、bundle 发布、分片并行、跨 PR 记忆等)尚未开始。

为什么不是又一个 CI Action

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

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

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

信任模型完整继承现有方案的四层设计(这部分它做得扎实),并显式化为可测试的能力矩阵,无任何放松。

设计文档

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

三种安装方式

# DSH 生态用户:装进既有 profile,与其他插件共享 ctx
dsh plugin add @dshrb/bundle

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

命令

评审者在 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/           领域类型 · Forge 接口 · 信任策略 · 规则注册表 · 管线 · 进度上报
packages/forge/          GitHub / GitLab / 本地 provider
packages/tools/          模型可见评审工具
packages/rules/          基线规则包
packages/drivers/        Action / Webhook / CLI 三种外壳
bundle/                  dsh.bundle 声明,供 dsh plugin add
examples/                workflow 模板

安全

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

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

Star 历史

Star History Chart

许可

MIT。非 DeepSeek 官方项目。