杆子博客

杆子博客

博采众长 一诺千金!
当前位置: 首页 > 网络 > 正文

Cloudflare官方出手!OpenClaw 云端部署保姆级教程

cover_image

前几天看到,Cloudflare 也加入了 OpenClaw 的热度之中。

他们技术团队开源了一个叫 Moltworker 的项目,让我们能快速地把 OpenClaw 部署到云端。

📌 项目地址:https://github.com/cloudflare/moltworker

这可不是简单套壳,它内置了浏览器自动化(cloudflare-browser),可以执行网页截图,还能抓取数据,更支持 R2 存储,实现数据持久化。因此,哪怕容器重启,你的对话历史和设备配对信息也不会丢。

它甚至提供了完整的管理界面,可以查看 R2 备份状态,审批设备配对请求,还能重启网关进程,并集成 Cloudflare Access 做身份认证保护,安全感拉满。

Image

最重要的是,它可以直接访问外网,且 24 小时开机。

我顺便把 OpenClaw 的 Channel 接到了 Discord,现在体验下来,Discord 的体验真的比其他几个好太多,非常丝滑。

一、为什么选择

Cloudflare {#cloudflare}

一句话总结:这是一个把 OpenClaw AI 助手部署到 Cloudflare Workers 的开箱即用方案,不用买服务器。

Image

三个关键技术点

一)Sandbox 容器替代传统服务器

传统方案要买 VPS,装 Docker,还得维护系统,心累。而 Moltworker 直接用 Cloudflare Workers,类似轻量容器,好处是自动扩缩容,冷启动后常驻,成本极低,Workers Paid 订阅仅需 $5/月起步。

二)三重认证

流程是这样的:用户请求 → CF Access 登录 → 验证 Gateway Token → 设备配对批准 → 聊天。

这不是简单的一个密码,而是三层把关,防止陌生人白嫖你的 AI。

三)R2 备份还原方案

容器重启通常会丢失数据,但 Moltworker 会每 5 分钟自动备份到 R2(对象存储),并在启动时从 R2 恢复。简单但有效,比改代码适配 R2 数据库更直接。

二、如何安装

一)准备工作

想要丝滑部署,这几样东西缺一不可,请大家逐一核对:

  • 硬性门槛:需要开通 Cloudflare 的 Workers Paid 订阅($5/月)。没办法,免费版不支持 Sandbox 容器技术,但这 5 刀绝对花得值。
  • 本地环境:电脑上需要安装 Node.js 18+ 和 Docker。因为 Moltworker 的部署脚本需要在本地打包容器,没有 Docker 是跑不通的。
  • 粮草弹药:注册好 Cloudflare 账号,并准备好你常用的 AI 模型 API Key(DeepSeek、OpenRouter 等均可)。

二)Wrangler 是什么

简单来说,Wrangler 是 Cloudflare Workers 的遥控器。

Moltworker 涉及大量敏感配置,比如 Anthropic API Key、Discord 或 Telegram Bot Token、R2 存储密钥、Gateway 认证 Token。这些东西绝对不能写在代码里,必须通过 Wrangler 以加密形式注入到 Worker 环境,这是 Cloudflare 推荐的安全实践。

安装非常简单:


npm i -D wrangler@latest

然后登录账号:


npx wrangler login

它会打开浏览器,点击允许授权即可。

Image

登录成功后,你就具备了在终端控制 Cloudflare 的能力,接下来的部署、配密钥、看日志,全部通过它完成。

三)克隆项目并安装依赖

Moltworker 官方提供了一个 GitHub 代码仓库,我们首先克隆它并安装依赖:


# 克隆项目

git clone [email protected]:cloudflare/moltworker.git

# 进入目录

cd moltworker

# 安装依赖

npm install

四)创建

AI Gateway {#aigateway}

按照官方 Quick Start,接下来要配置 AI 模型:


# 设置你的 API Key(直接访问 Anthropic)

npx wrangler secret put ANTHROPIC_API_KEY

# 或者使用 AI Gateway(见下方"可选:Cloudflare AI Gateway")

# npx wrangler secret put AI_GATEWAY_API_KEY

# npx wrangler secret put AI_GATEWAY_BASE_URL

🎯 我们可以看到它最快的方式就是使用 ANTHROPIC_API_KEY。

如果大家有 Anthropic API Key 的话,直接使用 Anthropic 是最简单的,可以跳过这个小章节。

我没有 Anthropic API Key,所以我选择使用 Cloudflare 的 AI Gateway。原因很简单,省心且可观测,能看到具体的 Token 消耗日志。

Image

1、第一步:创建新网关

在 Cloudflare 后台的计算和 AI 菜单里,找到 AI Gateway 入口。

Image

点击创建,随便起个名字。

Image

Cloudflare 提供了很多提供商,这里我选择大家比较熟悉的 DeepSeek。

Image

2、第二步:添加提供程序密钥

点击 Add,填入你的 DeepSeek API Key。注意,Gateway 只是中间商,最终调用的还是 DeepSeek,所以必须填你自己的 Key。

Image

3、第三步:获取

Gateway 专属 Token {#3gatewaytoken}

我们看右侧的 Create a token。

Image

输入名称,创建 API 令牌,生成 Token。

Image

注意,这个 Token 是 Cloudflare Gateway 的认证,不是 DeepSeek 的,复制生成的 Token,马上要用。

Image

4、第四步:部署时填入

Secret {#4secret}

回到终端,执行命令填入 Gateway 的 Token:


# Gateway 的 Token(用于访问 Cloudflare AI Gateway)

npx wrangler secret put AI_GATEWAY_API_KEY

用于 Worker 连接 Cloudflare AI Gateway,此时系统会自动在 Cloudflare 上创建一个名为 moltbot-sandbox 的 Worker。

Image

我们可以看到在平台上创建了一个新的 Worker。

Image

接下来设置 Gateway 的 Base URL,这取决于你选择的模型,具体格式规则如下:


# Gateway 的 Base URL

npx wrangler secret put AI_GATEWAY_BASE_URL

# 示例:https://gateway.ai.cloudflare.com/v1/你的账户ID/你的网关名/deepseek

Image

💡 Gateway 是”二传手”:它用你的 DeepSeek Key 去调模型,但给你加了缓存、限流、统计。

五)设置访问令牌

注意,这是最重要的安全凭证,泄露等于别人能控制你的 AI 助手。

1、生成并设置

Token {#1token}

别用简单密码,直接生成一个高强度随机字符串:


# 生成 32 字节(64 字符)随机十六进制字符串

export MOLTBOT_GATEWAY_TOKEN=$(openssl rand -hex 32)

# 显示给你看(复制保存好!)

echo "你的 Gateway Token: $MOLTBOT_GATEWAY_TOKEN"

# 设置到 Cloudflare

echo "$MOLTBOT_GATEWAY_TOKEN" | npx wrangler secret put MOLTBOT_GATEWAY_TOKEN

2、和

AI Gateway Token 区分开 {#2aigatewaytoken}

Token用途
MOLTBOT_GATEWAY_TOKEN登录你的 AI 助手控制界面
AI_GATEWAY_API_KEY连接 Cloudflare AI Gateway

3、使用方式

部署成功后,访问你的 URL 必须带上 token 参数:


https://xn--worker-on9i458x.workers.dev/?token=你生成的token

六)设置

Cloudflare Access 密钥 {#cloudflareaccess}

1、在后台开启

Access 开关 {#1access}

回到 Cloudflare Dashboard,进入 Workers & Pages。

点进刚才创建的 Worker(比如 moltbot-sandbox)。

点击顶部的 设置 (Settings)域和路由 (Domains & Routes)

找到 workers.dev 这一行,点击右侧的三个点图标 (…) → Enable Cloudflare Access(启用 Access)

Image

2、获取并设置

Access 密钥 {#2access}

保护开启了,现在要告诉 Worker 怎么去验证”通行证”。我们需要两个值:一个是 Team Domain,另一个是 Access 应用的 AUD 标签。


# Your Cloudflare Access team domain (e.g., "myteam.cloudflareaccess.com")

npx wrangler secret put CF_ACCESS_TEAM_DOMAIN

# The Application Audience (AUD) tag from your Access application that you copied in the step above

npx wrangler secret put CF_ACCESS_AUD

当你启用 Cloudflare Access 后,访问 /_admin/ 后台时,浏览器会跳转到 Access 登录页。你输入邮箱登录,登录成功后,Access 发给你一个通行证,也就是 JWT Token。

问题来了:Worker 怎么知道这个通行证是真的还是黑客伪造的?这就需要 TEAM_DOMAIN 和 AUD 来验证。

3、两个变量的作用

| 变量 | 是什么 | 作用 | |——|——–|——| | CF_ACCESS_TEAM_DOMAIN | 你的 Cloudflare 团队域名 | 告诉 Worker “去哪个认证中心校验” | | CF_ACCESS_AUD | Access 应用的 AUD 标签 | 告诉 Worker “这个通行证是不是发给我的” |

通俗类比:TEAM_DOMAIN 相当于公安局总部地址(去哪验证身份证),AUD 相当于你的身份证号(验证这张证是不是发给你的)。两个凑齐,Worker 才能确认登录成功的那个人确实是你。

4、去哪找这两个值

  • CF_ACCESS_TEAM_DOMAIN:Zero Trust Dashboard → Team domain

Image

  • CF_ACCESS_AUD:Zero Trust Dashboard → Access → Applications

Image

点进你的应用,复制那串 UUID。

Image

七)配置

R2 持久存储 {#r2-1}

默认情况下,Cloudflare Workers 是无状态的。这意味着容器重启后,你的对话历史和设备配对信息都会丢失。想要让你的 AI 助手拥有”长期记忆”,必须配置 R2 存储。

在部署过程中,系统通常会自动创建一个名为 moltbot-data 的存储桶(Bucket),我们需要给 Worker 授权去读写它。

1、创建

R2 API Token {#1r2apitoken}

回到 Cloudflare Dashboard,点击左侧菜单的 R2。在右侧找到并点击 Manage R2 API Tokens

Image

点击创建 User API 令牌。

Image

权限(关键):选择 Object Read & Write(读写权限)。

范围(关键):为了安全,建议指定 Bucket。选择 Specific bucket,然后选中 moltbot-data。

Image

然后我们拿到这两个信息,这两个值只显示一次,请务必复制保存好!

Image

2、配置存储密钥

回到终端,我们需要设置 3 个密钥:

设置 Access Key ID:


# 粘贴刚才获得的 Access Key ID

npx wrangler secret put R2_ACCESS_KEY_ID

设置 Secret Access Key:


# 粘贴刚才获得的 Secret Access Key

npx wrangler secret put R2_SECRET_ACCESS_KEY

设置 Cloudflare Account ID:

这个 ID 哪里找?回到 Cloudflare 首页,点击右侧的 Manage Account 下面的三个点 (…) → 复制账户ID

Image

然后执行命令:


# 粘贴你的 Account ID

npx wrangler secret put CF_ACCOUNT_ID

这样,你的 AI 助手就拥有了永久记忆,再也不怕重启”失忆”了!

配置完成,开始部署:


npm run deploy

部署成功后,你会看到终端输出了 OpenClaw 的访问地址。

Image

八)访问与登录

拼接你的访问地址和 Token,格式如下:


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

访问时会提醒你输入邮箱,这个 email 必须是你允许列表里的。

Image

输入验证码后,会跳转到登录页面。

注意,因为是首次访问,通常需要 1 到 2 分钟容器冷启动时间,请耐心等待。

Image

进入后就能看到熟悉的 OpenClaw 界面了,但别急,先根据提示进入 Moltbot Admin 界面。

Image

审批设备:在 Admin 界面批准设备通过。

Image

接下来就可以愉快地玩耍了。

Image

三、如何配置模型

因为接触不到命令行,我们没法通过 CLI 去修改配置,不过没关系,直接在平台网页里改也是一样的。

点击左侧的 Config,切换到 Raw 模式,就可以直接修改配置文件了。默认的配置通常是错的,我们需要手动修正成 DeepSeek 的配置。

Image

一)DeepSeek

记得替换成你的信息,baseUrl 填你的网关地址,apiKey 填 Cloudflare AI Gateway 的 Token。注意这里填的是 Gateway Token,不是 DeepSeek 的 Key。


{
  "models": {
    "providers": {
      "deepseek": {
        "baseUrl": "https://gateway.ai.cloudflare.com/v1/你的账户ID/openclaw-gateway/deepseek",
        "apiKey": "XlD9YH2moXXXUFaogRhDpB", # AI Gateway 的 Token
        "api": "openai-completions",
        "models": [
          {
            "id": "deepseek-chat",
            "name": "DeepSeek Chat",
            "reasoning": false,
            "input": ["text"],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      }
    }
  }
}

另外别忘了设置 Primary Model,也就是主模型:


{
  "agents": {
    "defaults": {
      "model": {
        "primary": "deepseek/deepseek-chat"
      }
    }
  }
}

改完后点击 Apply,立马生效。

Image

因为我们走的是 AI Gateway,回到 Cloudflare 后台能看到每一次对话的 Token 消耗记录,强迫症表示极其舒适。

Image

二)OpenRouter

如果你连 DeepSeek 的钱都不想花,或者想同时白嫖 Gemini、Kimi 等多个免费模型,这里有个白嫖方案——OpenRouter。

OpenRouter 最近推出了一个聚合网关,可以自动路由到各种免费模型,也就是 Free Tier。

Image

1、第 1 步:配置网关

回到 Cloudflare AI Gateway 界面,找到 Provider API Keys。找到 OpenRouter,点击 Add,填入你的 OpenRouter API Key (sk-or-xxxx)。

这样 Cloudflare 才有权限代表你去调用 OpenRouter。

Image

2、第 2 步:修改配置

回到 OpenClaw 的 ConfigRaw 界面,在 providers 字段里追加 OpenRouter 的配置。

注意:这里的 apiKey 依然填你的 Cloudflare Gateway Token(就是配置 DeepSeek 时用的那个),而不是 OpenRouter 的 Key。


{
  "models": {
    "providers": {
      "openrouter": {
        "baseUrl": "https://gateway.ai.cloudflare.com/v1/你的账户ID/openclaw-gateway/openrouter",
        "apiKey": "XlD9YH2moxxxx",
        "api": "openai-completions",
        "models": [
          {
            "id": "openrouter/free",
            "name": "Openrouter free",
            "reasoning": false,
            "input": ["text", "image"],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      }
    }
  }
}

这样你的 AI 助手就会自动在各种免费模型之间反复横跳,彻底 0 成本运行。

Image

四、如何配置

Chat Channel {#chatchannel}

官方文档说要用 wrangler cli 来配置 Channel。

Image

但我发现了一个更懒的方法,直接在 Chat 对话框里让机器人自己去配。

比如配置 Discord,你只需要拿到 Token,然后直接对它说:”请帮我配置 Discord 渠道,Token 是多少”。

Image

等一会它就自动配置好了。

Image

甚至连 Clawdbot Pairing 操作也可以直接在这里完成,不需要去后台点。

Image

最后直接在 Discord 里享受你的 AI 助手吧。

Image Image

感谢看到这里 👏

觉得有用的话,点赞 👍 / 在看 👀 / 转发 🫱 / 评论 📣

星标 ⭐ 一下,下次更新不迷路

打赏支持
支付宝打赏 支付宝打赏
微信打赏 微信打赏

「请 GANZI 喝杯咖啡作为鼓励」~

您可能还会对这些文章感兴趣!

导航
侧边栏