news 2026/9/26 9:55:52

Agent of Empires Diff审查指南:AI代理的代码改动一目了然

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agent of Empires Diff审查指南:AI代理的代码改动一目了然

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,而是按以下优先级自动解析基线分支:

  1. 该仓库手动设置的基线覆盖(base override)
  2. 该 worktree 分支 fork 自的分支
  3. 配置中的diff.default_branch
  4. 自动检测(会考虑所有已配置的 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 端最实用的功能(仅结构化视图会话支持):

  1. 点击行号槽位的+开始评论,同一 hunk 内再点+可扩大选区;Cmd/Ctrl+Enter保存,Esc取消
  2. 文件列表上方出现横幅后,点击Send(Cmd/Ctrl+Shift+S),在弹窗中编辑开头语和结尾语,预览每条评论及其捕获的代码片段
  3. 评论作为一条 prompt 发给代理;成功后默认清空,可取消勾选保留

如果代理后续编辑导致某条评论的选区不再匹配,它会移入 stale-comments 区块并带[stale]标记,但捕获的片段仍会发给代理,不会丢失你的审查意见。结构化会话界面长这样:

Diff 相关配置一览 ⚙️

在配置文件的[diff]段可以调整默认行为:

[diff] default_branch = "main" # 未设置时自动检测 context_lines = 3 split_view = false

Web 端也可以在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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 9:53:10

MCP 完整学习指南与 Spring AI 实战:从零搭建可复用的 MCP 服务端

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 9:52:56

macOS Homebrew 四层适配指南:权限、架构、换源与生态

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 9:52:11

FAST-LIO2落地实战:ikd-tree增量地图与重定位全链路解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 9:52:06

EvoMap 全解:让 OpenClaw 不停进化的秘密与 TaoToken 配置实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华