Skip to main content
一段对话结束之后,你还能对它做三件事:回放(重看一遍过程)、公开(生成一个别人能打开的链接)、分叉(从中间某一步开出一条新对话)。这三件事各自有清晰的边界,也各自有做不到的地方。

对话回放

回放页地址是 /replay/{会话 ID}。它不是「把聊天窗口再打开一次」,而是一个只读的播放器:消息按原顺序逐条出现,助手的长文本还会逐字流式显示,配一条可以暂停、拖动、倍速的播放条。
回放页的所有写操作都是空操作——发送、编辑、重新生成在这里全部不可用。这是刻意的:回放是给「看」用的,要接着往下做就回到原对话或分叉一条。

能恢复的

恢复不了的

沙盒是活的,回放是死的。 沙盒在闲置 15 分钟后就会被回收(SANDBOX_IDLE_TIMEOUT_MINUTES=15,E2B 侧超时同为 900 秒),所以:
  • 网站预览链接失效:回放里记录的预览 URL 指向一个已经不存在的 dev server
  • 只存在沙盒里的文件打不开:这类文件会显示「该文件存储在沙盒中,回放模式下无法访问」
已经上传到云端的文件不受影响——文件交付卡片里那些带链接的,随时都能下载。大于 256KB 的 Widget HTML 也已持久化到对象存储,回放时照常渲染。
同样不会恢复的还有:计划模式的 .plan.md 文件、记忆图谱状态、消息的版本切换器。

公开分享

会话上有一个 is_public 开关,这是唯一的可见性闸门: 别人访问未公开的会话会看到「该回放未公开」。
分享是全有或全无的:没有密码保护、没有有效期、没有「只分享前 N 条」。公开之后整段对话——包括你发的每一条消息、专家调的每一个工具、所有中间产物——都对拿到链接的人可见。公开之前请自己过一遍内容。
优质的公开回放有机会被平台精选,出现在专家页或首页的精选位。精选资格要求对应专家已发布(或属于平台官方专家)。
已知限制:回放的浏览量目前没有真正计数(recordView 只更新了时间戳,没有计数列)。会话上的 published_resource_ids 字段同理,资源清单接口固定返回空数组——这两处都不要当作可用功能。

分叉:开一条新对话

分叉从指定消息处切一刀,把该消息及之前的所有消息复制进一条全新的会话。

复制了什么,没复制什么

分叉是真复制,不是差分。 消息会以新 ID 完整插入新会话,两边此后完全独立。所以分叉一条很长的对话会实打实产生一份副本——不要把它当成零成本操作。更要紧的是:沙盒不跟着走。原对话里专家写好的文件、跑起来的服务、装好的依赖,在分叉出来的新会话里全都不存在。分叉继承的是对话上下文,不是工作现场。如果关键产物在沙盒里,先让专家把它们交付到云端,再分叉。
分叉出来的对话顶部会显示一条虚线分隔与「分叉自某对话」的链接,点它能回到源对话。

失败与对策

分叉 vs 编辑重发:两件不同的事

很容易混淆的一对能力: 编辑和重新生成走的是消息分支机制:每条用户消息是一个「回合」,编辑会创建一个兄弟回合,会话记录当前展示的是哪条分支。切换版本时会自动跳到该分支下最新的延续(和主流聊天产品一致)。
早期创建、未经过分支迁移的会话没有分支能力,这类会话上的编辑是破坏性的——会删掉该消息之后的所有内容。界面上不会出现版本切换器,可以据此判断当前会话属于哪一类。

典型用法

方案对比:让专家用一种技术栈实现完了,从「开始实现」那条消息分叉,在新会话里换一种再来一遍,两条会话并排比较。 风险隔离:专家要执行一个你没底的操作,先分叉一条试。注意新会话里没有沙盒现场,试的是决策路线而不是同一份文件。 复盘教学:把一段专家解决复杂问题的对话公开,链接发给同事。对方看到的是完整过程——包括试错,这往往比结论更有价值。 问题溯源:结果不对时回放一遍,展开工具调用卡片逐个看参数和返回,定位到具体哪一步跑偏。

继续阅读

会话与工作区

会话、工作区与沙盒的关系

工作区面板

预览、文件、Widget 三种面板

文件与云盘

怎么把沙盒里的产物交付到云端

内容广场

另一条内容公开路径:推广笔记