Agent 里实时流式展示编辑差异
Federal-Teaching2800 · reddit · 2026-07-15
作者分享了自己为开源 agent **Chimera** 做代码屏幕/CLI 时,最值得一提的两个实现点: ### 1) 实时展示每次编辑的 diff - 不是等整轮任务结束再汇总,而是在每次 `write_file / edit_file / apply_patch` 工具调用前后,直接读取磁盘上的文件内容。 - 通过前后文本生成 **unified diff**,只要是真实改动就立刻发出。 - 因为工具循环是单线程,所以这种 before/after 是精确的。 - 这个 diff 流是可选的,没接 sink 时不会额外读文件。 ### 2) 只在 git 范围内支持 accept / discard - 任务结束后可以 discard,但只会回滚这次 run 涉及到的、git 能看到的文件。 - 通过 `git ls-files` 过滤 tracked 文件,再 `git checkout`;新增文件用 `git clean` 处理。 - 这个功能只在 git 仓库里可用,并且明确说明无法处理 ignored / untrackable 文件。 ### 额外信息 - 可通过 `pip install -U 'chimera-agent[desktop]'` 安装桌面版。 - 作者也给出了仓库和发布页链接,并询问别人通常怎么做编辑级 diff:实时抓取、快照 diff,还是让工具自己输出结构化 diff。