agent-Specialization/website-content/06-conversation-assets.md
JOJO 93628f49fc chore(website): 归档官网文档内容与设计素材
- website-content/:官网 10 篇文档内容 + README
- website-design/:官网设计稿、动画实验、预览图与资源
- 根目录官网截图两张
- .gitignore 忽略 website-design/exp/static/dist 构建产物(7.1MB)
2026-09-02 14:38:51 +08:00

3.8 KiB
Raw Blame History

对话资产管理

AI 改了你工作区的文件之后「改了什么、怎么回滚、坏到哪一版」就是核心问题。Astrion 提供三层资产保障:版本控制(对话级检查点)、修改留痕(任务级 diffGit 状态栏(实时感知)。它们相互独立、可叠加使用。


1. 版本控制

对话级的文件检查点系统,让 AI 的每一轮改动都有快照可回退。

开关与备份方式

  • 新对话默认开启(个人空间可改默认值);
  • 单个对话可在 + 菜单 →「版本控制」临时开关;
  • 备份方式二选一(个人空间):
    • 浅备份(默认):只追踪 AI 通过 write_file / edit_file 编辑的文件,每次编辑前自动备份当前内容——快、省空间,绝大多数场景够用。⚠️ 注意边界:AI 用 run_command 执行命令改动的文件(如 sed、重定向、脚本写入不在浅备份的追踪范围内
    • 完全备份:整工作区快照——最稳,但大项目下会明显变慢占空间。

检查点粒度:每条用户消息

  • 每手动发送一条消息,系统在该消息处理完成后记录一个检查点,引用当时所有已追踪文件的最新备份版本——也就是说,回溯的最小颗粒度是「一次用户手动发送的消息」,而不是单个文件编辑;
  • 查看某个检查点的 diff = 该消息快照与上一条消息快照之间的差异;
  • 回滚到某个检查点 = 把所有已追踪文件恢复到该消息时的状态(覆盖式,回滚前请确认当前改动已另存或已提交)。

与其他机制的关系

  • 版本控制追踪的是文件系统状态,与对话消息无关;
  • 它与 Git 不冲突AI 不会替你 commit版本控制是 Git 之外的另一张安全网,适合「还没来得及 commit 就被改坏了」的场景。

2. 修改留痕modify history

任务级的净修改记录,默认开启

  • 每完成一轮任务,本轮对话中 AI 编辑过的全部文件以 unified diff 形式落盘到:<工作区>/.astrion/modify_history/<对话ID>/
  • 每个任务一个 .diff 文件,文件名含该任务的用户输入摘要与开始时间;
  • 对话中的「编辑摘要卡片」展示本轮编辑过的文件列表,点击可查看 diff卡片的显示时机可在个人空间配置默认工作完成后显示也可改为运行期间实时显示

用 diff 文件手工恢复

留痕文件可直接用 git 工具操作:

cd <工作区>
git apply <diff文件>     # 重做这次修改
git apply -R <diff文件>  # 撤销这次修改

典型场景版本控制没开、Git 没 commit、git checkout 误覆盖了 AI 的劳动成果——去 modify_history 里找到对应任务的 diffgit apply 即可恢复。

该目录由系统自动维护,请勿手工增删其中文件;可在个人空间整体关闭(关闭后既不落盘也不注入提示)。

3. Git 状态栏

输入栏上方的状态条,实时显示当前工作区的 Git 状态摘要当前分支、未提交改动量等让你在不离开对话的情况下掌握「工作区现在脏不脏、AI 改了多少」。

  • 默认显示;+ 菜单 →「Git 状态栏」可快速显隐,个人空间有同款设置项;
  • 工作区不是 Git 仓库时不显示。

4. 三层机制怎么选

需求 用哪层
实时感知工作区改动 Git 状态栏
回滚到对话中的某个时间点 版本控制
精确恢复/撤销某一轮任务的修改 修改留痕 diff
长期、严肃的规模开发 仍然要 Git commit——前三级都是安全网不是版本管理的替代品

推荐姿势:重要项目保持「版本控制开 + 修改留痕开 + 勤 commit」三张网叠加AI 怎么折腾都丢不了东西。