M
CodeMap
mastra/core
packages/core/src · mastra-ai/mastra ↗

Mastra 源码 架构地图

TypeScript AI Agent 框架——用声明式配置构建拥有工具、记忆、可观测性与 durable execution 能力的 Agent。 底层把 agentic 循环建模为可中断恢复的 Workflow。这份地图帮你在读源码时定位模块、看见依赖、读懂取舍

56 top-level modules
8 core
48 secondary
~160k lines of TypeScript

模块依赖关系

点击节点跳转 →
Core module (8) Secondary module
agent/ 41,079 LoC

Agent 类封装一个有 instructions、model、tools、memory 的 AI 对话体,提供 generate()/stream()/streamUntilIdle()/resume()/network() 等执行入口。内部通过 prepare-stream workflow(位于 agent/workflows/)编排 memory 加载、工具解析、input processors,再委托给 llm + loop 跑 agentic 循环。框架的主角,也是最大的模块。

mastra/ 6,210 LoC

Mastra 类是全局 DI 容器和注册中心,负责注册/连接所有 primitives(agents、tools、workflows、MCP servers、memory、vectors、scorers、channels、gateways 等),管理 worker/scheduler 生命周期,提供运行时服务发现。框架的入口和大管家。

workflows/ 19,510 LoC

声明式 DAG 工作流引擎。提供 step/then/branch/parallel/forEach/loop/sleep 等组合子,支持 suspend/resume、time-travel、snapshot 持久化、event-sourced 执行。既用于用户自定义流程,也是 Agent agentic loop(三层嵌套 workflow)的底层执行容器。

loop/ 12,149 LoC

Agentic 执行循环:实现 ReAct 式迭代(LLM 推理 → 工具调用 → 结果注入 → 下一轮)。整个循环被建模为两层嵌套 Workflow(agentic-loop 外层 > agentic-execution 单轮),由 workflowLoopStream() 驱动 ReadableStream,支持 suspend/resume、structured output、goal evaluation、background task 检查。顶层入口是 loop() 函数和 networkLoop()(多 agent 网络)。

processors/ 14,046 LoC

可插拔中间件管线。Processor 接口有 10+ 个 lifecycle hooks(processInput/processLLMRequest/processLLMResponse/processOutput/processAPIError/computeStateSignal 等),由 ProcessorRunner 编排执行顺序。memory、working-memory、semantic-recall、skills、response-cache、structured-output、tool-search、PII detection、moderation 等 24 个横切能力全部是内置 Processor 实现。

llm/ 12,817 LoC

模型层抽象:统一多 provider 模型访问(OpenAI/Anthropic/Google/Azure 等)。核心是 ModelRouterLanguageModel——把 'provider/model-id' 字符串在运行时解析为 AI SDK LanguageModel 实例,查 PROVIDER_REGISTRY(~200 provider 映射),支持 gateway 认证(Mastra/Netlify/ModelsDev/Azure)、fallback 策略、embedding router。MastraLLMVNext(不导出,agent 直接 import)是桥接 Agent → loop() 的胶水。

storage/ 23,797 LoC

多域复合存储抽象。MastraCompositeStore 把存储拆成 22+ 个独立子域接口(workflows/memory/agents/scores/blobs/datasets/observability/thread-state/mcp-servers/...),每个子域可独立实现。默认 InMemoryStore 零配置可用;生产环境可以任意混搭后端(workflow 状态用 Postgres、blob 用 S3、memory 用 Redis、vector 用 Pinecone)。是整个框架被依赖最多的底层模块。

tools/ 5,712 LoC

工具系统:定义 type-safe 工具(inputSchema/outputSchema + execute),支持 suspend/resume、requireApproval、background execution、payload transform、Vercel/Provider tool 转换(CoreToolBuilder)。内置工具:askUserTool(向用户提问)、submitPlanTool(提交计划)、taskWrite/Update/Complete/CheckTool(任务状态管理)、run-command-tool(network 内部)、code-mode 工具。

03 agent.generate() 全链路

从用户调用到拿到结果之间,3 层嵌套 Workflow、Processor 管线、agentic 迭代循环的逐步骤拆解。

04 5 个关键设计决策

为什么 agentic loop 是 Workflow?为什么 model 用字符串?为什么 Storage 是 22 个接口?读源码才看得见的 trade-off。