durable-streams/durable-streams
The data primitive for the agent loop.
What it solves
クライアントアプリケーションにおけるリアルタイムデータストリーミングの脆弱性を解決します。WebSocket や SSE といった標準的な接続は、ページリフレッシュやネットワークの揺らぎ、デバイスの切り替え時に失敗しやすく、データが失われたり、複雑なカスタム再開プロトコルが必要になることがあります。これは、トークンストリーミングやエージェントの進行イベントがユーザー体験に直結する AI アプリケーションにとって特に問題です。
How it works
Durable Streams は、順序付けられた再生可能なデータストリームを作成するための、最小限の HTTP ベースプロトコルを提供します。オフセットベースの読み取りを使用し、クライアントはストリーム内の任意の位置から再開できます。ライブテーリングのためにロングポーリングと SSE の両モードをサポートし、CDN フレンドリーに設計されているため、オリジンサーバーに負荷をかけずに数百万の同時視聴者へ大量に配信できます。
Who it’s for
協働 AI アプリ、エージェントシステム、リアルタイムデータベース同期ツール、CRDT を使用した協働エディタ、そしてパブリックインターネット上で耐障害性のあるマルチデバイス状態同期が必要なあらゆるアプリケーションを開発する開発者向けです。
Highlights
- Refresh-safe: ユーザーはリフレッシュやアプリのバックグラウンド化後も、ちょうど中断したところから再開できます。
- Resumable: オフセットベースの読み取りにより、再接続時にデータが失われません。
- Universal: 標準 HTTP を介して、ウェブブラウザ、モバイルアプリ、ネイティブクライアント、エッジワーカーで動作します。
- Multi-device Sync: 単一のストリームを複数デバイスやタブでリアルタイムに視聴可能です。
- Broad Language Support: TypeScript、Python、Go、Elixir、.NET、Swift、PHP、Java、Rust、Ruby 用のクライアントライブラリを提供します。