smithersai/smithers

Smithers is an agentic workflow framework for defining workflows in simple TypeScript configuration files and executing them quickly, durably, and reliably

解決的問題

Smithers 提供了一種建立「持久性」代理工作流程的方法,使其能夠在程序崩潰後仍能繼續運行。在標準軟體中,如果程序在執行中途死亡,狀態就會丟失;Smithers 確保當新程序啟動時,可以讀取先前的副作用日誌,並從上一次運行停止的位置精確恢復。

工作原理

它是一個基於 Effect 框架的持久執行引擎。它會將類型化程式的每一項副作用記錄到日誌中。如果發生失敗,引擎會重播日誌以恢復狀態。它使用內容尋址的步驟鍵(基於標準 JSON)而非活動名稱,以確保重命名步驟不會破壞重播過程。它支援多種儲存後端,目前發行版候選版本中,本地 SQLite 是主要的持久化選項。

適用對象

開發 AI 代理或複雜自動化工作流程,需要高可靠性、長時間執行,或能處理中斷與重試而不會遺失進度的開發者。

特色

  • 容錯能力:工作流程即使在程序死亡後也能存活,並能從持久狀態恢復。
  • 時間旅行:支援重播、分叉和回退到先前的執行階段。
  • 嚴格識別:使用內容尋址來標識步驟,並由呼叫者選擇執行 ID,以防止靜默衝突。
  • 類型安全:支援模式類型的載荷、成功與錯誤。
  • 代理工具:內建生產環境代理迴圈,包含會話管理與模型協定。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案