提供 /review、/review-status 和 /review-cancel,用独立原生子 Agent 审查所选 Git 范围(基准分支、未提交更改、某次提交或自定义要求),并把发现报告返回当前会话;报告语言跟随宿主 locale,支持中英文。
安装
# npm 包(预构建)
dsh plugin --profile web add @michengai/dsh-code-review
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:MichengAI/dsh-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
DSH Code Review
在当前会话发起审查,让独立 Agent 检查代码并带回报告
English · 开发文档 · 更新日志 · Apache-2.0
DSH Code Review 是 DeepSeek Harness 的社区代码审查插件,包名 @michengai/dsh-code-review。在当前会话输入 /review,选择范围或写下要求,原生独立子 Agent 会自行检查 Git、源码、调用方和测试,再把报告返回主会话。无需安装 Codex。
宿主兼容性
宿主支持范围:DeepSeek Harness 0.2.x 全系列(>=0.2.0-rc.1 <0.3.0-0),已验证兼容 0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.1、0.2.1-rc.2、0.2.1-rc.3,并自动支持后续日常小版本、alpha 与 RC,同代宿主升级无需重复等待发版。早期版本与 0.3.0 代际破坏性更新由版本门拦截。通过 dsh.bundle.patch 加载。需要原生 spawn provider、userQuestions 服务、当前平台的问题回答器,以及支持工具调用的模型。
可从 npm 安装,也可从源码构建。已验证离线宿主与安装包链路;真实模型的审查质量、语言遵循和不同平台的交互仍需实际验收。
你可以做什么
- 选择审查范围:对比基准分支、检查未提交更改、选择一次提交,或输入自定义要求。
- 让审查 Agent 自行取证:独立上下文读取 Git、相关代码和测试,不提前注入全仓代码快照。
- 在主会话查看结果:接收带优先级、文件路径和行号的发现;模型返回普通文本时保留原文。
- 使用中英文报告:通过独立语言上下文跟随宿主语言偏好,保留 Codex 英文规范原文。
- 查看状态或取消:恢复最近一份报告,或取消范围选择和进行中的审查。
环境要求
- 已安装 DeepSeek Harness,PowerShell 中可运行
dsh。 - Node.js ≥
22.19.0、npm 和 Git;Node.js 同时应满足所安装 DSH 的要求。 - 示例使用
webprofile,请替换为实际运行 DSH 的 profile。
DSH 产品生态
想使用桌面工作台,可下载 DSH Codex Desktop;已有 DeepSeek Harness 环境,可按各项目 README 按需安装。以下列出 11 个自研插件;桌面端实际随附范围以对应版本的发行说明和内置清单为准。
| 插件 | 你可以用它做什么 |
|---|---|
| Codex UI | 整理项目与会话、搜索任务、跳转对话轮次 |
| Agency Agents | 按任务选择并召唤专业角色 |
| Skills Manager | 统一查找、启停、创建和导入本机技能 |
| Archive Manager | 搜索、恢复或清理已归档会话 |
| IM Connect | 从消息平台下任务、收回复 |
| Automation | 按计划执行任务,查看每次运行的结果 |
| BTW | 在当前上下文中临时旁问,不打断主任务 |
| Simplify | 用 /simplify 整理 Git 改动范围内的代码 |
| PUA | 引导 Agent 在失败时换方法、查原因,并在完成前验证结果 |
| Code Review | 用 /review 发起独立 Agent 代码审查,在当前会话接收报告 |
| Codex Pet | 通过桌面宠物查看会话提醒、处理工具审批和问题回答 |
安装
让 Agent 安装(推荐)
将以下要求发送给能访问本地终端的 Agent:
请安装 DSH 插件 @michengai/dsh-code-review 到本机 web profile:执行 dsh plugin --profile web add @michengai/dsh-code-review@latest --registry=https://registry.npmjs.org/,再运行 dsh --profile web --dump-config,确认插件已加载,并说明如何重启 DSH 和使用 /review。任一步失败请停止并报告原因。
手动安装
执行以下命令:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add @michengai/dsh-code-review@latest --registry=https://registry.npmjs.org/
dsh --profile web --dump-config
各步成功后再执行下一步。重启实际运行的 DSH 后端,再输入 /review。这是原生插件,无需手工复制 lib,也不是 SKILL.md 技能包。
使用
| 目标 | 输入 |
|---|---|
| 打开范围选择 | /review |
| 自定义审查重点 | /review 检查上一提交的权限回归 |
| 查看进度或最近报告 | /review-status |
| 取消选择或正在运行的审查 | /review-cancel |
空输入提供四项:对比基准分支、审查未提交更改、审查某次提交、自定义要求。未提交范围包括暂存、未暂存和未跟踪文件。基准菜单列出本地分支;提交菜单列出最近 100 条提交,也可自由输入其他引用。
命令后面的整段文本都是自定义要求,不解析 CLI 参数。--base main、.、status 均按普通文字传递。审查范围和所需上下文由子 Agent 自行判断和获取;“审查全项目”会原样传递,但不代表程序已验证逐文件完整覆盖。
配置与报告
| 可选配置 | 行为 |
|---|---|
reviewModel |
同一模型提供方下的审查模型名称;省略时继承当前模型配置 |
reportDirectory |
报告存放的绝对路径;默认 $DSH_HOME/code-review,未设置 DSH_HOME 时为 ~/.dsh/code-review |
语言复用宿主 locale.preference:en / en-* 使用英文,其余按当前中英文支持范围默认中文。读取 settings.describe() 返回的 locale 配置条目。每轮开始固定语言,下轮读取新设置;命令目录描述和输入提示在插件加载时确定,更新它们需重新加载插件。未保存偏好或读取失败时默认中文,后端无法获取仅由浏览器自动检测的语言。
每个会话原子保存最近一份报告。交给会话的报告使用 DSH 可渲染的 GitHub Flavored Markdown:状态标题、发现小标题、带行号片段的本地文件链接和段落。历史报告正文不自动翻译;JSON 字段、枚举、代码和路径保持原样。宿主退出后不会自动续跑未完成审查。状态、取消和报告存储是 DSH 插件提供的能力。
常见问题
与 Codex 完全一样吗?
审查规范和短任务模板对照固定源码提交 a592c38c16cdd7623dacc9168926ebccedfb67d3。问题界面、工具、权限和事件展示使用 DSH 原生能力,不是 Codex Desktop 的像素复刻;不同模型不保证相同发现。
审查会修改代码吗?
审查要求不生成修复,但工具层并非强制全部只读。执行方式与 Agency 专家一致:通过原生 spawn 注入审查角色,保留宿主其余系统提示和工具,只禁用递归代码审查及专家召唤工具。权限由宿主在委派时确定,插件不改写审批策略,也不转发子会话审批。受权限限制的操作会由宿主拒绝,审查 Agent 说明证据和测试缺口后返回报告。
若 Git 命令报 Windows 沙箱准备失败,或测试报 spawn EPERM,需要由主会话处理宿主环境或权限,再重新发起审查。报告中的“完成”表示 Agent 已返回,不保证取得全部 diff 或成功运行测试;具体限制以报告正文为准。
安装后没有输出怎么办?
确认安装和运行使用同一 profile,重启 DSH 后端,再检查 dsh --profile web --dump-config 是否包含插件。空 /review 需要宿主问题回答器,主模型也必须支持 dsh_code_review 工具调用。可用 /review-status 查看记录;不要把“已提交请求”当成审查完成。
中文界面为什么仍可能看到英文?
请在宿主明确选择中文或英文。模型输出由语言指令约束,无法保证始终遵守;外部工具的原始错误、代码和历史报告不会自动翻译。
开发与贡献
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
npm ci --ignore-scripts
npm run check
npm run verify:package
dsh plugin --profile web add .\michengai-dsh-code-review-0.1.3.tgz --ignore-scripts
check 包含 TypeScript、提示词哈希、短任务与真实 AgentLoop 配合离线模型的回归,以及文档链接检查。verify:package 在隔离 profile 验证 bundle、peer 和安装包宿主链路。这些检查不替代在线模型验收。GitHub 与 npm 都包含可直接运行的 lib;改了源码后,提交前运行 npm run build。
| 入口 | 职责 |
|---|---|
| src/index.ts | 命令、主会话工具与报告返回 |
| src/selection.ts | 原生范围选择 |
| src/runtime.ts | 独立审查 Agent 与工具约束 |
| src/request.ts | Codex 短任务和基准引用解析 |
| src/i18n.ts | 宿主语言与输出语言上下文 |
| src/report.ts | JSON、截取 JSON、纯文本顺序回退 |
完整交接记录见阅读导航。回退可重新安装先前保留的本地包并重启 DSH,不删除会话或报告。
来源与许可证
基于 Apache License 2.0 发布。Codex 原文与来源信息见 rubric、source.json 和 NOTICE。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-git-graph★ 9321
输入框上方提供 Git 分支选择器,并把分支泳道与提交历史画成图谱,沿着时间线找到任意变更。
Akimiya-z/codex-guard#dsh★ 133
在 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★ 25
dsh web GUI 会话头部栏的 Git 分支选择器与提交图。
PerryLink/dsh-github★ 24
官方级 GitHub CI 集成:composite action.yml、轮询 PR 评审机器人(幂等行内评论 + status-check 门禁)以及 PR/issue 工具,所有写入走人工审批门。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。