# Cloudflare ra mắt cf: Công cụ dòng lệnh hỗ trợ AI cho toàn bộ API Cloudflare

- Nguồn: Cloudflare Blog
- Thời gian phát hành: 2026-09-28 21:50 (giờ Việt Nam)
- Điểm AI: 85/100
- Link AIHOT.vn: https://aihot.vn/items/47041e745e1746c2
- Link gốc: https://blog.cloudflare.com/cloudflare-cf-cli-launch

## Tóm tắt AI

Cloudflare giới thiệu cf, công cụ dòng lệnh mới tích hợp AI giúp quản lý toàn bộ API Cloudflare thông qua cấu hình TypeScript. Đồng thời, hãng cũng mở mã nguồn Forge, bộ công cụ tạo SDK nội bộ của họ.

## Thân bài

![Introducing cf: the agentic CLI for the entire Cloudflare API](https://blog.cloudflare.com/_emdash/api/media/file/01M3KR59T13YTXBHQW0ZAX7MBG.01M3KR5AZTG3VJ8REJ9047KYC4.png)

Trong năm qua, việc các tác nhân (agent) sử dụng Wrangler đã tăng vọt.

Vào tháng 3 năm 2026, các agent chiếm một phần tư lưu lượng sử dụng Wrangler, tăng từ mức dưới 10% của năm trước đó. Tuần trước, tỷ lệ sử dụng của agent đã đạt 48%.

Các agent là những người dùng năng suất hơn, sử dụng số lượng lệnh riêng biệt mỗi ngày nhiều gấp đôi và có khả năng sử dụng từ sáu lệnh trở lên cao gấp gần bốn lần.

Các agent rất ưa chuộng CLI. Tuy nhiên, Wrangler chỉ cung cấp lệnh cho khoảng 280 thao tác, trong khi Cloudflare cung cấp hàng nghìn thao tác.

Đầu năm nay, chúng tôi đã hé lộ [cách chúng tôi dự định giải quyết vấn đề này](https://www.google.com/url?q=https://blog.cloudflare.com/cf-cli-local-explorer/&sa=D&source=docs&ust=1790367029312840&usg=AOvVaw3y_OPlPSIga_ikruECLm1E) và hôm nay, chúng tôi cho phép các agent sử dụng mọi sản phẩm của Cloudflare bằng cách giới thiệu một CLI mới: cf.

cf là một CLI được xây dựng cho thế hệ phát triển phần mềm tiếp theo:

- Các agent có thể tìm thấy lệnh cần thiết để thực hiện bất cứ điều gì chúng muốn với tính năng tìm kiếm và điều hướng tùy chỉnh.
- JSON là giao diện mặc định, được định dạng đẹp mắt (pretty printed) cho con người và rút gọn cho các agent để tiết kiệm tối đa ngữ cảnh.
- [cloudflare.config.ts](http://cloudflare.config.ts/) là định dạng cấu hình mới cho toàn bộ Cloudflare, bắt đầu với Workers, mang lại sự an toàn và chính xác của TypeScript cho bạn và giao thức máy chủ ngôn ngữ (LSP) của agent.
- Vite trở thành mặc định, mang theo máy chủ phát triển cục bộ tốt nhất cùng bộ plugin cho các nhà phát triển và tác giả framework.

Cài đặt bản open beta ngay hôm nay trên toàn cầu và chạy từ bất cứ đâu:

npm i -g cf

### cf cung cấp cho agent của bạn quyền truy cập vào toàn bộ API của Cloudflare.

Điều gì sẽ xảy ra nếu agent của bạn có thể làm mọi thứ mà Cloudflare làm được? Đó là câu hỏi đã khơi dậy sự quan tâm của chúng tôi đầu năm nay: các agent ngày càng trở nên mạnh mẽ hơn, nhưng những gì chúng có thể thực hiện với CLI của Cloudflare vẫn còn hạn chế.

Wrangler được xây dựng thủ công với sự đóng góp của từng nhóm sản phẩm, mỗi nhóm áp dụng cách tiếp cận riêng cho trải nghiệm phát triển lệnh của mình. Việc áp đặt các khuôn mẫu chung giữa các nhóm gần như là không thể, ngay cả với khoảng 280 đường dẫn lệnh của chúng tôi. Chúng tôi có thuật ngữ không nhất quán giữa d1 info, hyperdrive get, workflows describe vì mỗi nhóm tự đưa ra quy trình riêng vào các thời điểm khác nhau. Một số nhóm xây dựng trải nghiệm tùy chỉnh hoàn toàn với hàng nghìn dòng mã nhưng hiếm khi được sử dụng, và các nhóm lại đưa ra những cách tiếp cận khác nhau để giải quyết cùng một vấn đề.

Chúng tôi muốn vừa chuẩn hóa những gì đang có, vừa mở rộng quy mô lớn cùng một lúc. [Forge](https://blog.cloudflare.com/forge-open-source-generation-pipeline) — quy trình tạo API thống nhất mới của Cloudflare — đã cho phép chúng tôi thực hiện điều này, dựa trên ý tưởng tạo các lệnh CLI trực tiếp từ lược đồ API vốn cung cấp cho tài liệu API và SDK của chúng tôi. Mọi thứ chúng tôi cung cấp đều có lược đồ OpenAPI, và nếu chúng tôi chú thích thêm một chút thông tin, chúng tôi có thể sử dụng nó làm nguồn cho Forge để tạo ra một CLI.

Điều này cho phép chúng tôi mở rộng cf từ khoảng 280 hàm mà Wrangler đã tích lũy theo thời gian, lên bao phủ toàn bộ bề mặt API của Cloudflare với hơn 3.000 thao tác.

Giờ đây, việc cung cấp cf cho agent và yêu cầu nó thiết lập một worker, triển khai, giám sát và quan sát, bảo vệ bằng Cloudflare Access, mua tên miền và đặt phía trước bằng Cloudflare WAF trở nên đơn giản, tất cả chỉ từ một công cụ duy nhất.

### Xây dựng cho một agent chưa từng sử dụng cf

cf được xây dựng cho quỹ đạo của kỹ thuật phần mềm, nơi sự phát triển dựa trên agent đang thay đổi mạnh mẽ cách phần mềm được xây dựng và triển khai. Năm nay, chúng tôi tập trung cung cấp các công cụ hỗ trợ sự chuyển dịch này, đỉnh điểm là cf. cf được xây dựng từ đầu với tư duy hướng đến các agent, bao gồm các công cụ mới lạ để khám phá lệnh mà chúng tôi tin rằng sẽ trở thành tiêu chuẩn trong nhiều CLI trong tương lai gần.

Wrangler có lợi thế là nhiều năm tài liệu, blog và hướng dẫn từ bên thứ ba đã được hấp thụ vào quá trình đào tạo của các LLM. Nó cũng đi kèm với nhược điểm tương tự: thay đổi cách hoạt động của Wrangler hiện nay đi ngược lại với hành vi đã học, và sự thay đổi đáng kể là không thể tránh khỏi nếu xét đến quy mô cải tiến mà chúng tôi muốn thực hiện.

Giới thiệu một CLI mới mà các agent chưa từng thấy nghe có vẻ là một thay đổi lớn gây gián đoạn — nhưng thực tế đó là cách sạch sẽ nhất chúng tôi có thể làm. Nhờ các quyết định thiết kế, khả năng chèn ngữ cảnh và các tệp AGENTS.md mà chúng tôi có thể đính kèm, việc chuyển đổi theo cách này thực tế ít gây nhầm lẫn hơn so với việc bắt một agent phải hiểu ngữ cảnh về sự khác biệt lớn giữa hai phiên bản của một công cụ mà nó đã quen thuộc. Chúng tôi ra mắt với một vài tính năng tập trung vào agent được tích hợp sẵn và sẽ còn nhiều tính năng khác trong tương lai.

### Các agent cần lọc JSON, không phải xem bảng

Khi các agent sử dụng Wrangler, chúng đính kèm --json vào mọi lệnh chạy, sau đó thường lọc đầu ra bằng jq để trích xuất một tập hợp con các trường. Nhưng chỉ một số lệnh trong Wrangler hỗ trợ --json; nhiều lệnh trả về bảng unicode, được thiết kế cho con người xem đầu ra trên terminal. Các agent có thể hiểu được những bảng này, nhưng tốn nhiều thời gian và token hơn so với bộ lọc jq.

Trong cf, chúng tôi chọn quan điểm ngược lại: các agent chỉ cần JSON, và nếu agent là người dùng chính trong tương lai của công cụ này, thì đó nên là mặc định. Đối với đại đa số các lệnh mà con người hiếm khi truy cập, đây rõ ràng là quyết định đúng đắn.

Bạn, với tư cách là khách hàng con người của CLI này, thực tế đã tách biệt một bước khỏi việc sử dụng trực tiếp nó. Việc các agent có thể dễ dàng lọc kết quả và trả về danh sách đã lọc theo bất kỳ định dạng nào bạn yêu cầu sẽ tốt hơn là cung cấp các bảng mà bạn có thể sẽ không bao giờ đọc trực tiếp.

Nhưng nếu bạn đang muốn làm điều gì đó có thể cần sự đầu vào thực sự của cá nhân, như tìm kiếm một tên miền để mua thì sao?

Đối với các lệnh mà agent của bạn có thể truy cập thông qua việc xâu chuỗi các tham số được đặt tên trong một trình tự dài và cồng kềnh, bạn chỉ cần điền vào một biểu mẫu. Cf phân tách các yêu cầu của API thành một loạt các đầu vào đã được xác thực, vì vậy việc mua một tên miền, ngay cả với các yêu cầu phức tạp, cũng rất dễ theo dõi.

Hoặc, nếu bạn khăng khăng, chỉ cần yêu cầu agent của bạn thực hiện việc đó.

### Agent của bạn có thể tự tìm lệnh phù hợp

Với 3.000 lộ trình có thể thông qua một CLI, làm thế nào agent của bạn có thể tìm thấy thao tác cần thiết một cách nhanh chóng mà không làm quá tải ngữ cảnh? Vì lý do này, chúng tôi cũng đã thêm cf cli search.

Lệnh này cho phép agent của bạn hỏi bằng ngôn ngữ tự nhiên về những gì nó cần làm, và một chỉ mục tìm kiếm nhỏ sẽ cung cấp danh sách các lệnh phù hợp dựa trên mô tả API và tham số của chúng. Chúng tôi tự động thông báo cho agent về lệnh này khi nó chạy --help lần đầu tiên.

### Cấu hình kiểm tra kiểu (type-check) cho agent của bạn

Định dạng cấu hình mới của chúng tôi dựa trên TypeScript, giúp con người và agent dễ dàng phân tích cú pháp, đồng thời cho phép bạn viết cấu hình theo lập trình.

Cấu hình có kiểu dữ liệu (typed configuration) cực kỳ hữu ích cho các tác nhân (agents). Chúng tôi nhận thấy rằng ngay cả khi không có ngữ cảnh trước đó về định dạng cấu hình lập trình, các tác nhân vẫn có thể dễ dàng xác định và chỉnh sửa cấu hình theo yêu cầu, ngay cả với các thành phần như env vốn đã thay đổi đáng kể so với tính năng cùng tên trong Wrangler. Tất cả các tác nhân sử dụng plugin LSP, chẳng hạn như Claude Code và Codex, đều được hưởng lợi từ việc có thể hiểu rõ hơn về định dạng tệp cấu hình trong ngữ cảnh, từ đó đưa ra các đề xuất chính xác hơn nhiều.

Hãy so sánh điều này với TOML, vốn không có lược đồ (schema) có thể truy cập được, hoặc JSONC, vốn có lược đồ được liên kết nhưng các tác nhân hiếm khi sử dụng.

Một số tệp cấu hình Wrangler bên trong Cloudflare đã được tinh gọn 40% từ hơn 5.000 dòng, với nhiều môi trường tùy chỉnh cho mỗi nhà phát triển, thành các tệp gốc (factory files) giúp xây dựng cấu hình của từng nhà phát triển hiệu quả hơn.

Điều này đạt được thông qua việc xác định theo chương trình từng môi trường từ cùng một cơ sở chung, thay vì sao chép các khối env như thường thấy trong Wrangler. Một Worker đơn giản với nhiều môi trường chỉ cần chuyển đổi đối số chế độ gốc của Vite để hoán đổi giữa các bộ cấu hình khác nhau.

Một cấu hình đơn giản thực hiện việc này hiện trông như sau:

```
import { bindings, defineConfig } from "cf/config";
import * as entrypoint from "./index.js" with { type: "cf-worker" };

export default defineConfig(({ mode }) => ({
        worker: {
                name: "example-worker",
                entrypoint,
                compatibilityDate: "2026-09-27",
                env: {
                        Environment: bindings.text(`This is ${mode} environment`),
                },
        },
}));
```

Bạn có thể di chuyển Cloudflare Worker của mình sang định dạng mới này thông qua cf migrate.

Chúng tôi cũng cung cấp một vài hàm hỗ trợ để giúp việc xây dựng Worker của bạn trở nên dễ dàng hơn.

_Bài gốc còn tiếp._ Xem tiếp tại: <https://blog.cloudflare.com/cloudflare-cf-cli-launch>
