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(確定性)、graphchain 路由類型。