dsh_review:DeepSeek Harness 交互式代码审查插件

前言

在使用 DeepSeek Harness (DSH) 进行开发时,代码审查是确保代码质量的关键环节。传统的审查方式往往需要手动编写 Git 命令来获取 Diff,或者通过自然语言提示词模糊地描述审查范围,这通常导致效率低下或审查不够精确。

dsh_review 插件旨在解决上述痛点,它借鉴了 Codex CLI 的工作流,通过交互式菜单提供类似 CLI 的代码审查体验。用户无需手动敲击复杂的 Git 命令,即可快速选择审查目标,并将明确的审查任务交给当前的 Agent 执行。

插件简介

dsh_review 是一个为 DeepSeek Harness (DSH) 提供代码审查能力的第三方插件,由开发者 CodeIdeal 维护,采用 MIT 许可证。

该插件的核心价值在于交互式目标选择与结构化审查。它通过 Web 端的菜单读取本地和远端的 Git 信息,将用户的选择转化为具体的审查请求,最终由 DSH 的 Agent 读取 Diff 并生成包含严重度、证据和修复建议的审查报告。它并非 OpenAI Codex 的官方组件,而是面向 DSH 生态的独立工具。

安装与启用

在安装前,请确保本地已安装 Node.js 和 npm,并且 DeepSeek Harness 的 Web profile 已可正常运行。

  1. 克隆插件仓库并安装依赖:
git clone https://github.com/CodeIdeal/dsh_review.git
cd dsh_review
npm install
npm run build
  1. 将构建后的插件添加到指定的 DSH profile(示例使用 web profile):
dsh plugin --profile web add ./
  1. 重启对应的 DSH 会话。插件会自动应用 cordis.patch.yml,并将 review 工具注册给当前的 Agent。

功能特性

该插件主要提供以下能力:

  1. 交互式目标选择:通过 Web 端的 /review 菜单选择审查范围,支持未提交改动、特定 Commit 或特定 Branch。
  2. Commit / Branch 二级菜单:动态读取当前会话仓库最近的 commit(最多 100 个)、本地 branch 和远端 branch。
  3. 未提交改动审查:覆盖 staged、unstaged 及相关 untracked 文件,并以 HEAD 为比较基准。
  4. 自定义审查要求:用户可以直接输入自然语言描述审查范围、背景、验收标准或重点关注项。
  5. Agent 直接审查:插件负责选择目标和组织任务,Agent 负责读取 Diff、去重、判断严重度并输出结论。
  6. 结构化结果:要求每个审查问题必须包含严重度、准确位置、证据、影响范围和修复建议。

使用方法

插件提供了命令行、交互式菜单和自然语言三种使用方式。

1. 交互式菜单

在 DSH Web 输入框键入 / 并选择 review,随后通过多级菜单选择:

/review
├── Uncommitted changes  审查当前工作树相对 HEAD 的改动
├── Commit diff          选择最近的 commit,仅审查该 commit 引入的差异
├── Branch base diff     选择 branch,从 merge-base 审查到当前 checkout
└── Custom requirement  输入任意审查范围或要求

2. 直接输入命令

也可以绕过菜单,直接输入命令来指定审查目标:

/review uncommitted
/review commit <commit-ref>
/review branch <branch-name>
/review custom 重点检查认证逻辑、异常处理和测试覆盖

3. 工具接口

除了命令,插件还注册了一个结构化的 review 工具供 Agent 调用。关键参数包括:
* target(必需):Git 目标,如 uncommitted 或 working tree。
* targetKind:Git 目标类型,可选 commit、branch 或 range。
* base:比较基准,如 commit 的父基准或未提交改动的基准。
* task:原始任务意图。
* spec:验收条件。
* focus:额外关注点数组。

工具返回 diffCommand 和结构化 instructions,Agent 依据这些信息完成实际审查。

限制与注意事项

  1. Commit 菜单限制:Commit 菜单最多展示最近 100 个 commit。
  2. 模型与上下文限制:审查的质量和可处理的 Diff 大小受当前 Agent 模型性能及上下文窗口限制。
  3. 职责分离:插件仅负责选择目标和组织任务,具体的代码读取、Diff 分析和报告生成由当前 Agent 执行。
  4. 第三方性质:本插件为第三方开发,非 OpenAI Codex 官方组件,非官方应用商店插件,安装前请检查源码与许可证。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜