Mastra 是什么、怎么用:TypeScript 智能体框架的安装与第一个 Agent

Mastra 是什么框架、怎么上手?按 Mastra 官方安装文档讲清它的定位、Node.js 版本要求、一条 create mastra 命令起项目、手动安装的七个步骤、用 provider/model 字符串指定模型、定义 Agent 并注册到 Mastra 实例,以及从脚本里调用它。

NNathaniel bigo··原创首发·AI 辅助撰写
7 分钟读完
资料核对于 2026-10-11 · 依据官方文档与公开资料整理 其他 账号
本文根据 Mastra 官方文档《Installation》整理,资料核对于 2026-10-11。文中代码取自官方页面,没有在本机运行验证。

适用于谁

  • 搜「mastra 是什么」「mastra 教程」「mastra 框架」「mastra agent」的人;
  • 用 TypeScript 写后端或全栈应用,想在项目里加智能体的人;
  • 用过 Python 的智能体框架,想找一个 TypeScript 生态里对应的东西的人。

结论先说

  1. Mastra 是一个用 TypeScript 构建 AI 智能体和应用的框架。
  2. 需要 Node.js 22.18.0 或更高版本。官方选这个版本的原因是它可以直接运行 TypeScript 文件。
  3. 最快的起步方式是一条命令:npm create mastra@latest。
  4. 模型用 'provider/model' 字符串指定,不需要单独导入各家的包;API Key 通过环境变量提供。
  5. 核心结构很简单:用 new Agent({...}) 定义智能体,在 new Mastra({ agents: {...} }) 里注册,之后用 mastra.getAgentById(...) 取出来调用。

一、准备

  • Node.js 22.18.0 或更高。在终端运行 node --version 确认;
  • 模型厂商的 API Key。官方举的例子:OpenAI 用 OPENAI_API_KEY,Anthropic 用 ANTHROPIC_API_KEY,Google 用 GOOGLE_API_KEY。其他厂商对应的环境变量名,官方有一张完整的表。

Key 的获取见《OpenAI API Key 怎么获取》、《Claude API Key》、《Gemini API Key》。

二、快速开始:一条命令

按你用的包管理器选一条:

bash
npm create mastra@latest
bash
pnpm create mastra@latest
bash
yarn create mastra
bash
bunx create-mastra

按提示完成即可。官方文档对脚手架内容的描述是:一个通用的智能体框架,带本地工作区、终端工具、记忆、任务跟踪、联网访问和定时任务;同时会为你的编程智能体安装 Mastra 的 Skills。

文档还提到 Studio:一个用来和项目交互的界面,项目建好后可以直接打开。启动方式看脚手架生成的 package.json 里的脚本和官方文档。

三、手动安装:七步

想弄清楚每个文件是干什么的,或者要把 Mastra 加进已有项目,按官方的手动步骤来。

第 1 步:创建 package.json,内容里要有:

json
{ "type": "module" }

第 2 步:安装依赖

bash
npm install @mastra/core@latest zod@latest typescript@latest @types/node@latest mastra@latest

第 3 步:创建 tsconfig.json。官方给出的关键设置:

设置值
targetES2022
moduleES2022
moduleResolutionbundler
stricttrue
allowImportingTsExtensionstrue
noEmittrue
include["src/**/*"]

第 4 步:设置环境变量,例如 OPENAI_API_KEY。

第 5 步:定义智能体,文件放在 src/mastra/agents/weather-agent.ts:

ts
import { Agent } from '@mastra/core/agent'
import { weatherTool } from '../tools/weather-tool.ts'

export const weatherAgent = new Agent({
  id: 'weather-agent',
  name: 'Weather Agent',
  instructions: `...`, // full instructions on the page
  model: 'openai/gpt-5.6-sol',
  tools: { weatherTool },
})
  • id:之后用它来取这个智能体;
  • instructions:系统提示词,官方示例里是一段关于如何回答天气问题的说明,完整内容见官方页面;
  • model:'provider/model' 形式的字符串;
  • tools:这个智能体可以用的工具。示例里的 weatherTool 来自 ../tools/weather-tool.ts,用 @mastra/core/tools 里的 createTool() 创建,代码见官方页面。

第 6 步:注册,文件是 src/mastra/index.ts:

ts
import { Mastra } from '@mastra/core'
import { weatherAgent } from './agents/weather-agent.ts'

export const mastra = new Mastra({
  agents: { weatherAgent },
})

第 7 步:从脚本里调用

ts
// run.mjs
import { mastra } from './src/mastra/index.ts'

const agent = mastra.getAgentById('weather-agent')
const response = await agent.generate('Weather in SF')
console.log(response.text)

官方提醒:本地文件的导入要带上文件扩展名(.ts)。这和 tsconfig.json 里的 allowImportingTsExtensions 是配套的。

四、目录结构怎么理解

按上面的步骤,项目里和 Mastra 有关的部分是:

src/mastra/
├── index.ts               # 创建 Mastra 实例,注册智能体
├── agents/
│   └── weather-agent.ts   # 智能体定义
└── tools/
    └── weather-tool.ts    # 工具定义

Mastra 实例是总入口:智能体都注册在它上面,应用的其他部分通过它来获取。新增一个智能体就是在 agents/ 下加一个文件,再到 index.ts 里注册。

五、写智能体时的几点

这些是通用的做法,不限于 Mastra:

  • instructions 写清边界:它负责什么、不负责什么、信息不足时该问用户还是该拒绝;
  • 工具说明写给模型看:模型靠工具的名称和描述决定何时调用;
  • 有副作用的工具谨慎提供:能发消息、改数据、执行命令的工具,先想好要不要人工确认;
  • 密钥只放环境变量,不要写进代码或提交进仓库。

系统提示词的写法见《系统提示词怎么写》。

六、接下来

官方安装页列出的后续方向:

  • 模板:官方提供了一批起步模板;
  • 接入现有框架:有 Next.js、React + Vite、Astro、Express、SvelteKit、Hono 的集成指南。

框架的其他能力见官方文档的对应章节。

常见问题

Q:Node 版本低于 22.18 行不行?

官方写的要求是 22.18.0 或更高。上面的写法依赖 Node 直接运行 TypeScript 文件,低版本不满足。

Q:一定要用 OpenAI 的模型吗?

不是。把 model 换成其他厂商的 'provider/model' 字符串,并设置对应的环境变量。各厂商的变量名见官方的环境变量表。

Q:和 Vercel AI SDK 是什么关系、怎么选?

两者都是 TypeScript 生态的。AI SDK 是偏底层的工具包,见《Vercel AI SDK 是什么》;Mastra 是在更高一层提供智能体定义、注册和 Studio 等一整套结构的框架。只需要调模型和流式输出,用前者就够;要组织多个智能体和工具,可以看 Mastra。

Q:Python 项目能用吗?

Mastra 是 TypeScript 框架。Python 的选择见《Pydantic AI 是什么》和《OpenAI Agents SDK 教程》。

参考资料

  • Installation(Mastra 官方文档):https://mastra.ai/docs/getting-started/installation

Nathaniel 的更多内容

  1. 01

    ChatGPT 聊天记录不见了怎么办:归档的聊天在哪、怎么搜索和恢复

    ChatGPT 侧边栏里的聊天记录突然没了?多半是被归档、登错账号或只是太久远没显示。本文按官方帮助中心讲清归档是什么、归档的聊天在哪看、怎么用搜索找回旧对话,以及删除后能不能恢复。

    ChatGPT0
  2. 02

    Claude 隐私设置:模型训练开关、删除对话与删除账号

    Claude 会不会拿我的对话训练模型?在哪关?删除对话后多久彻底删除、怎么批量删、怎么注销账号,以及无痕对话和数据保留期限,按官方说明一篇讲清。

    Claude0
  3. 03

    DeepSeek本地部署教程:用Ollama运行DeepSeek-R1(硬件要求、命令与常见问题)

    DeepSeek 本地部署怎么做、要什么配置?本文按 Ollama 官方模型页讲清 DeepSeek-R1 各尺寸的体积与选择、安装和运行命令、上下文长度设置、本地 API 调用,以及本地版和官方在线版的差别。

    其他 AI 工具0
  4. 04

    Gemini Deep Research 不见了怎么办:入口在哪、次数限制、免费能用吗、报告怎么导出

    找不到 Gemini 的 Deep Research?本文按官方帮助中心逐条排查:当前入口位置、年龄和登录要求、免费账号高峰期可能暂停、每日次数与并行数上限、和技能不能同用等原因,并讲清怎么只查自己的资料、怎么找回旧报告、怎么导出到文档和生成音频概览。

    Gemini0
  5. 05

    Claude Projects 怎么用:项目知识库、项目指令与新版项目(beta)

    Claude Projects(项目)是什么、怎么建?项目知识库能传多大的文件、项目指令怎么写、Free 能建几个,以及 Claude Code 里的新版项目(beta)有什么不同。

    Claude0
  6. 06

    扣子怎么创建智能体:扣子编程一句话生成,旧版低代码配人设、插件、知识库

    扣子怎么创建智能体?扣子现在分成扣子、扣子编程和旧版低代码开发平台三块,官方文档写明低代码平台不再向新注册用户开放。本文按官方文档讲清新用户在扣子编程里怎么生成智能体,老用户在旧版里怎么写人设、加插件和知识库并调试。

    其他 AI 工具0

同产品的其他教程

  1. 01

    Midjourney 参数大全:--ar、--stylize、--chaos、--no 等常用参数怎么用

    Midjourney 的 --ar、--s、--c、--w、--no、--seed、--sref、--iw 都是什么意思、取值范围多少、哪个版本能用?本文按官方参数表整理成速查表,附写法规则和组合示例。

    其他 AI 工具0
  2. 02

    ElevenLabs 怎么用:文字转语音入门、中文配音、模型与参数怎么调、声音克隆须知

    ElevenLabs 怎么用、支持中文吗?本文按官方文档讲清文字转语音的四步操作、选声音和选模型哪个更重要、稳定度与相似度等参数怎么调、停顿和情绪怎么控制、声音克隆的录音要求与授权确认,以及免费额度和商用许可。

    其他 AI 工具0
  3. 03

    promptfoo 使用教程:对比提示词和模型、写断言自动评测(安装与配置)

    promptfoo 是什么、怎么使用?按官方 README 和入门文档讲清它的用途、三种安装方式、用示例项目起步、promptfooconfig.yaml 里提示词、模型和测试用例三部分怎么写、常用断言类型的含义、eval 与 view 两条命令,以及把它放进日常改提示词流程的方法。

    ChatGPT其他 AI 工具0
  4. 04

    OpenCode Skills 使用指南:技能目录、命名规则、权限配置与不加载排查

    OpenCode 的 Skills 放在哪个目录、怎么控制哪些技能能用?按 OpenCode 官方文档讲清六个扫描位置、name 的正则规则、skill 工具的工作方式、在 opencode.json 里用 allow / deny / ask 配置权限、按智能体覆盖,以及技能不出现时的五项检查。

    其他 AI 工具0
  5. 05

    MinerU 是什么、怎么用:把 PDF 等文档解析成 Markdown(4.0 的安装、四档解析与命令)

    MinerU 是什么、怎么安装使用?按官方中文 README 讲清 4.0 版本的定位、支持的输入与输出格式、flash / basic / standard / advanced 四档解析各适合什么、pip 安装命令、mineru-kit 与 mineru 两个命令的分工和常用写法,以及从旧版升级要注意什么。

    其他 AI 工具0
  6. 06

    npx skills add 怎么用:从 GitHub 安装 Skill、skills.sh 是什么与常用命令

    网上的 Skill 安装命令大多是 npx skills add 开头,它是什么、装到哪去了?按官方 README 讲清 skills 命令行工具支持的来源写法、项目与全局两种范围、-a 指定工具、list / find / update / remove 等命令、软链接与复制的区别,以及怎么关掉遥测。

    Claude其他 AI 工具0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~