Solidway v0.1.0 已以 AGPL-3.0 发布,源码与 Releases 在 GitHub 上。文档正在按发布版本重写:除「快速开始」与「参考」外,其余页面仍在描述计划中的行为。当前权威说明见仓库内的 docs/getting-started.md 与 docs/architecture.md。
流式
SSE 如何透传、何时还能换号,以及用量怎么统计。
流式响应是增量转发的。网关不会为了检视而缓冲整条流。
转发什么
上游来的每个分块一到达就写给客户端。帧边界与内容都不变,所以解析 data: 行的客户端看到的
就是上游发出的内容。增量渲染与 tool-call 参数累积因此不受影响。
换号止于首字节
换号只发生在响应字节到达客户端之前。一旦上游返回了 2xx 响应头、网关开始写 body,响应就已提交:
- 成功流里的错误事件会原样交给客户端,不会换号重试;
- 流中途连接断开,客户端的流随之结束;该请求记为流错误。
这是「不拼接两段上游响应」的代价,也是网关从不改写或重排帧的原因。
用量怎么统计
Token 用量从流经的帧里读取——上游自己发出的 usage 字段(message_delta、response.completed 等),
以及上游通过响应头报告的值。统计不会改变发给客户端的字节。若流在上游报告用量前中断,则按已观测到的
内容记录并标注。
客户端断开
客户端断开时,上游请求被取消。被部分消费的流永远不会被记成成功。