Agent

把 3000 个 API 打包进 CLI,Cloudflare 这个赛博菩萨进化得有点猛

A君3,516 字约 9 分钟

Cloudflare 出了官方命令行 cf,3000 多个 API 装进一个工具。我试了五个马上能用的玩法:本地服务临时上公网、静态网页上线、建数据库,最后交给 Agent 一句话搞定基建。

提起 Cloudflare,大家脑海里的第一印象是什么?

是用来买个域名拿来托管 DNS 解析?还是拿来防攻击、防扫描?

在很多开发者圈子里,大家更习惯亲切地称它为「赛博菩萨」或「互联网大善人」。

原因很简单,因为它提供的海量基础设施,不管是网站部署、边缘数据库、免费 SSL 证书等等,全部都提供了极其慷慨的免费额度,日常折腾完全不用花一分钱,不用担心账单刺客🥷。

但很多人(包括我自己)以前其实都被 Cloudflare 的网页控制台劝退过:成百上千个英文菜单层层嵌套,各种专业名词看得人眼花缭乱。

每次想要改个设置或开个服务,得在控制台里翻半天文档。

但就在前两天,Cloudflare 官方全量上线了一个全新的命令行工具,叫 cf。

cloudflare/cf 的 GitHub 仓库卡片

Github 地址:https://github.com/cloudflare/cf

它把整个 Cloudflare 平台涵盖计算、存储、网络、AI、安全在内的 3,000 多个 API 操作,全部打包进了一个小巧的命令行工具里。

哪怕你手头上没有任何 Cloudflare 的项目,甚至之前都没有听说过它,也没有关系。

我觉得看完这篇文章,你也能马上把这个工具给用起来。

零门槛安装与登录

在正式开始之前,有一个前置准备需要提一下:你需要先有一个 Cloudflare 账号。

如果你之前从来没用过,可以先去官网(dash.cloudflare.com/sign-up)花一分钟免费注册一个。

只需要填个邮箱和密码即可,不需要绑定任何信用卡,对新手来说也是没什么门槛。

有了账号之后,电脑里只要有 Node.js 环境(建议 v 20 或 v 22 以上版本),就可以直接上手了。

打开终端(Windows 的话,可以使用 CMD 或 PowerShell),直接一行命令全局安装👇

npm i -g cf

npm 全局安装 cf 的终端输出

安装完成后,输入 cf --version 查看版本:

cf --version

如果你看到终端跳出了一朵小橙子和小云朵的图标,就说明安装成功了:

cf --version 打出橙子和云朵

接下来是登录鉴权。

以前使用类似的云工具,比较烦的就是去后台到处找 API Token,然后再复制粘贴回终端。

而在 cf 里,登录体验变得非常现代:

cf auth login

敲下这行命令后,终端会自动采用设备码授权流程。它会直接在终端打印一个验证链接,并自动在浏览器中打开授权页。

终端里的设备码和浏览器授权页

你只需要在网页上核对一下设备码,没有问题,就点击一下「确认授权」,终端就会显示授权完成。

CF CLI 申请访问账户的授权页

接着可以在终端输入这行命令验证一下:

cf auth whoami

你会看到终端整整齐齐地列出了当前已授权的全部账号权限。

到这里,准备工作就彻底做好了。

对了, 因为 CF 默认会向官方匿名发送命令执行的频次和 search 搜索词。

如果你比较在意隐私、在意终端环境的纯净,可以在终端配置文件(如 ~/.zshrc 或 ~/.rc)加上一行配置:

export DO_NOT_TRACK=1

保存之后重新打开,这样匿名遥测就会被静默关闭。

下面这 5 个玩法,全部是可以直接上手的场景。无论你是写前端、做独立开发,还是平时会给自己做一些小工具,都能立刻用上。

玩法一:一行命令,把本地项目临时变成公网网站

自从有了 AI Agent 之后,基本上等同于实现了代码自由。

只要有想法、有灵感,就能言出法随,在本地做出各种各样好玩的小工具。

但很多时候,痛点在于这个工具做好了只能在自己的电脑上用。

你会发现把 http://localhost:4000 这样的链接直接发给朋友,他是根本打不开的。

这时候,我们就需要让外部的网络或者手机也能直接访问到本地电脑上的服务。

通常有多种方式:

可以是部署上线,也就是把代码打包上传到远端的云服务器上,24 小时在云端运行。你把笔记本电脑合上、关机,别人依然能访问。

还可以使用临时的通道,你的代码依然 100% 运行在自己的电脑上。

Cloudflare 只是临时在公网和你的本地端口之间架了一条安全的加密管道。

所以,如果你只是想让你的朋友临时访问你的网站,就只需要打开终端,执行这条命令:

cf tunnels quick-start http://localhost:4000

后面的 http://localhost:4000 地址换成你自己本地对应在跑的服务和端口。

第一次在终端运行这个命令会稍微等一下,因为 Cloudflare 会在后台静默下载独立的穿透组件,所以看到终端稍有停顿是正常的。

等待几秒组件就绪后,终端就会输出一段信息,其中包含一个专属的临时公网域名:

https://xxxx-xxxx-xxxx.trycloudflare.com

终端打出的 trycloudflare 临时域名

点击这个域名,你就可以看到自己本地跑着的服务被正常打开了。

同样地,当你把这个地址发给朋友,或者用手机浏览器访问,依然可以秒级打开。

临时域名和本地地址打开同一个页面

整个过程免买域名、免配 SSL 证书、免租云服务器。

等你的演示或者测试结束了,在终端按一下 Ctrl/Cmd+C 退出,通道立刻销毁,没有任何安全残留,体验极其丝滑。

玩法二:告别云服务器,静态网页 /前端项目秒上线

在上一个玩法里,我们提到了如何把本地的服务临时分享给朋友。

但如果你的需求不止于此,不仅是想临时访问,甚至希望自己的电脑关掉之后这个服务仍然在。

那这个时候,很多新手小白的第一反应就是:我是不是得去买一台云服务器,装一个 Nginx,还要配上对应的证书才行?

其实对于纯前端和静态网页,根本不需要用到服务器。现在有了 CF,这一切相当简单。

最推荐、也最不容易踩坑的做法,是直接用官方脚手架初始化一个轻量项目:

第一步:一行命令初始化项目并自动安装依赖

在终端输入:

cf init my-site

cf init 询问用哪个包管理器

终端会询问使用哪个包管理器,直接按回车选 npm 即可。

cf 会全自动建好目录,并将底层构建所需的全部依赖一次性安装到位。

第二步:放入你的网页,一键推向云端

把你想上线的 HTML 单页文件(比如个人简历、数据大屏、活动主页等)重命名为 index.html,直接复制进 my-site 目录中替换默认页面。

my-site 目录里只要换掉 index.html

然后切进目录,敲下部署命令:

cd my-site
cf deploy

第一次部署时注册 workers.dev 子域名

如果你的 Cloudflare 账号是第一次部署 Worker 服务,终端会贴心地弹出一行提示,询问你是否要为账号注册一个专属的 workers.dev 免费子域名(例如 xxxxx.workers.dev)。

选中 Yes 并输入你喜欢的个性化名字即可,每个账号只需要设置这一次。

直接按回车确认后,Cloudflare 会在几十秒内将你的所有页面和静态资源直接推送到云端。

部署完成,终端会直接输出一个专属的在线网址(类似 https://your-project.workers.dev)。

部署完成,网页在 workers.dev 上打开

从这一刻起,就算你把电脑关机了,这个网站依然在云端 24 小时稳定在线。

由于它直接托管在 Cloudflare 遍布全球的边缘节点网络上,天生就自带了免费的 HTTPS 证书和 CDN 就近加速,无论是国内还是海外的朋友访问,速度都非常流畅。

最关键的是,对于个人小项目来说,完全是免费的。

玩法三:不用记命令的「意图搜索」

使用过 Cloudflare 的朋友都知道,其全平台的功能多达 3,000 多个。

很多时候我们是很难记住一个具体的指令它叫什么。

比如说,想要去备份或者创建数据库,那到底是敲 cf d1 dump、cf d1 backup 还是 cf d1 create?

以前碰到这种情况,只能去翻几万字的英文官方文档,查半天还容易拼错参数。

现在在 cf 里,你根本不用背命令,直接在终端里向它搜索你的「意图」:

cf cli search "create database"

它会毫秒级输出匹配度最高的前 5 个命令及其用法摘要:

搜 create database 返回五条命令

我在本地测试时发现,因为底层内嵌的轻量搜索引擎(MiniSearch)索引的是 Cloudflare 官方英文文档与参数。

所以如果你输入中文(例如 cf cli search "创建数据库"),会返回一个空列表 []。

用中文搜「创建数据库」返回空列表

但我觉得完全不用担心英文不好。

因为 cf 就是给 Agent 去使用的,所以很多时候我们只需要跟 Agent 说就好了。

比如跟它说:「你需要帮我在 Cloudflare 上去建个数据库。」Agent 自己就会去后台执行 cf cli search "create database",替你找到对应的命令并执行。

玩法四:零门槛拥有一个全球边缘数据库

以前写个记账小程序、全栈个人博客、或者写个小工具,比较头疼的就是配数据库。

开云数据库觉得有点贵,本地 SQLite 部署到线上又没法持久化。

Cloudflare D 1 是部署在全球边缘节点上的 Serverless 关系型数据库(底层基于 SQLite),对个人开发者非常友好。

不仅性能极快,而且免费额度非常充裕。

以往建 D 1 必须去网页后台点来点去,现在终端里几秒钟搞定:

1、 一行命令秒级建库:

注意,在全新的 cf 中,建库需要使用 --name 参数:

cf d1 create --name my-db

cf d1 create 返回新库的 uuid

执行后,终端几秒钟就会返回这个数据库的详细元数据,其中会包含一个专属的 uuid(数据库唯一标识)。

2、终端直接执行 SQL 建表与读写:

你不需要在电脑上安装任何 Navicat、DBeaver 这类繁重的图形化客户端。直接在命令行里就能对云端数据库写入数据:

cf d1 query <你的数据库UUID> --sql "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT);"

表建好之后,插入一条数据测试一下:

cf d1 query <你的数据库UUID> --sql "INSERT INTO users (name) VALUES ('KK');"

再查出来看看:

cf d1 query <你的数据库UUID> --sql "SELECT * FROM users;"

终端会整整齐齐地把刚才存进去的数据以清晰的 JSON 格式输出出来。

插入一条数据再查出来的 JSON

命令、参数太多记不住也没关系,cf 已经把全平台的 3,000 个命令完转换成一套符合 MCP 标准的工具描述 JSON。

Cloudflare 在设计 cf 这个命令行工具时,就已经把 Agent 视作了一等公民。

玩法五:给你的 Agent 装上「基础设施全套外挂」

做过 AI 编程的朋友相信都有过这类体验:过去 Agent 往往更擅长帮我们在本地写代码、排查 bug、调试、测试。

一旦遇到需要去云端搞基建的场景,比如「帮我建个云端数据库」、「帮我配个存储桶」、「帮我把代码推上线」,虽然 Agent 也能通过一些操作浏览器的 Skills 来实现,但很多时候它还是会跟你说

「请前往 Cloudflare 控制台手动创建,并将对应的配置和环境变量告诉我 🤡」

而现在有了 CF,你的 Agent 再也不会跟你对抗了,直接一句指令,就可以放心当甩手掌柜去其他事情了:

「我本地已经装好了 Cloudflare 的 cf 工具并完成了登录。请帮我用 cf CLI 查一下怎么创建 D 1 数据库,帮我建一个名为 my-notes 的数据库,并在当前目录下把配置写好,然后执行 cf deploy 帮我上线。」

有 cf 前后 Agent 搞基建的对比

因为 cf 提供了我们前面提到的 cf cli search,Agent 自己能精准查到每个命令的参数。

而且在全新的体系里,项目配置统一改成了带类型检查的 TypeScript(cloudflare.config.ts)。

这意味着 Agent 在替你生成或修改配置文件时,如果把参数或字段拼错了,底层代码语法检查当场就能拦截并提示错误,Agent 在后台自己就能自动纠错,形成闭环,不用等到部署失败了才发现。

写在最后

今天的软件世界里,几乎所有产品都是围绕人的感官设计的——好看的界面、顺手的交互、流畅的动画。

但 Agent 不在乎这些。

Agent 更需要的是一个可以用文字对话的接口,一个稳定的、结构化的、可组合的接口。

在 Cloudflare 的官方博客里,他们披露了一组真实数据:

2025 年初,Agent 对 Cloudflare 传统命令行的调用量还只是个位数;到 2026 年 3 月,这个比例上升到了 25%;而在全新 CLI 发布前的一周,全网调用量里竟然有整整 48% 是由 AI Agent 发起的。

不仅如此,Agent 每天调用的不同命令种类是人类开发者的 2 倍,连续执行 6 个以上复杂指令的概率更是人类的 4 倍。

Agent 调用占比从个位数涨到 48%

曾经只有专业云运维才能搞定的一整套复杂基建,现在有了 AI 和 CF 这样的工具出现,任何人都可以把 Cloudflare 的价值发挥到最大。

基础设施的使用门槛,正在被 AI 全面重塑。

未来一定还会有越来越多这样的时刻发生,真是太让人期待了。

聊两句

滑动至此处加载评论区...