Pi SDK 学习笔记(二):事件流与 SSE
上一篇把最小会话跑起来了:ModelRuntime + createAgentSession 在进程内订阅 text_delta、finally 里 dispose()。这一篇把它搬到 HTTP 上——用一个稳定的公开事件协议把内部事件流喂给浏览器,并处理好 SSE 的建流、心跳、断连和错误帧。 这一篇是把「进程内的 AgentSession」变成「跨信任边界的服务」的第一步,核心是事件映射和安全边界。
上一篇把最小会话跑起来了:ModelRuntime + createAgentSession 在进程内订阅 text_delta、finally 里 dispose()。这一篇把它搬到 HTTP 上——用一个稳定的公开事件协议把内部事件流喂给浏览器,并处理好 SSE 的建流、心跳、断连和错误帧。 这一篇是把「进程内的 AgentSession」变成「跨信任边界的服务」的第一步,核心是事件映射和安全边界。
最近在认真看 Pi SDK,想把它真正嵌进自己的程序里。光读官方示例容易囫囵吞枣,所以我从最小的命令行调用开始自己写,打算一步步把它长成支持多会话、SSE、工具策略和持久化的 Web Agent。这篇记第一段做的事:最小会话与模型运行时。 目标看起来很轻——用 OpenAI Chat Completions 兼容服务跑通一个内存会话,订阅文本增量,dispose() 收尾。但真正动手会发现几个容易糊过去的概念得先摆到台面上:ModelRuntime、AgentSession、SessionManager 的边界;「模型已注册」和「模型已有有效认证」是两回事;以及为什么不该直接用无参数的 createAgentSession()。