
在 Cloudflare Sandbox 容器中运行 OpenClaw(曾用名 Moltbot、Clawdbot)个人 AI 助手,无需本地专用硬件,即可获得一款全托管、始终在线的自托管 AI 工具。
前置说明
- 运行要求:需订阅 Cloudflare 每月 5 美元的 Workers 付费计划(Sandbox 容器功能专属)。
- 实验性声明:本项目为概念验证项目,并非 Cloudflare 官方支持产品,可能随时出现故障且不另行通知,使用风险需自行承担。
- 免费福利:项目用到的 Cloudflare Access、Browser Rendering、AI Gateway、R2 Storage 均提供免费额度,日常使用无需额外付费。

核心前提与准备
1. 必需条件(缺一不可)
- Cloudflare Workers 付费计划(5 美元/月):用于启用 Sandbox 容器,是部署基础。
- Anthropic API 密钥:用于调用 Claude 模型;若不想管理第三方密钥,可选择 Cloudflare AI Gateway 统一计费模式。
2. 什么是 OpenClaw?
OpenClaw 是一款采用网关架构的开源个人 AI 助手,支持多聊天平台对接,核心功能包括:
- 基于 Web 的可视化控制界面,操作便捷。
- 支持 Telegram、Discord、Slack 多通道消息交互。
- 安全的设备配对机制,新设备连接需管理员显式批准。
- 跨会话持久化对话,保留聊天历史与上下文记忆。
- 可扩展的代理运行时,支持自定义工作空间与技能。
本项目将 OpenClaw 打包适配 Cloudflare Sandbox 容器,提供全托管部署方案,可选 R2 存储实现数据跨容器重启保留,无需用户自行维护服务器。
快速开始:一键部署核心步骤
部署前请确保已安装 Node.js 环境,且已登录 Cloudflare Wrangler 工具(npx wrangler login 完成授权)。
# 1. 克隆项目(若未克隆)并安装依赖
npm install
# 2. 配置核心密钥(二选一即可)
# 方案A:直接使用 Anthropic API(无需 AI Gateway)
npx wrangler secret put ANTHROPIC_API_KEY
# 执行后按照提示粘贴你的 Anthropic API 密钥
# 方案B:使用 Cloudflare AI Gateway(推荐,便于成本管控)
# npx wrangler secret put AI_GATEWAY_API_KEY
# npx wrangler secret put AI_GATEWAY_BASE_URL
# 3. 生成并配置网关令牌(远程访问控制界面必需,务必保存)
export MOLTBOT_GATEWAY_TOKEN=$(openssl rand -hex 32)
echo "你的网关令牌:$MOLTBOT_GATEWAY_TOKEN" # 复制该令牌备用
echo "$MOLTBOT_GATEWAY_TOKEN" | npx wrangler secret put MOLTBOT_GATEWAY_TOKEN
# 4. 部署项目到 Cloudflare Workers
npm run deploy
部署后首次访问
- 部署成功后,会得到一个 Worker 访问地址(格式:
https://your-worker.workers.dev)。 - 拼接网关令牌访问控制界面:
https://your-worker.workers.dev/?token=YOUR_GATEWAY_TOKEN(替换YOUR_GATEWAY_TOKEN为步骤 3 生成的令牌)。 - 注意:首次请求需 1-2 分钟完成容器冷启动,耐心等待即可;且在完成「管理界面设置」和「设备配对」前,控制界面无法正常使用。
关键配置:启用管理界面(必需)
管理界面(路径 /_admin/)用于设备配对、数据备份等核心操作,需通过 Cloudflare Access 保护,配置分为两步。
步骤 1:启用 Cloudflare Access 保护 Worker
简易方案(推荐,内置集成)
- 进入 Cloudflare 控制台 → 「Workers & Pages」仪表板。
- 选择你部署的 Moltworker 项目(如
moltbot-sandbox)。 - 进入「Settings」→「Domains & Routes」,找到
workers.dev域名行,点击右侧三点菜单 →「Enable Cloudflare Access」。 - 点击「Manage Cloudflare Access」配置访问权限:添加你的邮箱到允许列表,或配置 Google、GitHub 等身份提供商。
- 复制「Application Audience (AUD)」标签(后续配置需用到),保存备用。
备选方案(手动创建 Access 应用,更多控制)
- 进入 Cloudflare Zero Trust 控制台 →「Access」→「Applications」→ 新建「Self-hosted」应用。
- 配置应用域名为你的 Worker URL(如
moltbot-sandbox.your-subdomain.workers.dev)。 - 添加保护路径:
/_admin/*、/api/*、/debug/*(核心管理与接口路径)。 - 配置身份提供商,完成后复制「Application Audience (AUD)」标签备用。
步骤 2:设置 Access 密钥并重新部署
# 1. 配置 Cloudflare Access 团队域名(格式:myteam.cloudflareaccess.com)
npx wrangler secret put CF_ACCESS_TEAM_DOMAIN
# 2. 配置步骤 1 复制的 Application Audience (AUD)
npx wrangler secret put CF_ACCESS_AUD
# 3. 重新部署项目,使配置生效
npm run deploy
验证效果
访问 https://your-worker.workers.dev/_admin/,会跳转至 Cloudflare Access 登录页面,登录成功后即可进入管理界面。
可选配置:提升使用体验
1. 持久化存储(R2):防止数据丢失
默认情况下,容器重启后 OpenClaw 的配置、配对设备、对话历史会全部丢失,配置 R2 存储可实现数据持久化,推荐启用。
步骤 1:创建 R2 API 令牌
- 进入 Cloudflare 控制台 →「R2」→「Overview」→「Manage R2 API Tokens」。
- 新建令牌,权限选择「Object Read & Write」,指定存储桶为
moltbot-data(首次部署会自动创建)。 - 复制「Access Key ID」和「Secret Access Key」,保存备用。
- 复制你的 Cloudflare 账户 ID(控制台首页,账户名称右侧三点菜单 →「复制账户 ID」)。
步骤 2:配置 R2 密钥并重新部署
# 1. 配置 R2 访问密钥 ID
npx wrangler secret put R2_ACCESS_KEY_ID
# 2. 配置 R2 秘密访问密钥
npx wrangler secret put R2_SECRET_ACCESS_KEY
# 3. 配置 Cloudflare 账户 ID
npx wrangler secret put CF_ACCOUNT_ID
# 4. 重新部署
npm run deploy
工作原理
- 容器启动时:自动从 R2 恢复备份数据到 OpenClaw 配置目录。
- 运行期间:每 5 分钟自动同步数据到 R2,也可在管理界面手动触发「Backup Now」。
- 容器重启后:自动加载 R2 中的最新备份,保留所有历史数据。
2. 容器生命周期:按需配置休眠(降低成本)
默认情况下,Sandbox 容器无限期保持活动(SANDBOX_SLEEP_AFTER=never),避免冷启动等待;若使用不频繁,可配置闲置休眠:
# 配置闲置超时时间(10m=10分钟,1h=1小时,支持多种格式)
npx wrangler secret put SANDBOX_SLEEP_AFTER
# 输入示例:10m
# 重新部署生效
npm run deploy
3. 多聊天通道对接(Telegram/Discord/Slack)
Telegram 对接
npx wrangler secret put TELEGRAM_BOT_TOKEN # 粘贴你的 Telegram 机器人令牌
npm run deploy
Discord 对接
npx wrangler secret put DISCORD_BOT_TOKEN # 粘贴你的 Discord 机器人令牌
npm run deploy
Slack 对接
npx wrangler secret put SLACK_BOT_TOKEN # 粘贴 Slack 机器人令牌
npx wrangler secret put SLACK_APP_TOKEN # 粘贴 Slack 应用令牌
npm run deploy
4. 浏览器自动化(CDP):实现网页截图/视频生成
项目内置 Chrome DevTools Protocol(CDP)填充程序,支持 OpenClaw 控制无头浏览器完成网页抓取、截图等任务,配置步骤如下:
# 1. 配置 CDP 身份验证密钥(自定义安全随机字符串)
npx wrangler secret put CDP_SECRET
# 2. 配置 Worker 公共 URL(格式:https://your-worker.workers.dev)
npx wrangler secret put WORKER_URL
# 3. 重新部署
npm run deploy
核心可用端点(需携带 CDP_SECRET 请求头验证)
| 端点 | 功能描述 |
|---|---|
GET /cdp/json/version | 获取浏览器版本信息 |
GET /cdp/json/list | 列出可用浏览器目标 |
GET /cdp/json/new | 创建新的浏览器目标 |
WS /cdp/devtools/browser/{id} | 建立 CDP 命令 WebSocket 连接 |
5. Cloudflare AI Gateway:简化密钥管理与成本管控
通过 AI Gateway 路由 API 请求,可实现缓存、速率限制、成本跟踪,且无需手动维护第三方 API 密钥,配置步骤如下:
- 进入 Cloudflare 控制台 →「AI Gateway」→ 新建网关,添加目标提供商(如 Anthropic)。
- 复制网关端点 URL(格式:
https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/anthropic)。 - 配置密钥并重新部署:
# 配置 AI Gateway 提供商 API 密钥 npx wrangler secret put AI_GATEWAY_API_KEY # 配置 AI Gateway 端点 URL npx wrangler secret put AI_GATEWAY_BASE_URL # 重新部署 npm run deploy
说明:若同时配置了
AI_GATEWAY_*和ANTHROPIC_*变量,AI_GATEWAY_*优先级更高。
本地开发配置
本地开发时,创建 .dev.vars 文件(与项目根目录同级),添加以下配置可跳过生产环境的身份验证限制:
DEV_MODE=true # 跳过 Cloudflare Access 验证与设备配对(仅本地开发)
DEBUG_ROUTES=true # 启用 /debug/* 调试路由(可选)
启动本地开发环境:
npm run dev
注意:
wrangler dev对 Sandbox 代理 WebSocket 存在已知限制,HTTP 请求可正常运行,WebSocket 连接可能失败,完整功能需部署到 Cloudflare 验证。
核心功能使用
1. 设备配对(安全验证)
默认采用「设备配对」机制,新设备(浏览器、聊天机器人)连接流程:
- 设备发起连接请求,进入待定状态。
- 管理员登录
/_admin/管理界面,查看待配对设备列表。 - 单独或批量批准设备,批准后设备即可正常与 OpenClaw 交互。
2. 管理界面(/_admin/)
核心功能:
- 查看 R2 存储状态与上次备份时间,手动触发数据备份。
- 重启 OpenClaw 网关进程,应用新配置。
- 管理设备配对(批准待处理设备、查看已配对设备)。
3. 调试端点(/debug/*)
启用 DEBUG_ROUTES=true 后,可访问以下调试接口(需 Cloudflare Access 验证):
GET /debug/processes:列出容器内所有运行进程。GET /debug/logs?id=<process_id>:获取指定进程的运行日志。GET /debug/version:获取容器与 OpenClaw 版本信息。
4. 内置技能(cloudflare-browser)
容器预安装 cloudflare-browser 技能,支持浏览器自动化操作,核心用法:
# 网页截图(生成 output.png)
node /root/clawd/skills/cloudflare-browser/scripts/screenshot.js https://example.com output.png
# 多网页生成视频(生成 output.mp4,--scroll 开启页面滚动)
node /root/clawd/skills/cloudflare-browser/scripts/video.js "https://site1.com,https://site2.com" output.mp4 --scroll
所有密钥参考(快速查询)
| 密钥名称 | 是否必需 | 核心描述 |
|---|---|---|
AI_GATEWAY_API_KEY | 否* | AI Gateway 提供商密钥(搭配 AI_GATEWAY_BASE_URL 使用) |
AI_GATEWAY_BASE_URL | 否* | AI Gateway 端点 URL(使用 AI Gateway 时必需) |
ANTHROPIC_API_KEY | 否* | Anthropic API 密钥(未配置 AI Gateway 时必需) |
CF_ACCESS_TEAM_DOMAIN | 是* | Cloudflare Access 团队域名(管理界面必需) |
CF_ACCESS_AUD | 是* | Cloudflare Access 应用 AUD 标签(管理界面必需) |
MOLTBOT_GATEWAY_TOKEN | 是 | 网关访问令牌(控制界面必需,需保密) |
R2_ACCESS_KEY_ID | 否 | R2 访问密钥(持久化存储必需) |
R2_SECRET_ACCESS_KEY | 否 | R2 秘密密钥(持久化存储必需) |
CF_ACCOUNT_ID | 否 | Cloudflare 账户 ID(持久化存储必需) |
TELEGRAM_BOT_TOKEN | 否 | Telegram 机器人令牌(对接 Telegram 必需) |
DISCORD_BOT_TOKEN | 否 | Discord 机器人令牌(对接 Discord 必需) |
SLACK_BOT_TOKEN | 否 | Slack 机器人令牌(对接 Slack 必需) |
SLACK_APP_TOKEN | 否 | Slack 应用令牌(对接 Slack 必需) |
CDP_SECRET | 否 | CDP 身份验证密钥(浏览器自动化必需) |
WORKER_URL | 否 | Worker 公共 URL(浏览器自动化必需) |
注:* 标记表示「二选一」或「特定功能必需」,具体参考前文配置说明。
安全考虑
Moltworker 采用三层身份验证机制,保障使用安全:
- Cloudflare Access:保护核心管理与接口路径,仅授权用户可访问。
- 网关令牌:控制界面访问必需,需妥善保管,避免泄露。
- 设备配对:所有交互设备需显式批准,防止未授权访问。
常见故障排除
npm run dev报Unauthorized错误:需在 Cloudflare 控制台启用「Containers」功能。- 网关启动失败:通过
npx wrangler secret list检查密钥配置,npx wrangler tail查看运行日志。 - 配置更改不生效:编辑项目
Dockerfile中的# Build cache bust:注释(修改任意字符),重新部署即可清除缓存。 - 首次请求缓慢:正常现象,容器冷启动需 1-2 分钟,后续请求会更快。
- R2 未挂载:检查
R2_ACCESS_KEY_ID、R2_SECRET_ACCESS_KEY、CF_ACCOUNT_ID三个密钥是否配置完整(仅生产环境生效)。 - 管理界面访问被拒:验证
CF_ACCESS_TEAM_DOMAIN和CF_ACCESS_AUD配置,以及 Cloudflare Access 应用的路径保护规则。 - 设备未出现在管理界面:设备列表加载需 10-15 秒(WebSocket 连接开销),耐心等待后刷新即可。
数据统计
相关导航


AgentKit

Open-AutoGLM 混合方案

TradingAgents 中文增强版

GeekAI

Vibe Kanban

扣子空间






