前言¶
在 DSH 里让智能体改代码之后,常见下一步是「请人看一眼 diff」。若每次都手写一长段 review 提示、或只能绑定某一个厂商的模型,工作流很难复用。把 review 做成宿主里的一个工具,由配置决定用哪些 CLI 编码智能体或 DSH 子智能体、并行跑完后合并成一份报告,更接近「工具化」而不是「换一家 API」。
下面介绍社区插件 dsh-review(维护者 yutingzhao1991),分类为工作流;目录页见 SkillHub,源码与说明见 GitHub。
这是什么¶
dsh-review 是 DeepSeek Harness(DSH)宿主插件:向智能体暴露通用的 review 工具,把代码审查分发给已配置的审查者(CLI 编码智能体或 DSH 子智能体),并行执行后按选择顺序合并为一份报告。插件自述为:Let your dsh freely invoke any agent or model to review.
插件不自带模型密钥或端点;模型与凭证留在你的 DSH 配置里,插件只使用其中已有项。当前包版本为 2.0.2(见仓库 package.json),许可证 MIT,声明依赖 DSH ^0.2.1-rc.2(engines.dsh),宿主低于要求时会拒绝安装或激活,而不是在 review 中途失败。
核心功能¶
两类审查者¶
| 类型 | 实际运行 | 是否自己读仓库 | 依赖 |
|---|---|---|---|
cli |
你已信任的编码智能体 CLI | 视预设而定(如 codex 会读仓库) | 对应 CLI 已安装 |
subagent |
DSH 子智能体 | 是,具备工具 | 子智能体服务(默认 spawn) |
CLI 预设包括 codex、claude、gemini、opencode、cursor,也可用 custom 自定义命令模板。插件刻意不提供「只把 diff 发给裸模型」一类审查者;能打开仓库的审查者比只看 handed diff 更有价值。
多人一份报告¶
多个审查者可并行运行;报告中每人独立一节,顺序与配置中选择顺序一致。
Review 模式¶
可为模式命名强度与提示(如 quick、balanced、deep),并绑定审查者列表,避免每次重打 review 说明。模式字段包括 strength(light / standard / deep)、prompt、reviewers,以及可选策略字段 when(always / complex / never);when 仅在设置 injectPolicy: true 时写入系统提示,不作为硬门禁。
GUI 配置¶
可在 Web 配置页勾选审查者,其余项折叠在高级设置;停止输入约半秒后自动写入,顶部有状态行,并保留 Save now 供手动重试。
异步任务¶
Review 往往耗时数分钟:review() 会等待片刻后返回 job id,可用 job_output 读结果、job_kill 终止,或等待宿主通知完成。
审查者为显式启用:若未启用任何审查者,调用时不传 reviewers 会失败并说明原因,不会静默跑完全部预设。
安装与启用¶
官方 README 要求将仓库放到固定目录后,用 profile 安装(请将 web 换成你的 profile 名):
git clone git@github.com:yutingzhao1991/dsh-review.git ~/code/github/dsh-review
dsh plugin --profile web add ~/code/github/dsh-review
也可让智能体通过 plugin_manager → install_bundle 传入该绝对路径。安装后重启宿主;更新方式为 git pull 后同样重启。
需要 DSH 0.2.1 或更新版本。
CLI 可执行文件查找顺序¶
插件依次查找:executable(PATH 名或路径)→ ~/.local/bin、~/.bun/bin、/opt/homebrew/bin、/usr/local/bin → 当前 profile 的 dependencies(node_modules/.bin/<name> 等)。推荐把 CLI 装成 profile 的直接依赖(dsh plugin --profile <name> add <package>),避免在 patch 里写死绝对路径后在依赖重装后路径失效。
配置异常时可用自检,不发起真实 review、也不要求 git 仓库:
review({ doctor: true })
典型用法¶
在智能体或工具调用中:
review() // 使用已启用的审查者,审查未提交变更
review({ reviewers: ["codex", "deep-dive"] }) // 本次指定审查者
review({ mode: "deep" }) // 使用 deep 模式及该模式绑定的审查者
review({ base: "main" }) // 工作区相对某分支
review({ commit: "abc1234" }) // 单个 commit
review({ instructions: "only concurrency and error handling" })
配置示例(YAML 片段,与 GUI 等价):
- id: review
name: dsh-review
config:
agents:
- preset: codex
model: gpt-5.6-sol
- preset: claude
reviewers:
- id: deep-dive
kind: subagent
provider: spawn
agentProvider: bailian
agentModel: deepseek-v4.1-flash
defaultMode: balanced
modes:
balanced:
strength: standard
reviewers: [ codex ]
deep:
strength: deep
reviewers: [ codex, deep-dive ]
说明:provider 指子智能体服务实现(默认 spawn),不是模型厂商;子智能体默认继承父会话模型,除非设置 agentModel(或 GUI 里成组选择 provider + model)。DSH 0.2.1 起 persona 与工具限制应在 Agent Preset 中配置,通过 agentPreset 选用;旧的 persona / toolFilter 会给出迁移警告。子智能体默认墙钟上限 30 分钟(timeoutMs),整体仍受 hardTimeoutMs 约束。
常用配置键(节选):
| 键 | 默认 | 含义 |
|---|---|---|
defaultReviewers |
无 | 调用未传 reviewers 时使用;空表示未启用 |
defaultMode |
无 | 调用未传 mode 时使用的模式 |
language |
auto |
报告语言 zh / en / auto |
未配置任何 modes 时,插件不额外约束,仍由你在对话里自行说明 review 要求。
适用场景与注意¶
适合已在 DSH 中编排开发智能体、希望把「看 diff」标准化为 review() 调用、并组合多个 CLI 或子智能体视角的开发者。不适合期望插件自带账号或统一云端 review 服务的场景。
安装与运行前请注意:插件以当前 DSH 宿主进程权限执行,会调用你配置的 CLI 与子智能体;应在信任维护者与源码的前提下阅读 LICENSE 与仓库实现。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;生态上 DSH 奉行「一切皆插件」,本插件是工作流类社区贡献之一(GitHub 公开星标数以目录页为准)。
结尾¶
dsh-review 把 code review 从「绑死一家模型」改成「可配置的审查者 + 可复用模式 + 合并报告」,密钥与厂商能力仍归 DSH 主配置。若要试用,从目录页进入说明,或直接在 GitHub 查看 README(含 中文 README):
- 目录页:https://www.skillhub.cn/plugins/yutingzhao1991/dsh-review
- 仓库:https://github.com/yutingzhao1991/dsh-review