DeepSeek Harness 原生交互式 Git diff 审查,支持结构化批注并回传当前 Agent 会话。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:BrambleXu/dsh-revdiff
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README

为 DeepSeek Harness 提供原生交互式 diff 审查。插件读取 Git unified diff,将其解析为文件、hunk 和行位置,在自己的终端审查界面中展示,并将提交的批注排队为 Agent 下一轮持久 follow-up。
为什么存在 💡
在独立工具中审查 diff,会割裂变更、审查上下文以及后续负责处理反馈的 Agent。dsh-revdiff 将审查保留在 Harness 内部,让批注直接针对实际 Git diff 创建,并返回同一个持久会话。
功能 ✨
- 审查工作区、暂存区、未暂存或相对于 base revision 的已跟踪变更,并支持可选的路径过滤器。
- 在交互式终端中切换文件、hunk 和 diff 行。
- 添加、编辑和删除 issue、suggestion、question 或 praise 批注。
- 通过带有消息来源信息的
agent.followup()将结构化批注提交给当前 Agent。 - 配置 Git 执行、diff 上下文、大小和时间限制、终端宽限期以及评论长度。
安装 📦
将此 checkout 添加到 Harness profile:
dsh plugin --profile demo add ./dsh-revdiff
唯一的外部运行时要求是:Git 必须与 Harness 位于同一个执行环境中。
使用 🚀
/revdiff
/revdiff --staged
/revdiff --unstaged
/revdiff main
/revdiff --base main -- src/index.ts README.md
默认情况下,审查相对于 HEAD 的所有已跟踪工作区变更,包括已暂存和未暂存的变更。--staged 审查暂存区,--unstaged 只审查相对于暂存区的工作区变更;指定 base revision 时,审查工作区相对于该 revision 的变更。路径过滤器请放在 -- 之后。
Harness 进程必须拥有交互式终端。审查界面支持:
↑/↓或k/j:在 diff 行之间移动n/p:在 hunk 之间移动]/[或→/←:在文件之间移动a:添加 issue、suggestion、question 或 praise 批注e:编辑选中行的批注d:删除选中行的批注s:向当前 Agent 提交批注q、Escape 或 Ctrl-C:取消,不发送消息
批注会保留文件、旧/新侧、行号、选中的代码、类型和评论。它们通过 agent.followup() 发送,并带有 dsh-revdiff 的消息来源信息,因此审查会进入同一个 Harness session,而不是通过外部通道发送。
配置 ⚙️
在后续 Harness patch layer 中覆盖已插入的配置项:
- id: dsh-revdiff
name: dsh-revdiff
config:
gitBinary: git
contextLines: 3
maxDiffBytes: 2097152
diffTimeoutMs: 30000
graceMs: 2000
maxCommentLength: 4000
开发 🧑💻
pnpm install
pnpm run check
范围 🎯
0.1 版本审查已经由 git diff 表示的文本变更。未跟踪文件、二进制补丁、并排渲染、鼠标输入和浏览器托管的审查界面暂不支持。审查引擎和批注模型由本项目负责,因此可以针对 Harness 演进,而不必跟随其他审查工具的界面。
许可证 📄
MIT
致谢 🙏
产品思路受到 pi-diff-review 和 revdiff 的启发,但本项目是围绕 Harness command、受管控的 subprocess、Agent 生命周期和消息来源信息构建的独立实现。它不会安装、执行、包装或解析 revdiff 的输出。
链接
同类插件
hust-open-atom-club/oh-dsh★ 161
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Jayden-X-L/forkprobe★ 65
同一任务并行试跑多个技能,对比结果选出最优。
vlln/plugin-registry★ 33
插件生态基建:浏览器面板管理官方 repository 插件(0 patch)+ make-dsh-plugin 插件开发引导技能。
forrestchang/dsh-multica-runtime★ 28
让 dsh 运行时跑在 Multica 上。
DietCokewithSugar/dsh-user-experience★ 18
帮你发现项目中可能存在的用户体验问题:自动走查 React/TypeScript 源码,定位问题并给出具体优化建议。
omdsh-dev/dsh-plugin-check★ 17
插件健康检查:扫描清单协议/patch 格式/构建陷阱,零依赖只读。