1作者: bumpa4 个月前原帖
我构建了一个终端差异查看器,以解决我在现有工具中无法舒适完成的工作流程:在不离开运行代理的终端会话的情况下,审查AI生成的代码更改,标注需要更改的内容,并将这些标注直接反馈给代理。虽然有很多差异查看器,甚至有些可以将笔记反馈给代理,但没有一个能适应我的工作流程——它们要么让我从终端切换到单独的应用程序,要么往返于代理的过程繁琐。 Revdiff是我解决这个问题的方法。在Claude Code会话中,我输入`/revdiff main`或直接说“审查最近3次提交的差异”——它会在代理会话的上方以终端叠加的形式打开。我查看差异,针对任何行、块或文件添加注释,然后退出。注释会直接返回给代理,代理会接收并开始处理这些注释。当代理完成后,revdiff会在新更改上重新打开,以便我可以再次进行注释——这个循环会持续进行,直到我退出而不留下任何注释。 同样的流程也被证明对计划很有用。还有一个单独的`revdiff-planning`插件,可以接入Claude Code的计划模式——当代理完成一个计划并调用ExitPlanMode时,revdiff会自动在计划文本上打开。我会注释我不同意的部分或希望扩展的内容,然后退出,代理会在编写任何代码之前修订计划。 这是一个双窗格的文本用户界面(TUI):左侧是文件树,右侧是语法高亮的差异。支持Vim风格的导航、搜索、块跳转、逐字级的更改高亮、责任归属、折叠差异模式。完全可定制——提供7种捆绑的颜色主题、可重新映射的按键绑定,以及通过CLI标志、环境变量或配置文件进行的每种颜色的覆盖。支持git和Mercurial。 它是一个单一的二进制文件——只需`revdiff HEAD~3`即可审查您最近的3次提交。可用于Claude Code的即用插件(通过tmux、Zellij、kitty、wezterm、Kaku、cmux、ghostty、iTerm2或Emacs vterm的终端叠加——无论您使用的是哪个)以及Codex和pi。 该工具是用Go语言编写的,开源(MIT许可证)。通过brew安装:`brew install umputun/apps/revdiff` GitHub: [https://github.com/umputun/revdiff](https://github.com/umputun/revdiff) 网站: [https://revdiff.com](https://revdiff.com) 我很想听听其他人如何审查AI生成的差异和PR,任何不寻常的用例,以及对改进或添加内容的想法。