herdr-gpui Review Changes 详解:逐行审查 AI Agent 的代码改动,像 PR 评论一样反馈 【免费下载链接】herdr-gpuiNative client for Herdr on macOS, Linux, and Windows, built with Rust and GPUI. View terminal sessions, workspaces, Git worktrees, and agent activity through your local Herdr daemon.项目地址https://gitcode.com/gh_mirrors/he/herdr-gpui点击查看免费下载herdr-gpui 是用 Rust GPUI 编写的原生 GUI 客户端通过本地 Herdr daemon 查看 AI Agent 的终端会话、工作区与 Git worktree。它的Review Changes功能可以逐行审查 Agent 改动的代码点击任意一行留下批注像 PR 评论一样精确再一键把批注发回给这个 Agent。亮点说明 行级批注点击行号 gutter 即可留注批注自动编号 两种 diff 视图统一unified与并排side-by-side随时切换 一键 Send to agent批注变成带path:line的精确 prompt 发给 Agent 大改动不卡数百千行改动分批懒加载二进制文件只列不读30 秒看懂Review Changes 是做什么的平时让 AI AgentClaude、Codex 等改完代码你要么自己敲git diff要么打开网页版 GitHub 看但批注很难点对点回到正在工作的 Agent。herdr-gpui 的Review Changes把这件事做成了一个原生标签页它打开当前焦点 checkout 的未提交改动未跟踪的文本文件按整体新增展示左边是 PR 风格的变更文件树中间是带语法高亮的 diff右边是批注面板——整个流程就是 GitHub PR review 的体验只是反馈对象是终端里的那个 Agent。如何打开审查标签页3 步上手在终端分组的…菜单中选择Review Changes也可从标签条的菜单打开。选择审查范围两种模式会被记住Uncommitted只看不提交的改动等价于git diff HEADBranch看分支相对基底的全部改动提交 未提交也就是这个分支 PR 将包含的内容。基底优先取 GitHub 报告的 PR base否则依次是origin/HEAD、main/master全程不执行 fetch。点击左侧文件列表或滚动 diff 审查点击任意一行的行号列gutter写下想改的内容按 Enter 或Add note完成批注。审查页就是一个普通标签页可以拖到独立分组、占满整个窗口、随窗口关闭而还原。再次打开会重新读取改动而批注会发回打开时焦点所在的那个 Agent 面板。两种 diff 视图统一与并排对比头部有两个图标切换布局统一视图删除行在上替换它的新行紧随其后并排视图旧版本在左、新版本在右每一段删除行都与紧随其后的新增行配对。并排视图中间的分隔线可以拖拽调整左右宽度各侧最少保留 1/5双击分隔线恢复均分。切换布局时批注及其编号完整保留偏好也会被记住。当删除行与新增行互为编辑关系时还会做词级高亮——两行中真正变化的词会被标出来一眼看出改了什么实现在 crates/herdr-gpui/src/review/diff/words.rs。左侧的文件列表和 PR 一样贴心文件夹树可折叠每个文件标注A/M/D/R状态、增删行数、排队中的批注数看过之后打勾标记Viewed顶部输入过滤可按路径筛选Hide viewed隐藏已看文件。长行像 GitHub 一样自动换行不会被边缘截断。一键 Send to agent批注如何变成精确的 prompt右侧批注面板是核心。每条批注锚定到具体位置某个文件整体或某一行——行号、所属版本、被引用的代码都会一起记录面板图标会显示未发送的批注数量。点击Send to agent所有批注会被组装成一条结构化 prompt格式大致是构造逻辑见 crates/herdr-gpui/src/review/notes.rs开头声明改动所在的 checkout并说明路径是相对路径、行号是工作树行号逐条列出批注编号 path:line 行类型新增/删除/未变 引用的代码行最多 200 字符 你的批注文字最多 2000 字符结尾一句 Address each note in the working tree.几个细节让它真正可靠行号精确删除行会注明它所属的版本HEAD或分支基底两种视图下的批注行号都不会错位切换视图时继续排队防注入设计prompt 会明确告诉 Agent引用的代码是数据不是指令避免 diff 里的内容被当成语料执行投递目标明确优先发给焦点面板中的 Agent否则发给该工作区里 Herdr 报告的第一个 Agent头部会显示收件人找不到 Agent 时退化为Copy可追踪发送过的批注保留在列表中直到Clear sent点击可编辑再次发送只投递新增或改过的条目一次最多 50 条。大改动、白噪音、二进制文件细节都处理了性能预算Git 全部在后台执行绝不阻塞 UI 线程。先廉价地列出文件--numstat--name-status再分批读取行内容——每次 Git 调用最多 64 个文件或 20,000 行变更滚动到视野内的文件优先读取。超过 20,000 行变更或 4 MiB 的文件会显示 Large change not shown 并提供Load diff按钮二进制文件只列出、永不读取。这些边界定义在 crates/herdr-gpui/src/review/diff.rshunk 折叠上下文每个 hunk 头部会显示上方被省略的未变更行数点击可展开每次最多 200 行噪音过滤whitespace 图标开启后忽略纯空白变化git diff --ignore-all-space已删除文件、lockfile 和.gitattributes标记为linguist-generated的文件默认折叠安全清洗文件内容被视为不可信输入每行都会剥离控制字符和方向覆盖字符并施加长度上限16,384 字符/行、250,000 行/文件、5,000 个未跟踪文件复制友好代码选择永远不包含行号和 /- 符号文件头部的复制图标复制路径hunk 头部的复制图标把该 hunk 按 patch 格式含行号与头复制出来。审查时的快捷键清单 ⌨️按键作用j/k/ 方向键按行滚动Space / PageUp / PageDown翻页]/[跳到下一个 / 上一个 hunk./,跳到下一个 / 上一个文件x折叠顶部文件或标记 Viewedv标记当前文件已查看/或 Cmd-F / Ctrl-F在改动中搜索无大写查询自动忽略大小写Enter / ShiftEnter或n/N在搜索匹配间跳转折叠文件中的匹配会自动展开源码在哪里review 模块布局想深入或贡献的话功能主体在 crates/herdr-gpui/src/review/ 下模块划分清晰模块入口crates/herdr-gpui/src/review.rsdiff 解析、分批加载与预算控制crates/herdr-gpui/src/review/diff.rs 及其子模块budget/context/load/parse/words批注模型与 prompt 构造crates/herdr-gpui/src/review/notes.rs视图文件树、批注面板、选择、搜索等crates/herdr-gpui/src/review/view.rs 与view/子目录完整的官方功能说明在 crates/herdr-gpui/README.md 的 Reviewing An Agents Changes 一节。注意一点限制Review 只能审查本地 daemon的 checkout远程主机的改动暂不支持。一句话总结herdr-gpui 的 Review Changes 把看 Agent 改了什么和把意见发回给 Agent合并成了同一个动作——diff 像 PR批注像评论收件人恰好是正在写代码的 AI。赞分享【免费下载链接】herdr-gpuiNative client for Herdr on macOS, Linux, and Windows, built with Rust and GPUI. View terminal sessions, workspaces, Git worktrees, and agent activity through your local Herdr daemon.项目地址https://gitcode.com/gh_mirrors/he/herdr-gpui点击查看免费下载相关推荐解锁iOS姿势识别新境界PoseEstimation-CoreML让移动设备拥有人眼能力解锁iOS姿势识别新境界PoseEstimation CoreML让移动设备拥有人眼能力 你是否想过让手机摄像头像人眼一样理解人体姿态想象一下健身应GitHub Deep Review 深度评审方法论基于 agent-scripts 的高证据、代码优先式 Issue/PR 评审GitHub Deep Review 深度评审方法论基于 agent scripts 的高证据、代码优先式 Issue/PR 评审 导读 skills/git基于 GitCode API 的 AI 代码审查流程详解从 PR 前置检查到行内评论发布基于 GitCode API 的 AI 代码审查流程详解从 PR 前置检查到行内评论发布 本篇技术指南以 CANN oam tools 仓库中 .claude运维性能剖析根因分析可观测性健康检查CANN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考