注册 /code-review 斜杠命令,五个并行审查视角、逐发现置信度打分,同时支持拉取请求与本地代码审查。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-command-code-review
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:JasonFreeLab/dsh-command-code-review
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 中文
DSH(DeepSeek Harness)斜杠命令 bundle:一个 /code-review 命令即可对拉取请求或本地代码做完整代码审查 —— 可配置审查视角、逐发现置信度与严重度打分。
/code-review斜杠命令插件:自包含 bundle,可安装到任意 dsh profile。
目录
特性
- 一个命令,两种模式 ——
/code-review <PR 编号|链接>审查拉取请求;/code-review [需求](或留空)审查本地代码。 - 可配置审查视角 —— 默认五个(AGENTS.md/CLAUDE.md 合规、bug/正确性、历史上下文、安全、代码注释合规),另有可选的性能视角;可按 profile 裁剪子集。
- 置信度 + 严重度打分 —— 发现跨视角去重后批量打分:置信度(真伪)+ 严重度(blocker/major/minor/nit);低于阈值的丢弃(默认 80)。
- PR 自动回帖 —— 拉取请求结果用
gh回帖到 PR;本地结果直接在对话中输出。 - 可配置 —— 置信度阈值按 profile 配置(见「配置」)。
- 审查报告文档 —— 本地审查完成后把结构化 Markdown 报告(内容为英文)和一个机器可读 JSON 文件写入文档,默认保存到
doc/;可用--out <目录>每次覆盖,或用config.outputDir按 profile 配置。文件名带当前 HEAD 后 7 位短 sha(非 git 仓库则省略)。
要求
- 基于
@deepseek-ai/dsh-base的 dsh profile(所有内置 profile 都满足),它提供commands服务以及工作流用到的子代理 / bash / todo 工具。 - GitHub CLI(
gh)已安装并认证 —— 仅在拉取请求审查时需要。本地审查无需gh。
安装
从 npm:
dsh plugin --profile web add dsh-command-code-review
从本地目录或 tarball:
# 目录
dsh plugin --profile web add /path/to/dsh-command-code-review
# 打包的 tarball
dsh plugin --profile web add /path/to/dsh-command-code-review-<version>.tgz
dsh plugin add 会把包装进 profile,并且因为它的 package.json 声明了 dsh.bundle,会自动追加到 dsh.profile.bundles。重启或重新引导 profile 后生效。
使用
在 DSH web 界面
- 启动 web 界面并打开打印出的地址:
dsh web(即dsh --profile web)。 - 新建会话,在输入框输入
/code-review。命令会自动注册,无需额外配置。 - 拉取请求的结果会用
gh回帖到 PR;本地审查的结果直接在对话中输出。
示例
/code-review 123 # 按编号审查一个拉取请求
/code-review https://github.com/owner/repo/pull/123
/code-review 审查 src/auth 的改动 # 审查指定的范围
/code-review 审查整个工程 # 审查整个仓库
/code-review # 审查当前未提交的改动
/code-review 审查 src/auth 的改动 --out reports # 报告保存到 reports/
/code-review --out docs 审查 src/auth 的改动 # --out 可放前也可放后
留空时会先探测当前分支的拉取请求,存在则审查它,否则审查当前未提交改动。
本地审查的报告还会写成 Markdown 文档 —— 默认保存到 doc/,或用 --out <目录>(或 config.outputDir)指定位置。git 仓库里文件名为 code-review-<sha7>-<slug>.md(<sha7> 为当前 HEAD 后 7 位短 sha,<slug> 由审查范围生成),非 git 仓库则为 code-review-<slug>.md。
工作原理
这个包是一个标准的 dsh bundle:
package.json声明"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }。cordis.patch.yml向 profile 层栈插入一行插件(id: command-code-review)。lib/index.js是一个 Cordis 插件,注入commands并注册code-review命令。handler 把 PR 编号 / URL 路由到拉取请求工作流,把其余输入(包括空输入)路由到本地审查工作流,再通过agent.followup投递。置信度阈值可配置(见「配置」),工作流会指示代理等待子代理完成通知而不是轮询。
用户可以在自己的 profile cordis.patch.yml 里禁用或覆盖该命令:
- disable: command-code-review
配置
置信度阈值:工作流会丢弃低于阈值的发现(默认 80)。在你的 profile
cordis.patch.yml里覆盖:- id: command-code-review config: threshold: 90报告保存目录:本地审查报告的保存目录(默认
doc)。按 profile 覆盖:- id: command-code-review config: outputDir: reports或每次调用用
--out覆盖:/code-review --out reports 审查 src/auth 的改动。审查视角:可用视角 id 为
guidance、bugs、history、security、comments、perf。默认是guidance、bugs、history、security、comments。按 profile 裁剪子集:- id: command-code-review config: lenses: [guidance, bugs, security]自适应视角:
autoLenses: true(默认)时,若审查范围命中安全敏感文件会自动启用安全视角,命中热路径会自动启用性能视角(若尚未启用)。用autoLenses: false关闭。
故障排查
- PR 上没有回帖:PR 已关闭 / 是 draft / 太简单 / 已审查过,或者没有发现达到 80 分。
- 提示 gh 不存在:安装并认证 GitHub CLI(
gh auth login);只有 PR 审查需要它。 - 代码链接无法渲染:必须用完整 commit SHA,以及
#L[start]-L[end]行区间格式。
目录结构
lib/index.js # 注册 /code-review 命令的 Cordis 插件
lib/lenses.js # 审查视角注册表与解析
lib/parse.js # 输入解析(--out 参数)
test/smoke.test.mjs # 冒烟测试
test/parse.test.mjs # 解析器单元测试
test/lenses.test.mjs # 视角解析单元测试
cordis.patch.yml # bundle patch
.github/workflows/ # ci.yml + release.yml + release-please.yml
开发
npm install
npm test # node --test(冒烟 + 解析器 + 视角单元测试)
贡献
欢迎提交 Issue / PR。
许可
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-git-graph★ 8639
输入框上方提供 Git 分支选择器,并把分支泳道与提交历史画成图谱,沿着时间线找到任意变更。
Akimiya-z/codex-guard#dsh★ 136
在 DeepSeek Harness 内做提交前的 Pull Request 卫生检查:扫描当前改动中的 TODO 残留、硬编码密钥与非规范提交信息。
Cerbur/clutch-dsh#clutch-dsh-worktree★ 34
为 DSH Web UI 增加按 Git Worktree 组织 Session 的视角,同时继续由 DSH 管理原始 Project 和 Session 数据。
lehhair/dsh-diff-viewer★ 26
PiUI 风格 diff 查看器,替换 write/edit 工具调用的默认 DiffBlock。
DamonKoy/dsh-web-ui#dsh-git-graph★ 23
dsh web GUI 会话头部栏的 Git 分支选择器与提交图。
PerryLink/dsh-github★ 22
官方级 GitHub CI 集成:composite action.yml、轮询 PR 评审机器人(幂等行内评论 + status-check 门禁)以及 PR/issue 工具,所有写入走人工审批门。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。