BrambleXu/dsh-revdiff
Native interactive Git diff review for DeepSeek Harness with structured annotations sent back to the current Agent session. DeepSeek Harness 原生交互式 Git diff 审查,支持结构化批注并回传当前 Agent 会话。
已收录
2
Git
Bundle 已验证
预览
功能介绍
DeepSeek Harness 原生交互式 Git diff 审查,支持结构化批注并回传当前 Agent 会话。
适合
- 希望不离开当前 Harness 会话就交互式审查 Git 已跟踪变更的开发者。
- 需要携带代码上下文的行级问题、建议、疑问或表扬批注的审查。
- 需要按可选路径过滤来比较暂存区、未暂存区、工作树或基准版本文本变更的流程。
不适合
- 没有 Git,或 Harness 进程不拥有交互式终端的环境。
- 审查未跟踪文件或二进制补丁的场景。
- 需要并排渲染、鼠标操作或浏览器审查界面的团队。
README
dsh-revdiff

English | 中文
Native interactive diff review for DeepSeek Harness. The plugin reads a Git unified diff, parses it into files, hunks, and line locations, presents its own terminal review interface, and queues submitted annotations as the Agent’s next durable follow-up turn.
Why this exists 💡
Reviewing a diff in a separate tool breaks the connection between the change, the review context, and the Agent that will act on the feedback. dsh-revdiff keeps review inside Harness, so annotations are created against the actual Git diff and returned to the same durable session.
Features ✨
- Review tracked working-tree, staged, unstaged, or base-revision changes with optional path filters.
- Navigate between files, hunks, and diff lines from an interactive terminal.
- Add, edit, and delete issue, suggestion, question, or praise annotations.
- Submit structured annotations to the current Agent through
agent.followup()with message provenance. - Configure Git execution, diff context, size and time limits, terminal grace period, and comment length.
Install 📦
Add this checkout to a Harness profile:
dsh plugin --profile demo add ./dsh-revdiff
The only external runtime requirement is Git in the same execution world as Harness.
Use 🚀
/revdiff
/revdiff --staged
/revdiff --unstaged
/revdiff main
/revdiff --base main -- src/index.ts README.md
The default reviews all tracked working-tree changes against HEAD, including staged and unstaged changes. --staged reviews the index, --unstaged reviews only worktree changes relative to the index, and a base revision reviews the working tree against that revision. Put path filters after --.
The Harness process must own an interactive terminal. The review interface supports:
-
↑/↓ork/j: move between diff lines -
n/p: move between hunks -
]/[or→/←: move between files -
a: add an issue, suggestion, question, or praise annotation -
e: edit the selected line’s annotation -
d: delete the selected line’s annotation -
s: submit annotations to the current Agent -
q, Escape, or Ctrl-C: cancel without sending a message
Annotations retain the file, old/new side, line number, selected code, kind, and comment. They are sent through agent.followup() with dsh-revdiff message provenance, so the review enters the same Harness session rather than an external side channel.
Configure ⚙️
Override the inserted row in a later Harness patch layer:
- id: dsh-revdiff
name: dsh-revdiff
config:
gitBinary: git
contextLines: 3
maxDiffBytes: 2097152
diffTimeoutMs: 30000
graceMs: 2000
maxCommentLength: 4000
Develop 🧑💻
pnpm install
pnpm run check
Scope 🎯
Version 0.1 reviews textual changes already represented by git diff. Untracked files, binary patches, side-by-side rendering, mouse input, and a browser-hosted review surface are not included yet. The review engine and annotation model are owned by this project so those capabilities can evolve for Harness without following another review tool’s interface.
License 📄
MIT
Credits 🙏
The product idea is informed by pi-diff-review and revdiff, but this is an independent implementation built specifically around Harness commands, managed subprocesses, Agent lifecycle, and message provenance. It does not install, execute, wrap, or parse output from revdiff.
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:BrambleXu/dsh-revdiff。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。