对话分支
分支适合从某条历史消息尝试另一种方案。应用创建新的对话并复制截至该消息的历史,原对话保留。
打开
从消息创建分支
- 等当前对话停止运行,找到希望作为分界点的用户消息或 AI 回复。
- 用户消息可长按打开菜单;AI 回复使用消息操作菜单。选择“创建分支”。
- 应用切换到新分支。检查标题、历史末尾、模型和工作区。
- 发送新的要求,例如“沿用前面的需求,改用另一种布局,先说明计划”。
分界消息包含在复制范围内,其后的消息不进入新分支。工具消息会随历史范围复制;不能直接以工具消息作为分界点。
分支继承什么
| 内容 | 行为 |
|---|---|
| 截至分界点的消息 | 复制为新对话中的消息 |
| 模型、服务商、模式、项目和工作区 | 沿用源对话配置 |
| 历史压缩摘要 | 清空,压缩阈值设置保留 |
| TODO 与当前会话自动批准状态 | 控制器复制当前状态;不表示还原到分界时刻 |
| 置顶、归档和运行状态 | 新分支不置顶、不归档,初始为空闲 |
文件与外部操作不会回滚
分支共享原来的工作区目录,之前的文件修改、已发送邮件和远程操作不会撤销。两个分支写同一文件时仍可能冲突。需要比较两套代码时,先用 Git 分支、独立目录或其他版本控制方式保存文件状态。
例如:原对话已把 index.html 改成方案 A,从改动前的消息创建分支后,磁盘上的文件仍是方案 A。继续要求方案 B 前,应先读取当前文件。
创建失败时
确认当前对话已有持久化历史、没有正在运行的任务,且选中的是本对话的用户或 AI 消息。若只是想在当前历史中移动位置,使用对话跳转。实现细节见数据模型。
