为什么是 Cloudflare

Moltworker 的核心思路是把 Cloudflare 的几项服务串起来,构建一个完整的运行环境:

  • Workers — Serverless 计算,负责跑代码
  • Sandbox 沙箱 — 安全隔离的容器环境
  • R2 Bucket — 持久化存储,防止容器重启丢数据
  • AI Gateway — 统一的模型路由和监控

这套组合的好处是安全性和可靠性都有保障,不用自己操心服务器运维。

实际要花多少钱

Cloudflare 按实际使用量计费。轻度使用(每天几十次交互),基本就是 5 美元/月的 Workers Paid 基础订阅费。重度使用可能到 10-20 美元/月。对于个人开发者来说,这个成本相当友好。

部署前准备

开始之前,确认以下几项就绪:

  • Cloudflare 账号(免费注册)
  • Workers Paid 订阅(5 美元/月,沙箱容器必需)
  • Node.js 18+
  • Docker(推荐 Rancher Desktop 或 Docker Desktop)
  • AI 模型 API Key — Anthropic / OpenRouter / OpenAI 任选

完整部署流程

第一步:克隆项目并安装依赖

# 克隆 Moltworker 仓库
git clone https://github.com/cloudflare/moltworker.git
cd moltworker

# 安装 Wrangler(Cloudflare 命令行工具)
npm i -D wrangler

# 安装项目依赖
npm install

第二步:登录 Cloudflare

npx wrangler login

浏览器会自动弹出授权页面,点击允许即可。

第三步:配置 AI 模型

这一步决定你的 Agent 用哪个大模型。以 Anthropic Claude 为例,最简单的方式是直接配置 API Key:

npx wrangler secret put ANTHROPIC_API_KEY

输入你的 API Key,输入时不会显示字符,这是正常的安全行为。如果提示 moltbot-sandbox worker 不存在,选择 Yes 创建。

如果你想用 Cloudflare AI Gateway(提供统一的模型路由、缓存和分析能力),需要先在 Cloudflare Dashboard 的 AI Gateway 中创建一个 Gateway,添加 Anthropic 作为 Provider 并保存 API Key,然后配置:

npx wrangler secret put AI_GATEWAY_API_KEY
npx wrangler secret put AI_GATEWAY_BASE_URL
# 格式: https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/anthropic

注意:AI_GATEWAY_* 变量优先级高于 ANTHROPIC_API_KEY,两者同时存在时会走 Gateway。

第四步:生成访问令牌

Gateway Token 用于保护控制界面,务必保密:

export MOLTBOT_GATEWAY_TOKEN=$(openssl rand -hex 32)
echo "$MOLTBOT_GATEWAY_TOKEN" | npx wrangler secret put MOLTBOT_GATEWAY_TOKEN

# 记下这个令牌,后面访问要用
echo "你的令牌: $MOLTBOT_GATEWAY_TOKEN"

第五步:首次部署

确保本地 Docker 已启动,然后运行:

npm run deploy

部署成功后会输出 Worker 的 URL,类似 https://moltworker.你的用户名.workers.dev,记下它。

第六步:首次访问

打开浏览器访问:

https://your-worker.workers.dev/?token=你的GATEWAY_TOKEN

首次访问需要等 1-2 分钟,这是容器冷启动,耐心等。这时候你很可能会看到报错,提示 CF_ACCESS_TEAM_DOMAINCF_ACCESS_AUD 没有配置——这是正常的,接着往下走。

第七步:配置 Cloudflare Access

这一步容易踩坑,按顺序来就好。

获取 Team Domain: 进入 Cloudflare Dashboard → 左侧菜单选择 Zero Trust → 如果没创建过,点 Get Started。在页面上找到 Team Name,Team Domain 格式是 你的团队名.cloudflareaccess.com

npx wrangler secret put CF_ACCESS_TEAM_DOMAIN
# 输入: 你的团队名.cloudflareaccess.com

获取 AUD Tag: 在 Zero Trust → Access → Applications 中找到你的 Application,点击进入后选择 View More,页面底部就能看到 AUD Tag。

npx wrangler secret put CF_ACCESS_AUD
# 输入 AUD Tag

配置完成后重新部署:

npm run deploy

第八步:配置 R2 持久存储

这一步强烈建议做。不配置的话,容器每次重启所有数据都会丢失。

部署过程中系统已自动创建了 moltbot-data bucket,你需要为它创建 API Token:

  1. 进入 R2 Dashboard,点击 moltbot-data bucket
  2. 右下角 Account Details → Manage → User API Tokens → Create User API Token
  3. 权限选 Object Read & Write(不需要 Admin),指定 bucket 为 moltbot-data
  4. 创建后保存好 Access Key ID 和 Secret Access Key
npx wrangler secret put R2_ACCESS_KEY_ID
npx wrangler secret put R2_SECRET_ACCESS_KEY
npx wrangler secret put CF_ACCOUNT_ID
# Account ID 在 Dashboard 首页右上角菜单中可以复制

再次部署:

npm run deploy

第九步:验证

重新访问 Worker URL,首次会看到登录表单,输入邮箱接收验证码,登录后就能看到 OpenClaw 的聊天界面。右上角显示 health OK 表示一切正常,试着发条消息验证端到端是否通畅。

第十步:集成聊天平台(可选)

OpenClaw 支持接入 Telegram、Discord、Slack,配置对应 Token 后重新部署即可:

# Telegram
npx wrangler secret put TELEGRAM_BOT_TOKEN

# Discord
npx wrangler secret put DISCORD_BOT_TOKEN

# Slack
npx wrangler secret put SLACK_BOT_TOKEN
npx wrangler secret put SLACK_APP_TOKEN

npm run deploy

安全提醒

Moltworker 目前仍是概念验证项目,不是正式产品,使用时需要了解几个风险点:

  • 所有密钥和隐私数据务必妥善保管
  • 所有数据经过 Cloudflare,这不是零知识架构
  • 对话内容会发送到 AI 提供商(Anthropic / OpenRouter 等)

整个部署流程大约半小时可以完成。对独立开发者来说,5 美元/月换一个 24/7 在线的 AI Agent,性价比相当高。如果你之前被 OpenClaw 的本地部署门槛劝退过,Moltworker 值得一试。