部署
把 AI Agent 部署到 Cloudflare Workers(零服务器)
做 AI Agent 最怕「还得买台服务器、配 nginx、担心被流量打挂」。Cloudflare Workers 让你把 Agent 逻辑跑在全球边缘节点:无需管理服务器、按请求计费、天然抗量。本教程用 wrangler 把一个调用大模型 API 的 Agent 部署上线。
☁️ 本教程适合:前端 / 全栈开发者,想零运维把一个轻量 Agent(如问答接口、webhook 处理器)发布到公网。
Step 1:安装并登录 Wrangler
1 安装并登录 Wrangler
Wrangler 是 Cloudflare 的命令行工具。用 npm 全局安装并登录账号。
npm install -g wrangler
wrangler login # 浏览器授权
wrangler whoami # 确认已登录
Step 2:初始化项目
2 初始化项目
新建一个 Worker 项目,选「Hello World」模板即可。
wrangler init my-agent
cd my-agent
npm install
Step 3:写 Agent 逻辑(fetch handler)
3 写 Agent 逻辑(fetch handler)
Workers 入口是 export default { fetch }。下面示例接收用户问题,转发给大模型 API 并返回回答。
export default {{
async fetch(request, env) {{
const {{ question }} = await request.json();
const r = await fetch("https://api.openai.com/v1/chat/completions", {{
method: "POST",
headers: {{ Authorization: `Bearer ${{env.OPENAI_KEY}}` }},
body: JSON.stringify({{ model: "gpt-4o-mini",
messages: [{{ role: "user", content: question }}] }})
}});
return new Response(await r.text());
}}
}}
Step 4:配置 wrangler.toml
4 配置 wrangler.toml
在 wrangler.toml 里设置名称、兼容日期,并用 secret 存密钥(不要写进代码)。
name = "my-agent"
main = "src/index.js"
compatibility_date = "2026-01-01"
# 设置密钥(命令行,不入库)
# wrangler secret put OPENAI_KEY
Step 5:本地调试
5 本地调试
上线前先在本地跑,模拟请求验证。
wrangler dev
curl -X POST localhost:8787 -d '{"question":"你好"}'
边缘限制:Workers 单次请求有 CPU 时长上限(默认 10s,付费可到 30s+)。长任务要拆成流式或放后台。
Step 6:部署并绑定存储(KV / R2)
6 部署并绑定存储(KV / R2)
一条命令上线;如需记忆/缓存,可绑定 KV 或 R2 存储。
wrangler deploy
# 绑定 KV(在 wrangler.toml 加 [kv_namespaces] 后重新 deploy)
wrangler kv namespace create AGENT_CACHE
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| 部署报 401/403 | 未登录或 OPENAI_KEY 没设成 secret |
| 请求超时 | 模型太慢,改流式返回或提 CPU 配额 |
| 密钥泄露风险 | 务必用 wrangler secret,别硬编码 |
| 想存对话 | 绑定 KV/R2,按 user_id 读写 |