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: 将状态模式、工具和测试直接放在路由文件夹中。
  • 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 路由类型。