Craft Agents多文件Diff功能:像VS Code一样审查AI的每次改动
【免费下载链接】craft-agents-oss项目地址: https://gitcode.com/GitHub_Trending/cr/craft-agents-oss
用 AI 编程助手改代码时,最令人不安的瞬间莫过于:它说"我改好了",你却要挨个打开文件才能确认它到底动了什么。Craft Agents 是 craft.do 团队开源的 AI 智能体桌面工作台(桌面端 AI 智能体工具),它的Multi-File Diff(多文件 Diff)功能把每一轮对话中 AI 修改的所有文件,聚合到一个类似 VS Code 的 Diff 审查窗口里——一行行红绿对比、每个文件的增删统计,全部一目了然。
为什么你需要一个"Diff 审查窗口"
大多数 AI 编程工具只会把代码改动以文字流的形式打印出来:
- 改了哪个文件?改了哪一行?是增是删?
- 它会不会顺手改坏了别的文件?
- 多个文件的改动之间是什么关系?
你只能凭"读字"来脑补这些答案。而 Craft Agents 的思路是:把 AI 的每次写文件操作,还原成程序员熟悉的红绿 Diff 视图,让你像 Review 同事提交的 PR 一样,Review 智能体的每一次改动。
多文件 Diff 功能是如何触发的 📂
整个流程不需要任何配置:
- 你向智能体下达任务,例如"把项目中所有
setTimeout替换成防抖工具函数"; - 智能体通过内置的Edit(编辑)和Write(写入)工具逐个修改文件;
- 每一轮(Turn)结束后,Craft Agents 自动汇总这一轮里发生的所有文件变更;
- 点击对应的改动卡片,即弹出全屏的多文件 Diff 预览窗口。
这个汇总逻辑位于桌面端渲染层:collectFileChangesFromActivities 会遍历一轮中的所有工具活动,识别出Edit与Write两类操作,并兼容 Claude、Pi SDK、Codex 三种不同的改动数据格式。
一次看清所有文件:GitHub PR 式堆叠视图
打开 Diff 窗口后,你会看到类似 GitHub Pull Request 文件的"堆叠式"视图——每个文件一段,自带文件头(文件名 + 绿色新增行数 / 红色删除行数),所有文件的改动从上到下排列在同一个可滚动区域里。
核心组件是 MultiDiffPreviewOverlay,它的实现细节很讲究:
- 按文件合并(Consolidated):同一文件被改了 3 次?它们会被归到一起,只展示一个文件段,避免重复刷屏;也可以切换为"逐次改动"模式,查看每一次单独编辑。
- 统一视图 / 分栏视图(Unified / Split):左侧原始代码、右侧新代码并排对比,或像 git diff 那样上下折叠,两种模式一键切换。
- 语法高亮:基于 Shiki 语法高亮引擎,并跟随你当前使用的主题(如 Dracula、Nord),Diff 窗口和主界面颜色保持一致。
从聊天卡片到审查窗口:交互路径
在聊天界面里,智能体的每次文件操作都会显示为一张活动卡片。Craft Agents 的 TurnCard 组件负责渲染这些卡片,而 ChatDisplay 在检测到"multi-diff"类型的预览请求时,就会挂载整个 Diff 审查窗口:
- 单文件改动 → 标题直接显示文件路径;
- 多文件改动 → 标题显示"N 处编辑"的汇总徽标;
- 支持聚焦定位:从某一张具体卡片点进来时,窗口会自动滚动并聚焦到对应的改动位置。
所有交互设置(比如你偏好分栏还是统一视图)会持久化保存,下次打开保持你的习惯。
底层技术:它和 git diff 有什么区别?
值得向新手说明的一点:这个 Diff 不是调用git diff生成的,而是由改动数据即时计算出来的:
| 数据来源 | 说明 |
|---|---|
| 前/后文件内容 | 智能体执行 Edit/Write 时自带的 old/new 文本,直接计算差异 |
| 预计算补丁 | 部分后端(如 Codex 格式)直接提供 unified diff 补丁,UnifiedDiffViewer 负责渲染 |
| 差异统计 | 绿色/红色行数为@pierre/diffs库解析后实时统计 |
这意味着即使目录不是 git 仓库,你依然能看到完整的红绿对比——这正是"文档优先"工作流(Craft Agents 的核心理念之一)下非常实用的能力。相关渲染与主题适配可参考 ShikiDiffViewer。
谁最应该开启这个功能?✅
- 让 AI 做大规模重构的开发者:一次改动几十个文件,逐个打开看太累,堆叠式 Diff 一屏掌握全局;
- 代码审查者:把智能体的输出当 PR 来看,聚焦在"+/-"统计异常的文件上,快速定位风险改动;
- 刚接触 AI 编程的新手:红绿对比是最直观的"AI 到底干了什么"说明书,帮你建立对智能体改动的信任与判断力。
写在最后
Craft Agents 把"审查 AI 的改动"这件容易遗漏的事,做成了和 VS Code Diff 一样自然的体验。配合它的多会话收件箱、权限模式(Explore / Ask to Edit / Auto)与后台任务能力,这套桌面工作台非常适合希望既高效又可控地使用 AI 智能体写代码的开发者。
💡 想深入了解多文件 Diff 的聚合逻辑与交互细节,可阅读 文件变更汇总逻辑 对应的测试用例,以及 UI 组件入口 中导出的
MultiDiffPreviewOverlay相关类型定义。
【免费下载链接】craft-agents-oss项目地址: https://gitcode.com/GitHub_Trending/cr/craft-agents-oss
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考