00:00:00对 Cloudflare 的粉丝来说有个好消息,现在你可以在他们的
00:00:05基础设施上运行非常热门的 OpenClaw 工具了,它结合使用了 Workers、沙盒、浏览器渲染甚至 R2。
00:00:10他们其实有一篇非常详尽的文章介绍了这一切是如何构建的,而且在大多数情况下,
00:00:15它的运行效果非常好。但在无服务器基础设施上运行 OpenClaw 的优势,
00:00:21是否真的超过了在自己的 VPS 上运行所带来的灵活性呢?
00:00:24点击订阅,让我们开始深入探讨。
00:00:28这就是在 Cloudflare 上运行的 OpenClaw,也叫 ClawedBot。
00:00:31如果我给你们看这个 URL,你可以看到它正运行在沙盒中,
00:00:34而我是通过我的 Worker 来访问它的。
00:00:37我可以给它一个提示词,比如 “告诉我你所运行系统的所有信息”。
00:00:42你可以看到它给出了关于基础设施的详细信息。
00:00:45现在我等它运行完,然后向上滚动一点点。
00:00:48我们可以看到它运行在 Cloudflare Cloud Chamber 上。
00:00:52它位于圣何塞和佛罗里达,我们可以获取到所有相关的具体信息。
00:00:56但我们还可以访问渠道,在这里我们可以添加 WhatsApp、Telegram 或 Discord。
00:01:01我们可以看到这里有技能插件。
00:01:02我还没安装,但如果我想的话可以随时安装。
00:01:05我们还拥有配置、调试和所有日志的完整访问权限。
00:01:10无需管理或更新服务器。
00:01:12你只需为你使用的算力付费,并受益于 Cloudflare 的全球边缘网络。
00:01:18非常酷。
00:01:18稍后我们会在视频中讲解如何设置。
00:01:22但在那之前,先聊聊这些不同的技术
00:01:26是如何协同工作使之成型的。
00:01:28当你第一次尝试访问你的 OpenClaw 实例时,
00:01:31你会遇到 Cloudflare Access 的身份验证。
00:01:34你需要使用用户名和密码或 OAuth 进行登录。
00:01:38之后,Cloudflare 将使用 JWT 令牌对你访问 Worker 进行身份验证。
00:01:44目前这个 Worker 还不是 OpenClaw 网关。
00:01:47它包含一个 HONO 路由,其中有我稍后展示的管理界面路由。
00:01:52它还包含 Chrome 开发者工具协议以及 JWT 验证部分。
00:01:59这里其实还有更多东西,但我决定保持简短,
00:02:01只展示我认为值得讨论的三个主要部分。
00:02:05现在,这个 Chrome 开发者工具协议提供了对浏览器渲染器的访问。
00:02:10这是 Cloudflare 提供的一个非常酷的功能,一个无头 Chromium 实例,
00:02:15可用于 OpenClaw 进行网页浏览、调研或其他任务。
00:02:19接下来,我们有一个使用 Docker 的 Cloudflare 沙盒。
00:02:23要在本地构建这个,你需要安装 Docker 或 Colima。
00:02:27这本质上就是 OpenClaw 网关。
00:02:29如果你看过我之前关于如何保护 MontSpot 或 OpenClaw 安全的视频,
00:02:34你就会知道网关包含了系统的 “大脑”。
00:02:38它包含仪表盘、供节点和客户端使用的 WebSocket 访问。
00:02:42它还包含代理运行时、会话管理器和渠道管理器。
00:02:46WebSocket 访问使用 18789 端口,渠道使用 HTTP 协议。
00:02:53所以 Cloudflare (或 MaltWork) 对应的部分就在沙盒中。
00:02:58它可以隔离运行代码,使其格外安全。
00:03:01注意,这不一定直接使用 AI 供应商的访问权限,即直接把 API 密钥填进系统。
00:03:08我是说,你可以使用 OpenAI 或 Anthropic,也就是你自己的 API 密钥,
00:03:13但你也可以使用 Cloudflare 的 AI 网关,它能让你访问所有这些供应商。
00:03:20但由于这是在 Cloudflare 系统中运行的,
00:03:22你当然无法拥有自己的本地大模型 (LLM)。
00:03:25所以这是需要考虑的一点。
00:03:26但同样,你可以使用 Telegram、WhatsApp、Discord 等渠道,
00:03:30并连接到你在 Cloudflare 中的沙盒进行通信。
00:03:33这里应该有一个指向你的 Worker 的箭头。
00:03:36说到会话管理,也就是管理存储和配置,
00:03:40那是通过 R2 存储桶完成的。
00:03:43需要注意的重要一点是,如果你重启沙盒或重新构建容器,
00:03:48任何保存在沙盒内部的数据都会被抹除。
00:03:51因此,你需要将内容保存在 R2 存储桶中以实现持久化。
00:03:56这就是运作方式的简要概述。
00:03:59当然,我可以讲得更细,但那是 Cloudflare 官方文章的任务。
00:04:04现在让我们看看如何进行设置。
00:04:06好,第一件事是确保你拥有 Workers 付费计划,
00:04:10每月 5 美元起加额度超额费用。
00:04:13是的,买个 Hetzner 的 VPS 可能比这更便宜,
00:04:17但在这个价格下,你确实能获得很多使用额度。
00:04:21你还需要在本地安装 Docker 之类的软件。
00:04:24我个人使用 Colima,但 Docker Desktop 也没问题。
00:04:27最后,你需要一个 Anthropic 或 OpenAI 的 API 密钥。
00:04:31准备好这三样东西后,你需要访问
00:04:34这个 GitHub 仓库并将其克隆到本地系统。
00:04:38当然,你可以点击这个按钮直接部署到 Cloudflare,
00:04:42省去克隆的步骤。
00:04:44但我试过了,对我来说效果不太好。
00:04:47所以我还是推荐克隆仓库。
00:04:48克隆之后,下面有一些非常有用的步骤,
00:04:52准确告诉了你该怎么做。
00:04:54我建议按照这些步骤操作,并记得记下你的
00:04:58Malt Bot 网关令牌,因为它非常重要。把它存进笔记本,
00:05:02存到文本文件里,千万别弄丢了。
00:05:05部署好 Malt Worker 后,还有几件事要做,
00:05:09虽然 README 里有写,但因为比较分散,所以有点难找。
00:05:13所以我来带你过一遍。
00:05:16现在,在你的 Worker 的绑定 (binding) 部分中,你应该能看到
00:05:20双对象,即沙盒、R2 存储桶和浏览器渲染器。
00:05:25如果你没看到,可能需要重新构建 Docker 容器并再次部署。
00:05:29确认之后,点击域和路由 (domains and rules),
00:05:32确保启用了 Cloudflare Access。
00:05:35我已经启用了,但如果你是第一次操作,应该会看到一个弹窗。
00:05:40在运行 Malt Worker 之前,我们需要填充两个机密变量 (secrets)。
00:05:44第一个是 cfaccess_aud,第二个是 cfaccess_team_domain。
00:05:50你可以通过管理你的 Cloudflare Access 获取第一个值,
00:05:52就在下面,你需要通过 Wrangler 将其添加为机密变量。
00:05:56第二个值可以在设置中找到,位置就在这里。
00:06:01这就是你的 Cloudflare Access 域名。
00:06:03完成之后,文档会要求你再次运行部署。
00:06:07现在,如果你已经有一个沙盒环境了,
00:06:09那么再次构建可能会遇到这个报错。
00:06:12所以我建议运行这条命令来列出你的容器。
00:06:16一旦你拿到了已存在容器的 ID,
00:06:19只需运行 delete 命令并加上该 ID 即可。
00:06:23因为我不想删除那个容器,所以我就保持原样。
00:06:26但在重新构建或重新部署添加新容器之前,你应该先删除旧的。
00:06:31完成这些后,你应该就可以访问 Malt Spot 管理页面了。
00:06:35它看起来应该是这个样子的。
00:06:37别担心这个警告,除非你想持久化存储信息。
00:06:41在这种情况下,你需要添加这些缺失的机密变量。
00:06:44但如果这是你第一次运行,
00:06:46你应该会在这里看到一个待配对的设备。
00:06:50你需要点击这里的按钮进行配对。
00:06:54因为我已经配对过了,所以它显示在这里。
00:06:56这就是我配对的设备。
00:06:58当我们把浏览器连接到我们的 Cloudbot 网关时,就会发生这种情况。
00:07:02现在一切就绪,我们需要前往 Worker URL 并在查询参数中添加令牌。
00:07:08就是我之前让你保存到 URL 的那个令牌。
00:07:12这只需在你第一次从浏览器访问 Cloudbots 时操作一次。
00:07:17完成后,希望你的健康检查状态正常,
00:07:20并能与你的代理进行通信。
00:07:23当然,这给了你如同在 VPS 上运行 OpenClaw 般的完整灵活性。
00:07:29如果我向下滚动,Cloudflare 团队甚至成功地把它连接到了 Slack。
00:07:35你可以看到这里有一些截图,展示了有人在 Slack 中与 Maltbot 对话
00:07:40并获得回应。
00:07:41如果你不想亲自动手折腾那些繁琐的事情,比如设置
00:07:46全新的 Linux 服务器或 Mac Mini,那么使用 Cloudflare 的 Malt Worker 是个不错的选择,
00:07:52因为官方团队已经把安全放在首位,并基本上帮你完成了所有脏活累活。
00:07:57但如果你不介意做点研究、SSH 进入服务器并运行几条终端
00:08:03命令,那么我认为长远来看,选择 VPS 或 Mac Mini
00:08:10只要你懂行,会更安全也更灵活。
00:08:13而且,你可以获得一个真正私有的 OpenClaw 版本。
00:08:18如果你运行 Ollama 或任何本地模型,你可以将 OpenClaw 连接到该模型,
00:08:22甚至无需连接互联网即可使用。
00:08:26你可能还注意到了,我运行的 Malt Worker 显示的是 Clawedbot 的 Logo 而不是 OpenClaw,
00:08:32这意味着他们在 GitHub 上的版本可能稍微有点旧。
00:08:36但我相信团队很快就能修复。
00:08:38在我看来,最好还是走 VPS 的路线,学习如何正确设置,
00:08:44这样你就能拥有随心所欲的完整灵活性和隐私权。
00:08:49如果你想知道如何在 VPS 上安全地设置 Maltbot、OpenClaw 或 Clawedbot,
00:08:55可以去看看我之前做的视频,里面详细讲解了如何
00:08:59使用 Tailscale 进行设置。撇开安全不谈,如果你正在使用这些机器人并用它构建软件,
00:09:05那你肯定希望软件没有 Bug,错误越少越好。
00:09:10这就是 BetterStack 派上用场的地方,它让你能查看后端日志,
00:09:15并通过异常检测在问题发生前就有所察觉。
00:09:20它还有 AI 原生错误追踪功能,无论使用哪种前端框架都能追踪错误,
00:09:24并在你最喜欢的代理工具中给出修复建议。
00:09:28所以,今天就去试试 BetterStack 吧。