Cloudflare劝你别买Mac Mini装Molt,在自家云端免费搭一个Moltworker


原来大家都在抢苹果小主机装AI智能体Moltbot,太麻烦啦!现在有个新办法叫Moltworker,能用Cloudflare的云服务免费搭一个更牛更安全的同款AI,啥都能干,还不用你买硬件盯着看。


这届网友真会玩,Moltbot竟把苹果小电脑买断货

这周互联网可热闹坏了,一大群人跟抢限量版球鞋似的,疯狂下单苹果的Mac mini小主机。为啥?就为了跑一个叫Moltbot(以前叫Clawdbot)的开源AI助理程序。这玩意儿像个真正的私人秘书一样给你干活。把它装在你自己的硬件上,它就在后台默默运行,通过你常用的聊天软件跟你交流。让它帮你管账、发社交媒体、安排日程,它全都能搞定。而且它的本事还在不停增长,能连接越来越多的聊天应用、AI模型和各种流行工具,你甚至能远程控制它。这不就是钢铁侠的贾维斯走进现实嘛,谁不想要一个。

但是,问题来了。不是每个人都想专门买台新电脑放在家里当服务器。那玩意儿要钱、要地方、还得费电,万一出点毛病你还得自己折腾。更关键的是,你总不想让自己的财务信息、私密聊天记录只存在自家那小盒子里吧,安全性和稳定性心里都得打个问号。

这时候,Cloudflare的几位大神工程师——塞尔索、布莱恩、西德和安德烈亚斯——拍案而起:“咱们用云服务给他整一个更好的!”于是,Moltworker横空出世。简单说,这就是一套“中间件”和改装过的脚本,能让Moltbot这个AI管家直接跑在Cloudflare的开发者平台上面。你不用买迷你电脑,你的AI管家住在Cloudflare全球网络上,安全、强大、还随时待命。

在Cloudflare上养个AI管家?这事到底靠不靠谱

把AI管家放云上,听着挺科幻,但其实技术底子已经打得扎扎实实了。Cloudflare Workers这个无服务器计算环境,现在对Node.js的兼容性好到飞起。早些年想跑一些流行的Node.js代码包,还得自己想办法模拟各种系统接口,费劲又容易出错。现在好了,Workers运行时原生支持一大堆Node.js的API,这就叫“根正苗红”。

这个进步可太关键了。它彻底改变了我们在Cloudflare上造工具的方式。

举个栗子,以前我们想在Workers里用Playwright(一个超火的浏览器自动化测试工具),那得靠一个叫memfs的“外挂”来模拟文件系统。这招不仅是个临时 hack,还是个外部依赖,弄得我们的代码跟Playwright官方版本越走越远,升级一次头疼一次。谢天谢地,随着Node.js兼容性提升,我们现在能直接用原生的node:fs文件系统模块了。代码一下子清爽了,维护简单了,跟着Playwright官方版本升级也变得轻轻松松。

Cloudflare对Node.js API的支持列表就像雪球,越滚越长。官方专门写了篇文章《我们在Cloudflare Workers中提升Node.js兼容性的一年》,详细汇报了战况和未来计划。光说不练假把式,我们还做了个硬核实验:把npm上最热门的一千个代码包抓过来,用AI当“软件工程师”,试着在Workers里运行它们。结果让人惊喜!排除掉那些本身就是构建工具、命令行工具或者纯浏览器端用不了的包,真正跑不起来的只有15个。成功率高达98.5%!这数据够狠吧。

所以,现在在Workers上起个新AI应用,很多逻辑代码可以直接写在这里,离用户更近,速度更快。虽然Moltbot本身的核心大部分跑在容器里,不一定需要Workers提供全套Node.js兼容,但这个背景很重要。它说明Cloudflare的土壤已经足够肥沃,能种下各种复杂的代码种子。

Cloudflare的武器库:攒齐了造AI管家的一切零件

光有运行环境还不够,巧妇难为无米之炊。幸运的是,Cloudflare开发者平台的产品和API现在已经丰富到能让你搭建任何应用,再复杂、再 demanding 的需求都能满足。而且,只要应用一上线,立刻就能享用Cloudflare那安全、可扩展的全球网络,这起步就是高速公路。

对我们造Moltworker来说,三样核心“零件”缺一不可:

第一,Sandboxes(沙盒)。AI管家经常需要执行一些不确定是否完全安全的代码,比如运行用户指定的脚本。沙盒SDK就是干这个的,它提供一个安全的隔离环境来运行这些不可信的代码。你不用操心容器的生命周期、网络、文件系统这些底层细节,用几行简单的TypeScript就能搞定,简直是开发者的福音。

第二,Browser Rendering(浏览器渲染)。AI管家要上网查资料、填表格、截图,没浏览器可不行。这个服务让你能在Cloudflare边缘网络大规模、程序化地控制无头浏览器实例。像Puppeteer、Playwright这些主流工具都支持,拿来就能用。

第三,R2对象存储。管家得有记忆,会话记录、聊天历史、各种文件都得存起来。本地的容器是 ephemeral(临时)的,关了数据就没了。R2提供了持久化存储,正好可以给管家当硬盘用。

有了这三样法宝,我们改装Moltbot的工程就可以正式动工了。

Moltworker解剖课:看我们如何给AI管家安个云上的家

Moltworker不是简单地把Moltbot代码扔上去就跑,它是一套精巧的组合拳。核心是一个“入口”Worker,它像个全能前台兼接线员:既是API路由器,又是Cloudflare各种API和沙盒隔离环境之间的代理。这个前台还自带一个管理后台的UI界面。最重要的是,它通过Sandbox SDK,连接并管理着那个运行标准Moltbot核心程序及其各种插件的沙盒容器。至于管家的记忆仓库,就用R2来持久保存。

这么一来,架构就清晰了:你通过浏览器或聊天软件发指令,请求先到被Cloudflare Access保护的入口Worker,Worker再把任务派给沙盒容器里的Moltbot核心程序去执行。执行过程中需要浏览器?Worker就去调用Browser Rendering服务。需要存东西?容器里挂载的R2存储桶就是它的硬盘。整个过程安全、可控、可观察。

给AI管家配个智能总闸:AI Gateway妙用

AI管家当然要思考,思考就得用AI模型。Moltbot支持Claude、GPT等多种模型。但直接让管家拿着你的API密钥去调用模型,既不方便管理也不安全。这时候,Cloudflare的AI Gateway就该上场了。

这玩意儿像个智能总闸和调度中心。你可以在上面创建一个网关,然后启用Anthropic(Claude的厂商)作为供应商。接下来你有两个酷炫选择:一是用“自带密钥”(BYOK),你把Claude的API密钥交给AI Gateway集中保管,它来负责调用,你再也不用在代码里明文写密钥了。二是更省心的“统一计费”,你直接在Cloudflare账户里充值,用AI Gateway调用模型,Cloudflare帮你付钱给模型厂商,再从你账户扣积分,连密钥长什么样你都无需知道。

让Moltbot用上AI Gateway简单到哭。你只需要在Moltbot的运行环境里,把ANTHROPIC_BASE_URL这个环境变量设置成你的AI Gateway的端点地址。搞定!一行Moltbot的代码都不用改,它就会乖乖地把所有问Claude的请求都先发送到AI Gateway这个总闸口。

好处大大的。你可以在AI Gateway的控制台里清清楚楚看到管家花了多少钱、问了什么问题、模型回答了什么,所有日志和分析一目了然。更妙的是,如果未来有更好的新模型出现,你不需要去改Moltbot的配置然后重新部署,直接在AI Gateway的配置里切换一下模型就行。你甚至可以设置备选模型和供应商,让请求失败时自动切换,保证你的管家永远“在线”。

沙盒:给AI管家一个五星级安全套房

AI管家能力越强,越可能执行一些千奇百怪的任务和代码。在我们的Moltworker架构里,Moltbot的核心就运行在Sandbox里。这相当于给你家的全能管家安排了一个五星级酒店套房,而且这个套房是完全隔离的,无论它在里面折腾什么,都不会影响到酒店其他客人(也就是Cloudflare的其他服务和安全)。

用Sandbox SDK跟这个“套房”里的管家沟通超简单。看看下面这段代码,感受一下:

typescript
import { getSandbox } from '@cloudflare/sandbox';
export { Sandbox } from '@cloudflare/sandbox';

export default {
  async fetch(request: Request, env: Env): Promise {
    const sandbox = getSandbox(env.Sandbox, 'user-123');

    // 在套房里创建个工作目录
    await sandbox.mkdir('/workspace/project/src', { recursive: true });

    // 让套房里的Node.js报个版本号
    const version = await sandbox.exec('node -v');

    // 甚至能让它在套房里跑段Python代码算个面积
    const ctx = await sandbox.createCodeContext({ language: 'python' });
    await sandbox.runCode('import math; radius = 5', { context: ctx });
    const result = await sandbox.runCode('math.pi * radius 2', { context: ctx });

    return Response.json({ version, result });
  }
};

看见没,就像在跟你自己的电脑命令行对话一样自然。有了这个,我们就能轻松地向沙盒容器里的Moltbot发号施令,也能接收它传回来的消息,建立起双向热线。

给管家的记忆装上金钟罩:R2持久存储

本地电脑或VPS有硬盘,数据存了就存了。但沙盒容器是“临时工”,关掉之后里面产生的数据就灰飞烟灭了。这可不行,管家的记忆(聊天记录、任务历史、学习成果)必须永久保存。

别担心,Sandbox SDK早就想到了。它提供了一个sandbox.mountBucket()魔法功能。你只需要在启动容器时使用它,就能自动把一个R2存储桶像挂载U盘一样,“挂载”到容器内的一个目录上。这个目录里的所有东西,都会安全地保存在R2里。容器重启、销毁再重建,这个目录里的记忆都会完好无损地重新挂载回来。管家的记忆从此有了金钟罩铁布衫。

给管家配上火眼金睛:Browser Rendering搞定一切网页活

上网冲浪、填表、截图,这是AI管家的基本功。Moltbot原本是自己带着Chromium浏览器一起跑的。在沙盒里当然也能这么干,但我们有更优雅的方案:直接用Cloudflare的Browser Rendering服务。

这个服务提供了一套API,让你能在云端大规模操控无头浏览器。Puppeteer、Playwright这些主流工具都支持,代码改改就能用。为了让Moltbot能用上这个云端的“火眼金睛”,我们做了两件事:

第一,我们在沙盒容器里和入口Worker之间,搭建了一个轻量的CDP(Chrome DevTools Protocol)代理通道。简单理解,就是在Moltbot和云端浏览器之间修了一条专属高速路。

第二,我们在沙盒启动时,给Moltbot运行时注入了一个“Browser Rendering技能包”。

这么一来,从Moltbot的视角看,它感觉自己就像在连接一个本地的浏览器端口,所有浏览器操作指令照常发送,但实际上背后是强大的Cloudflare Browser Rendering服务在干活。这就叫“润物细无声”的升级。

给管家大门装上指纹锁:Zero Trust Access严防死守

你的AI管家这么能干,肯定得保护好,不能谁都能来敲门。自己从头写一套登录认证系统?那是自找苦吃。

Cloudflare Zero Trust Access(零信任访问)来救场。用它来保护你的应用接口和管理后台,简单到像搭积木。你只需要在控制台点点鼠标,定义好哪些登录方式(比如Google账号、GitHub账号、一次性密码等)可以访问哪些端点(你的API地址和管理UI地址)。

设置完成后,Cloudflare就会自动帮你处理所有认证流程。任何未经认证的请求都会被拦在大门外。合法的请求进来时,Cloudflare还会自动在请求头里附上一个JWT令牌(就像盖了个防伪章)。你在自己的Worker代码里可以轻松验证这个令牌,双重确认这请求确实来自受信任的Access网关,而不是什么黑客冒充的。

这样一来,你的Moltworker就固若金汤了。而且,通过Access的控制台,你还能清清楚楚看到是哪个用户在什么时候访问了你的管家,干了啥,所有访问日志一目了然。这安全感,杠杠的。

现场直播:看看云上AI管家有多能整活儿

理论说再多,不如看实战。我们在Slack里搭了个测试频道,亲自调教这个跑在Cloudflare上的Moltworker。几个例子让你开开眼:

例子一:路痴救星
我们跟管家说:“用Google Maps找出从Cloudflare伦敦办公室到Cloudflare里斯本办公室的最短路线,截个图发到Slack里。”
只见它不慌不忙,调用Browser Rendering服务,打开谷歌地图,输入地址,规划路线,最后精准截图并上传到指定频道。更神的是,过会儿我们再问它同样的问题,它居然能从记忆(R2存储)里直接调出之前的答案,秒回!这记忆力和执行力,绝了。

例子二:美食向导
“今天想吃亚洲菜,帮我看看附近有啥好吃的。”
管家接到指令,又开始忙活。打开浏览器,搜索附近的亚洲餐厅,筛选评分,整理出名字、地址和评分列表,一条条发回来。你甚至能要求它:“把看起来最好吃的那家店的菜谱图片也截给我看看。”它也能给你办妥。这简直就是随身美食雷达。

例子三:视频剪辑师
我们想玩点更花的:“去浏览一下Cloudflare的开发文档,然后把过程录制成一个小视频。”
这任务复杂了,需要浏览器导航、连续截图、最后合成视频。你猜怎么着?管家先生它先是操控浏览器按顺序访问文档页面,一页页截图保存。然后,它竟然在沙盒容器里自动下载并运行了ffmpeg这个视频处理工具,把一堆截图串起来,生成了一个连贯的浏览过程视频!这种自动安装工具、完成复杂工作流的能力,已经远超简单助手,像个真正的数字员工了。

手把手教你:拥有你自己的云上超级管家

心动了没?我们可是把整套Moltworker的代码都开源了,就放在GitHub上,地址是 https://github.com/cloudflare/moltworker。README教程写得明明白白,跟着步骤走,你就能在Cloudflare Workers上部署属于你自己的Moltbot。

你需要准备一个Cloudflare账户,并且订阅至少5美元/月的Workers付费计划(主要是为了使用沙盒容器功能)。其他像AI Gateway、Browser Rendering(有一定免费额度)、R2(也有慷慨免费层)和Zero Trust Access(免费套餐够用),你都可以先用免费额度玩起来,只要用量别太夸张,一直免费用下去也没问题。

得敲下小黑板:Moltworker目前是一个“概念验证”,它不是Cloudflare官方的正式产品。我们造它出来,就是为了炫技,展示咱们开发者平台的肌肉,看看怎么用这些酷炫的功能来高效、安全地运行AI智能体和任意代码,同时还能获得顶级的可观察性,并坐享全球网络的加速。

欢迎你去GitHub仓库点个Star,甚至提交代码贡献,或者直接Fork过去改成你自己的版本。我们团队会持续关注一阵子,提供些支持。我们甚至还在考虑,把这些为Cloudflare适配的“技能包”贡献给上游的官方Moltbot项目呢。

最后唠点干的:未来已来,你的AI就该住在云上

这一通折腾下来,结论只有一个:Cloudflare这地方,天生就是用来跑你那些AI应用和智能体的绝佳舞台。我们早就嗅到了未来的味道,拼命打造各种趁手的兵器:有Agents SDK让你几分钟搭出个AI代理;有Sandboxes让你无忧无虑运行任意代码;有AI Search(向量搜索服务)给AI配上知识库…… 现在的Cloudflare,已经凑齐了一整套AI开发工具箱:模型推理、存储API、各种数据库、用于状态化工作流的持久执行、还有内置的AI能力。这些积木块组合在一起,让你能在我们的全球边缘网络上,构建并运行最复杂、最 demanding 的AI应用。

--

对本文独特性的评价:**
本文的独特性在于它并非一篇单纯的产品公告或技术综述,而是一篇极具实操性和故事性的“技术移植日记”。它巧妙地捕捉了社会热点(Mac mini抢购潮),并以此为契机,生动演绎了如何利用一个成熟云平台(Cloudflare)的现有服务矩阵,系统性重构并升级一个流行的开源项目。

文章通过技术拆解,将网关、沙盒、浏览器渲染、对象存储、零信任等抽象概念,具象化为建造一个“云上AI管家”所需的实际“零件”和“施工步骤”,最终导向一个可立即复现的开源项目。