cacheplane/dawnai
Build LangGraph agents like Next.js apps.
What it solves
Dawn 是一個 TypeScript 元框架,旨在消除建構 LangGraph 代理時的樣板程式碼。它允許開發者像 Next.js 處理網頁一樣,將 AI 代理與工作流程寫成檔案系統路由的應用,從而減少手動連接節點、邊與設定檔的工作。
How it works
Dawn 使用 src/app/ 下的檔案系統路由系統,開發者在其中定義代理、工作流程或鏈。只需匯出一個簡單的 agent() 描述子,Dawn 就會自動偵測路由、接入本地工具,並產生用於部署到 LangSmith 的 langgraph.json 設定。它內建 SQLite 檢查點實作以提供持久化執行緒,提供帶有 Agent Protocol 端點的本地開發伺服器,以及基於 TypeScript 的型別產生系統,確保路由參數與工具 I/O 的端對端型別安全。
Who it’s for
適用於希望使用 LangGraph 建構複雜、具狀態的 AI 代理的 TypeScript 開發者,但希望有一個更結構化、高層次的框架來處理路由、部署產物與本地開發迴圈。
Highlights
- Filesystem Routing: 將狀態 schema、工具與測試直接放在路由資料夾內。
- Boilerplate Reduction: 自動產生
langgraph.json套件並將工具接入圖中。 - Durable Threads: 預設提供 SQLite 實作,用於執行緒持久化與人工介入的暫停。
- Integrated Testing: 包含
@dawn-ai/testing,用於 CI 安全的測試工具與 fixture 重放。 - Execution Isolation: 透過
@dawn-ai/sandbox(提供 Docker 參考實作)可選的沙箱支援,實現安全的 shell 與檔案系統呼叫。 - Flexible Execution: 支援
agent(LLM 驅動)、workflow(確定性)、graph或chain路由類型。