Agent of Empires Diff审查指南:AI代理的代码改动一目了然
【免费下载链接】agent-of-empiresManage multiple Claude Code, OpenCode agents from either TUI or Web for easy access on mobile. Also supports Mistral Vibe, Codex CLI, Gemini CLI, Pi.dev, Copilot CLI, Factory Droid Coding.项目地址: https://gitcode.com/gh_mirrors/ag/agent-of-empires
Agent of Empires(简称 AoE)是一个多 AI 代理会话管理工具,可同时管理 Claude Code、OpenCode 等多个编码代理。当代理自动修改代码后,如何快速审查它的改动?AoE 内置了强大的Diff 审查视图——在 TUI 终端界面和 Web 仪表盘两个入口中,都能查看代理会话触碰过的每一个文件,并逐行查看语法高亮的代码差异,甚至能把审查意见直接作为评论发给代理。本指南带你用 3 个步骤完成从打开 Diff 视图到配置基线分支的全部流程。
为什么需要 AI 代码改动审查 🤖
让 AI 代理写代码很方便,但"它到底改了什么"是个关键问题。AoE 的 Diff 视图正是为此设计:
- 按会话隔离改动:每个会话拥有独立的 git worktree 分支,Diff 视图只展示该会话相对基线分支的改动,多个代理并行工作互不干扰
- 双端一致:TUI(终端)和 Web 仪表盘读取同一套数据,手机上也能审查代码
- 审查结果可回传:在 Web 端给某几行代码写评论,一键发送给代理继续修改
Diff 视图的完整说明见官方文档 docs/guides/diff-view.md,TUI 端核心实现在 src/tui/diff/mod.rs,底层 git 差异计算位于 src/git/diff.rs。
第一步:打开 Diff 审查视图
方式一:TUI 终端界面
在 TUI 的会话列表中选中目标会话,按下D键即可打开 Diff 视图。常用快捷键如下:
| 按键 | 作用 |
|---|---|
j/k或方向键 | 在文件之间移动 |
PgUp/PgDn、滚轮 | 滚动 diff 内容 |
g/G | 跳到顶部 / 底部 |
s | 切换分屏 / 统一视图布局 |
b | 修改对比的基线分支 |
e或Enter | 用$EDITOR打开该文件 |
y | 复制文件的仓库相对路径 |
r | 刷新 |
在编辑器中保存退出后,Diff 视图会自动刷新,方便你边改边看。
方式二:Web 仪表盘
Web 端更适合深度审查:
- 桌面:会话主面板可切换出 Diff 分屏,改动文件列表提供flat(平铺)与tree(目录树)两种布局,目录树支持按目录折叠、显示每个目录的文件数与
+/-行数统计 - 手机:通过右上方面板选择器切换到Diff面板,即可在移动端审查代码
文件列表支持右键Copy relative path复制相对路径;旁边还有一个Files面板(活动栏的文件夹图标),可浏览会话整个工作目录——即使是非 git 的 scratch 会话也能列出文件,Markdown 文件还支持渲染后的 HTML 预览。相关组件代码位于 web/src/components/diff/。
第二步:读懂改动状态与对比基线 🔍
文件状态字母速查
每个改动文件前都有一个状态字母,帮你快速定位重点:
| 字母 | 含义 | 字母 | 含义 |
|---|---|---|---|
A | 新增 | R | 重命名 |
M | 修改 | C | 复制 |
D | 删除 | ? | 未跟踪 |
U | 冲突(未合并) |
二进制文件或过大的文件只显示文件头与统计信息,不会展开正文。
对比的是哪个分支?
Diff 并非简单对比main,而是按以下优先级自动解析基线分支:
- 该仓库手动设置的基线覆盖(base override)
- 该 worktree 分支 fork 自的分支
- 配置中的
diff.default_branch - 自动检测(会考虑所有已配置的 remote,fork + upstream 布局下对比的是分支分叉点)
如果解析出的本地分支落后于其origin/远端,Diff 会直接对比远端最新提交,避免把"尚未 pull 的上游提交"误显示为会话改动。
手动切换基线分支
当目标 PR 分支与项目默认分支不同(如堆叠 PR、从release/*拉的热修复)时,可以显式覆盖基线,三种方式任选:
- Web:点击 diff 头部
vs <ref>标签选择分支,或重置清除;多仓库工作区每个仓库各有一个标签 - TUI:在 Diff 视图中按
b - CLI:
aoe session set-base <session> <branch>(加--clear清除)
覆盖是持久的,重启后仍然生效,且只影响对比结果,绝不改动 worktree 本身。
第三步:分屏布局与代码评论 ✍️
分屏 vs 统一视图
- 分屏布局(split):旧代码在左、新代码在右,纯新增/纯删除行在另一侧显示对齐占位符
- 统一布局(unified):经典上下混排,窄面板下两者都会自动回退为统一视图
TUI 的选择保存在配置[diff].split_view,Web 端按浏览器单独保存(Settings > Diff),互不干扰。
给代码写评论,直接发给 AI 代理
这是 Web 端最实用的功能(仅结构化视图会话支持):
- 点击行号槽位的
+开始评论,同一 hunk 内再点+可扩大选区;Cmd/Ctrl+Enter保存,Esc取消 - 文件列表上方出现横幅后,点击Send(
Cmd/Ctrl+Shift+S),在弹窗中编辑开头语和结尾语,预览每条评论及其捕获的代码片段 - 评论作为一条 prompt 发给代理;成功后默认清空,可取消勾选保留
如果代理后续编辑导致某条评论的选区不再匹配,它会移入 stale-comments 区块并带[stale]标记,但捕获的片段仍会发给代理,不会丢失你的审查意见。结构化会话界面长这样:
Diff 相关配置一览 ⚙️
在配置文件的[diff]段可以调整默认行为:
[diff] default_branch = "main" # 未设置时自动检测 context_lines = 3 split_view = falseWeb 端也可以在Settings中调整按浏览器保存的偏好(如分屏布局),设置面板界面如下:
想在编辑器里同步查看改动行,可以搭配 vim-gitgutter、Emacs 的 git-gutter 等 gutter 插件使用;VS Code 则内置支持。
小结
| 场景 | 推荐操作 |
|---|---|
| 快速扫一眼改动 | TUI 按D,用j/k遍历文件 |
| 深度逐行审查 | Web 仪表盘 Diff 分屏,切 tree 布局按目录看 |
| 移动端随时查 | Web 右面板切换器打开 Diff |
| 审查意见回传给代理 | Web 端行内评论 +Send |
| PR 目标不是默认分支 | b键 /vs <ref>标签 /aoe session set-base |
从"代理改了什么"到"告诉代理怎么改",AoE 的 Diff 视图把 AI 代码审查做成了一个完整的闭环。更多细节可参考 docs/guides/diff-view.md。
【免费下载链接】agent-of-empiresManage multiple Claude Code, OpenCode agents from either TUI or Web for easy access on mobile. Also supports Mistral Vibe, Codex CLI, Gemini CLI, Pi.dev, Copilot CLI, Factory Droid Coding.项目地址: https://gitcode.com/gh_mirrors/ag/agent-of-empires
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考