用途:为 ChatKit 应用实现实时流式 UI 模式,覆盖基础集成与完整交互组件之间的流式层,让 AI 回复期间界面保持活跃。
主要能力:响应生命周期(onResponseStart/onResponseEnd 锁定与解锁 UI);客户端效果(ClientEffectEvent,服务器到客户端单向、无需返回,用于更新 UI 状态或通知);客户端工具(onClientTool,服务器到客户端再返回,供 AI 读取客户端状态做决策);进度更新(ProgressUpdateEvent,显示搜索、加载、分析等提示);线程生命周期事件(onThreadChange、onThreadLoadStart、onThreadLoadEnd);线程标题动态更新。
使用方式:前端通过 @openai/chatkit-react 的 useChatKit 配置 api.url 与 domainKey,并注册 onReady、onError、onResponseStart、onResponseEnd、onEffect、onClientTool、onThreadChange 等回调;后端使用 chatkit.types 中的 ClientEffectEvent、ProgressUpdateEvent 等类型在 respond 中流式产出事件。
适用场景:交互式地图或画布、表单界面、游戏或模拟等需要在 AI 回复期间同步状态或锁定交互的应用。
限制与注意:效果应为即发即弃、不要 await;避免在 onEffect 中做重计算,DOM 更新用 requestAnimationFrame;必须处理 onError 以解锁 UI;回复期间应锁定 UI 以防竞态;应通过 onThreadChange 持久化线程状态。具体安装命令与收费信息暂未提供。