osFoundry / Platform
热回放与历史
每个通道保留最近 N 天的事件。重置游标,从任意 seq id 重新回放。
简介
热重放与历史是 osFoundry 的按通道事件日志。每个通道,也就是你的聊天、智能体和工具背后的流,都会保留最近 N 天的事件,而每个事件都带有一个单调递增的序列 id(seq id)。消费者通过跟踪一个指向自己最后处理的 seq id 的游标向前读取。由于最近的窗口保持在热状态,你无需把通道当作发出即忘的流来对待:历史就在那里,可以再次读取。
核心操作很简单。把游标移回任意一个 seq id,然后从该点开始重放。运行中途崩溃的智能体、刚加入通道的新消费者,或是错误处理了事件的工具,都可以重新读取完全相同的序列,而不必丢失那段空缺或去猜测发生了什么。由于 osFoundry 是一款自带密钥(BYOK)的桌面工作区,这段历史与你的工作区一同保存,而不是放在供应商的服务器上:事件窗口是本地优先的,因此重放旧事件并不意味着把你的数据回传给第三方。你重置游标,重放,消费者便会看到与实时状态下完全相同的有序事件。
为什么这很重要:智能体和多通道工作流都是有状态的,而这种状态的可信度,取决于你重建它的能力。一个被保留、可按 seq id 寻址的窗口,把"这个通道到底看到了什么?"从猜测变成了确定性的重读。它让调试可复现(重放触发某个缺陷的确切序列),让恢复变得低成本(从上一个良好游标恢复,而非从零开始),也让接入新消费者更安全(从选定的 seq id 回填)。窗口在设计上被限定为最近 N 天,因此历史既保持有用和最新,又不会无限增长。
主要功能
- 每个通道都保留最近 N 天的事件,每个事件都盖上一个单调递增的序列 id(seq id)
- 把某个消费者的游标重置到任意 seq id,并从该点开始重放完全一致、有序的事件序列
- 让崩溃的智能体或中断的运行从最后处理的游标恢复,而无需从头再来
- 通过重放触发缺陷的精确事件序列来确定性地复现缺陷,或从选定的 seq id 为新加入的消费者回填
- 有界且本地优先的保留让最近的历史在你的设备上保持热状态,既不会无限增长,也无需往返供应商
使用场景
- 智能体开发者:某个智能体在运行途中崩溃,于是你把它的游标回退到最后提交的 seq id 并重放通道,从它停下的地方原样继续
- 工作流调试者:某个下游工具产出了错误结果,于是你重放同一段事件区间来复现,并确定性地确认修复生效
- 集成构建者:你在一个繁忙的通道里加入新消费者,并从选定的 seq id 为它回填,让它在上线前先追上最近 N 天的进度
常见问题
我能重放一个通道多久以前的事件?
每个通道都保留一个最近 N 天事件的滚动窗口。窗口内的一切都可按其序列 id 寻址并重放;超出保留窗口的旧事件会随时间被淘汰,因此热重放是为最近的历史和恢复设计的,而非用于永久归档。
重置游标实际上会做什么?
游标标记着某个消费者最后处理的 seq id。把它重置到更早的 seq id,就是告诉该消费者从那一点起重新读取通道,再次接收同样有序的事件。它不会删除或改写事件,只是改变了读取恢复的位置。
重放我的通道历史会把数据发送到 osFoundry 的服务器吗?
不会。osFoundry 是一款自带密钥(BYOK)、本地优先的桌面工作区,事件窗口随你的工作区一同保留。重放读取的是已经保存在本地的事件,因此恢复或重新处理历史都无需把你的通道数据发往第三方服务。