← 返回首頁
Electric
Electric
@ElectricSQL
103🔁 20
𝕏 (Twitter)🔥

AI 語音朗讀 · Edge TTS

AI 中文摘要Claude 生成

StreamDB 是一款為人工智慧應用與 Agent 系統打造的反應式資料庫,將持久流(Durable Stream)轉化為具有類型安全、即時同步的狀態管理層。

核心設計理念

StreamDB 透過將標準Schema與持久流整合,為 AI 應用和 Agent 系統提供統一的狀態管理方案。傳統做法需要手工組合資料庫、發佈/訂閱層、自訂同步邏輯和重試機制,導致每個專案都成為獨特的堆疊。StreamDB 解決這個問題,讓開發者只需定義Schema,就能自動獲得型別化、同步且反應式的狀態管理——無需手工協調、缺乏型別安全或在斷線時狀態遺失。

多工與路由機制

StreamDB 將不同實體類型(訊息、使用者狀態、Agent 註冊等)路由到獨立的 TanStack DB collections,所有資料都寫入同一個流。持久流作為唯一真實來源,collections 透過順序應用事件來實現狀態。客戶端可從任意 offset 加入並快速追趕,完全支援多使用者、多分頁、多裝置和多 Agent 場景。

即時反應性

資料進入 TanStack DB collections 後,由基於微分資料流(differential dataflow)的即時查詢引擎來實現狀態物化。當流上有新事件抵達時,只有受影響的資料會重新計算,實現亞毫秒級反應速度。衍生 collections 可組合使用,支援篩選、聚合與跨 collection 的資料連結。

持久性與容災

底層持久流確保狀態永久存儲且可定址。斷線、重整、重啟時狀態均得以保留,客戶端從最後 offset 恢復,無需重新擷取資料或承受狀態遺失。

實作流程

  • 用 Standard Schema 物件為每個實體類型定義結構,透過 createStateSchema 合併為統一Schema,將每種類型映射到具有主鑰的 collection
  • 透過 createStreamDB 連接Schema與持久流,preload() 從流開始讀取、物化當前狀態、維持即時更新連線
  • useLiveQuery 將 collections 綁定到元件,查詢透過微分資流增量更新,避免重新掃描與重新渲染未變更列
  • 衍生 collections 用於將流資料物化為高階結構(如將 token 塊組合為完整訊息),使用即時查詢管道增量更新

樂觀寫入與事務機制

寫入透過 TanStack DB 的樂觀動作系統進行。onMutate 立即向本地 collection 插入資料,UI 在網路往返前更新;mutationFn 則非同步將資料附加到持久流並等待同步回應。若寫入失敗,TanStack DB 自動回滾樂觀狀態。

Agent 整合與自動化

StreamDB 透過 TanStack Intent 提供 Agent 技能。安裝 Intent 系統後,npm update 會同步更新技能,编程 Agent 可一鍵在 Electric Cloud 上配置持久流並自動搭建 StreamDB。軟體工廠可在 Agent 工作流程中程式化地啟動會話狀態,無需手工基礎設施配置。

技術基礎

StreamDB 運行在持久流之上——一個為 Agent 會話資料設計的開放協議,提供持久、可定址、即時的流能力。Durable Sessions 示範展示了 StreamDB 如何消除樣板程式碼,讓衍生 collections 以增量、反應式的方式物化 token 塊成訊息狀態。