durable-streams/durable-streams
The data primitive for the agent loop.
What it solves
它解决了客户端应用程序中实时数据流的脆弱性。WebSocket 或 SSE 等标准连接在页面刷新、网络波动或设备切换时常会失效,导致数据丢失或需要复杂的自定义恢复协议。这对 AI 应用尤为严重,因为 token 流和代理进度事件对用户体验至关重要。
How it works
Durable Streams 提供一个最小化、基于 HTTP 的协议,用于创建有序且可重放的数据流。它使用基于 offset 的读取方式,允许客户端从流中的任意特定点恢复。它支持长轮询和 SSE 两种模式进行实时尾随,并且设计上友好 CDN,能够在不超载源服务器的情况下,将数据大规模分发给数百万并发观看者。
Who it’s for
适用于开发协作 AI 应用、代理系统、实时数据库同步工具、使用 CRDT 的协作编辑器,以及任何需要在公共互联网实现弹性、多设备状态同步的应用程序。
Highlights
- Refresh-safe: 用户在刷新或将应用置于后台后,能够从中断的地方继续。
- Resumable: 基于 offset 的读取确保重新连接时不会丢失数据。
- Universal: 可在网页浏览器、移动应用、原生客户端和 Edge Workers 上使用标准 HTTP。
- Multi-device Sync: 允许单一流在多个设备或标签页上实时观看。
- Broad Language Support: 提供 TypeScript、Python、Go、Elixir、.NET、Swift、PHP、Java、Rust 与 Ruby 的客户端库。