Skip to content
所有標籤

#websocket

8 篇文章

跟成熟 coding agent 學設計(38):Agent as a Service——把 loop 包成別的程式可以呼叫的服務

rivumi 已有 Cloudflare Durable Object run resource:非同步建立、狀態/取消/artifact、live NDJSON 與支援 Last-Event-ID 的 SSE;遠端 approval 走獨立短效 capability。Python 另有 attach client 與 stateful conversation WebSocket。production deploy、跨 runtime parity 與完整多租戶 hardening 尚未驗證。

Embedding Rivumi:SDK、ConversationController 與 WebSocket Boundary

Rivumi 用 0.x typed SDK facade 暴露 bounded run 與 conversation contracts;WebSocket attach 只包住一個預先建立、由 controller 擁有的 runtime session,沒有 conversation-ID resume 或多 client routing。

ai deep-dive

Cartesia 深入介紹:從 Sonic 串流 TTS 到即時語音 Agent Pipeline

Cartesia 的核心是 Sonic 即時 TTS、Ink STT 與串流推論;雖然 2026 年已有 Line voice-agent 平台,選型時仍要分清模型層與電話 orchestration,並把 voice cloning 同意、資料保存與 fallback 自己設計好。

Ably:Channels、Presence 與 Recovery 的全球即時訊息平台

Ably 管理全球 realtime connections、channels、presence 與短期 recovery;application 仍要定義 idempotency、durable business state、token capability 與 offline resync。

Cloudflare Durable Objects:讓 Workers 有狀態、協調與 WebSocket 的那塊拼圖

Durable Objects 把一個 name 或 ID 對到全球唯一、單執行緒、帶私有 SQLite storage 的 actor。它適合 per-room、per-user、per-tenant、per-run 這種需要強一致協調的邊界;真正的設計題是 object key 要切在哪裡。

PartyKit:把每個協作 Room 變成 Edge Stateful Server

PartyKit 以 room-keyed stateful server 收斂 WebSocket coordination,適合多人協作與 presence;但 durable document、authorization、hibernation 與 platform ownership 仍要明確設計。

Socket.IO:Rooms、Acknowledgements 與斷線恢復的即時事件層

Socket.IO 是建立在 WebSocket/long-polling 上的事件協定與 runtime,不是原生 WebSocket 相容層;ordering、arrival、recovery 與水平擴展要分開設計。

WebSocket:雙向長連線只是起點,Protocol 與 Backpressure 才是工程

WebSocket 提供一條雙向 message transport,不包含 auth renewal、schema、ack、replay、rooms 或 backpressure policy;這些才決定 production correctness。