在 Cloudflare Workers 上运行 OpenClaw AI 助手:分步教程

在 Cloudflare Workers 上部署 OpenClaw(前身为 Moltbot)

OpenClaw 是一个轻量级、可扩展的个人 AI 助手,可为 Telegram、Discord、Slack 等聊天频道以及基于网页的用户界面提供动力。将其运行在 Cloudflare Sandbox 容器中,可以实现一种廉价、始终在线、全球分布的部署,且无需管理 VM 或 Kubernetes 集群。

先决条件 * Cloudflare Workers 的「付费」账号(仅在 Workers 付费计划中支持 Sandbox 功能)。 * 支持的 LLM 提供商的 API 密钥——我们推荐使用 Anthropic 的 Claude 或 Cloudflare 的 AI Gateway。 * 可选:用于管理员 UI 保护的 Cloudflare Access 凭证,以及用于持久化的 R2 桶。

TL;DR – 运行 npm install,设置密钥,部署(npm run deploy),然后打开 https://your‑worker.workers.dev/?token=YOUR_TOKEN

1. 克隆仓库

git clone https://github.com/cloudflare/moltworker
cd moltworker

该仓库自带 Dockerfilewrangler.js,以及为控制平面 UI 打包的 Vite 构建。

2. 安装依赖

npm install

3. 设置 LLM 密钥

直接 Anthropic 访问

npx wrangler secret put ANTHROPIC_API_KEY

或 Cloudflare AI Gateway(推荐用于成本追踪)

npx wrangler secret put AI_GATEWAY_API_KEY
npx wrangler secret put AI_GATEWAY_BASE_URL

如果同时提供 gateway 和直接 Anthropic 密钥,gateway 将优先使用。

4. 生成网关令牌

控制台 UI 通过一个自定义令牌进行保护,该令牌与 Cloudflare Access 独立。生成 32 字节十六进制字符串并将其设为密钥:

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

请妥善保管此令牌——您将在 URL 中使用它来访问 UI。

5. 可选:配置 Cloudflare Access

管理员 UI(/_admin/)和 WebSocket 握手可以通过 Cloudflare Access 进行额外的安全保护。

  1. 在 Workers 仪表盘中,点击您的 worker → SettingsDomains & Routesworkers.devEnable Cloudflare Access
  2. 在 Access 设置中,将您的邮箱添加至 allow‑list,或配置 OAuth 提供商。
  3. 复制 Access 应用中的 Application Audience (AUD) 标签,并将其设为密钥:
    npx wrangler secret put CF_ACCESS_AUD
    
  4. 设置您的团队域(myteam.cloudflareaccess.com):
    npx wrangler secret put CF_ACCESS_TEAM_DOMAIN
    

设置完这些密钥后,重新部署(npm run deploy)。

6. 可选:使用 R2 的持久化存储

如果不使用 R2,所有设备配对和聊天记录会在 sandbox 重启时消失。要持久化数据:

  1. 创建一个名为 moltbot-data 的 R2 桶。
  2. 生成一个具有 Object Read & Write 权限的 API 令牌。
  3. 设置密钥:
    npx wrangler secret put R2_ACCESS_KEY_ID
    npx wrangler secret put R2_SECRET_ACCESS_KEY
    npx wrangler secret put CF_ACCOUNT_ID
    

worker 将每 5 分钟自动同步配置到 R2。

7. 部署 worker

npm run deploy

部署过程中,Wrangler 将上传 Vite 打包、在 Cloudflare 上设置环境变量,并启动 sandbox。首个请求可能需要 1‑2 分钟,因为容器正在启动。

8. 访问控制台 UI

打开浏览器,输入:

https://your‑worker.workers.dev/?token=YOUR_GATEWAY_TOKEN

your‑worker 替换为部署后返回的路由,将 YOUR_GATEWAY_TOKEN 替换为第 4 步中存储的令牌。

设备配对

当新的客户端(浏览器或聊天平台)连接时,它会等待批准。使用受 Cloudflare Access 保护的管理员 UI(/_admin/)来批准设备。

9. 可选聊天频道

您可以通过添加相应的令牌来启用 Telegram、Discord 或 Slack 机器人:

# 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

然后重新部署。

10. 可选浏览器自动化(CDP)

OpenClaw 可以通过 Chrome DevTools Protocol (CDP shim) 控制无头 Chrome 实例。按以下方式配置:

npx wrangler secret put CDP_SECRET
npx wrangler secret put WORKER_URL   # 例如 https://your‑worker.workers.dev

CDP 端点(/cdp/json/...)需要 CDP_SECRET 请求头。

11. 调试与日志

.dev.vars 中设置 DEBUG_ROUTES=true 时,诸如 /debug/processes/debug/logs 等路由会变为可用。它们在本地开发或实时监控时非常有用。

12. 高级配置

  • 容器休眠 – 通过设置 SANDBOX_SLEEP_AFTER 为一个时长(例如 10m)来降低成本。
  • 备份 – 如果已配置桶,您可以在 /admin/ 中触发按需 R2 备份。
  • 自定义 AI 提供商 – worker 可接受直接的 OPENAI_API_KEY 或任何 SDK 支持的键。

13. 结论

在 Cloudflare Workers 上运行 OpenClaw 可为您提供:

  • 零运维 – Cloudflare 负责扩容、网络与安全。
  • 全球低延迟 – worker 运行在 Cloudflare 全球边缘节点。
  • 可扩展性 – 通过添加技能、新的聊天平台或浏览器自动化,轻松扩展功能。

源代码开源且持续演进。查看 GitHub issue 与 PR 以获取最新更新。祝编码愉快!


下一步

  • 探索内置的 cloudflare-browser 技能,进行自动网页抓取。
  • 通过在 skills/ 下创建新文件夹并将其添加到 moltbot.json 来构建自己的技能。
  • 与 Cloudflare AI Gateway 集成,实现使用分析与成本控制。

欢迎 fork 项目,进行修改并分享您自己的 OpenClaw 实现。祝你好运!

原创文章: 查看原文

分享本文