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
需要開通或續費?AI 會員充值與全部商品 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    AI圖片放大與高清修復:Midjourney、ChatGPT、Gemini 怎麼出高解像度圖

    AI 生成的圖不夠清晰,想打印或做大圖怎麼辦?本文按官方文檔講清 Midjourney 的 Subtle / Creative 放大和 HD 直出、Gemini 與 ChatGPT 的解像度選項、Flow 的影片放大,以及「AI 放大會編造細節」的注意事項。

    Gemini其他 AI 工具0
  2. 02

    AI影片運鏡提示詞大全:推拉搖移跟升降、環繞、甩鏡怎麼寫(中英對照)

    AI 影片的運鏡提示詞怎麼寫?本文按 Google 官方影片提示指南整理鏡頭運動、機位角度、鏡頭光學效果三張中英對照表,每個術語配效果說明和例句,並給出組合運鏡的寫法和常見翻車原因,適用於 Veo、即夢、可靈等工具。

    Gemini其他 AI 工具0
  3. 03

    AI 影片翻譯怎麼做:用 ElevenLabs 給影片自動配音翻譯、轉寫並生成字幕

    想把一段影片翻譯成另一種語言並保留原聲音色?本文按 ElevenLabs 官方文檔講清 Dubbing 自動配音翻譯的操作步驟、文件限制、免費檔水印與計費方式,以及用 Speech to Text 轉寫、在字幕編輯器裏調整並導出字幕的流程。

    其他 AI 工具0
  4. 04

    MCP Inspector 怎麼用:安裝、啟動命令、調試 MCP 伺服器與 v2 的變化

    MCP Inspector 是什麼、怎麼安裝和使用?按 MCP 官方文檔講清網頁、命令行、終端介面三種模式的啟動命令,怎麼連本地和遠程伺服器、怎麼傳環境變量,密鑰存在哪,以及 v2 相比舊教學在端口、令牌變量名和 Node 版本上的變化。

    Claude其他 AI 工具0
  5. 05

    MCP 的 stdio、SSE 和 Streamable HTTP 有什麼區別:本地與遠程 MCP 怎麼選

    MCP 配置裏的 stdio、sse、http 到底差在哪?按 MCP 官方規範講清兩種標準傳輸方式的工作原理、Streamable HTTP 與舊的 HTTP+SSE 的關係、會話與斷線續傳、規範對安全的硬性要求,以及本地伺服器和遠程伺服器各適合什麼場景。

    Claude其他 AI 工具0
  6. 06

    Midjourney 可以商用嗎:作品歸屬、商用條件與隱身模式

    Midjourney 生成的圖片和影片能不能商用、版權歸誰、公司用要什麼套餐、作品會不會被別人看到?本文按 Midjourney 服務條款逐條解釋,並補充中美對 AI 生成圖片版權的官方 / 司法觀點。

    其他 AI 工具0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~