跳到主要内容

将 Mastra 部署到 Cloudflare

使用 @mastra/deployer-cloudflare 将 Mastra Server 部署到 Cloudflare Workers。该 deployer 会打包代码并生成符合 Cloudflare wrangler 配置wrangler.jsonc 文件,无需额外配置即可部署。

信息

如果你使用的是 Server 适配器Web 框架,请按该框架的常规方式进行部署。

开始之前
开始之前的直接链接

你需要一个 Mastra 应用和一个 Cloudflare 账户。

注意

Cloudflare Workers 使用临时文件系统,因此配置的所有 Storage(包括 observability Storage)都必须在外部托管。如果你将 LibSQLStore 与文件 URL 配合使用,请改用远程托管的数据库。

安装
安装的直接链接

@mastra/deployer-cloudflare 包添加到项目:

npm install @mastra/deployer-cloudflare@latest

导入 CloudflareDeployer,并在 Mastra 配置中将其设置为 deployer:

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { CloudflareDeployer } from '@mastra/deployer-cloudflare'

export const mastra = new Mastra({
deployer: new CloudflareDeployer({
name: 'your-project-name',
vars: {
NODE_ENV: 'production',
},
}),
})

如需在本地测试 Cloudflare Worker,还要安装 wrangler CLI

npm install -D wrangler

使用方法
使用方法的直接链接

设置项目后,将其推送到你选择的远程 Git Provider(例如 GitHub)。

  1. 将仓库连接到 Cloudflare。在“Workers & Pages”仪表盘中选择 Create application(创建应用),并在下一步选择 Git Provider。继续完成设置流程,然后选择要部署的仓库。

    备注

    请设置运行应用所需的环境变量(例如模型 Provider API Key)。你可以使用 npx wrangler secret bulk .env.env 文件上传 secret。详情请参阅 Secret

  2. 准备就绪后,单击 **Deploy(部署)**按钮,等待首次部署完成。

  3. 访问 https://<your-project-name>.<slug>.workers.dev/api/agents,试用刚部署的函数。你应该会收到列出所有可用 Agent 的 JSON 响应。

    由于 Mastra Server 会为每个 API 端点添加 /api 前缀,因此发出请求时必须将其添加到 URL 中。

  4. 现在可以通过 HTTP 调用 Mastra 端点。

    备注

    在公开暴露端点之前,请设置身份验证