# Kitesurf cập nhật: Bước tiến mới cho trình duyệt dành riêng cho AI Agent

- Nguồn: Cloudflare Blog
- Thời gian phát hành: 2026-09-28 20:00 (giờ Việt Nam)
- Điểm AI: 85/100
- Link AIHOT.vn: https://aihot.vn/items/5c23e53489e9ee40
- Link gốc: https://blog.cloudflare.com/kitesurf-update

## Tóm tắt AI

Cloudflare nâng cấp Kitesurf với hỗ trợ WebMCP, cải thiện hiệu suất DOM và khả năng hiển thị qua terminal, giúp các AI agent điều hướng trang web phức tạp nhanh chóng và chính xác hơn.

## Thân bài

![The road to the agentic browser: A Kitesurf update](https://blog.cloudflare.com/_emdash/api/media/file/01M3D845N2B9HNGCKKYKJZN8G3.png)

Vào tháng 8, chúng tôi đã giới thiệu Kitesurf, một trình duyệt dành cho kỷ nguyên tác tử (agentic age) chạy hoàn toàn trên Cloudflare Workers. Chúng tôi xây dựng nó dựa trên những gì các tác tử cần từ web, thay vì mang theo tất cả các tính năng và sự cồng kềnh của một trình duyệt được thiết kế cho con người. Nếu đây là lần đầu tiên bạn nghe về nó, chúng tôi thực sự khuyên bạn nên đọc bài viết trên blog [nơi chúng tôi giới thiệu Kitesurf](https://blog.cloudflare.com/kitesurf/), để biết tất cả các chi tiết kỹ thuật thú vị về cách chúng tôi đã thực hiện nó.

Kể từ đó, chúng tôi đã đưa Kitesurf vào các tác vụ thực tế hơn và sử dụng phản hồi từ khách hàng nội bộ và bên ngoài để làm cho nó có năng lực và hiệu quả hơn. Dưới đây là những gì đã thay đổi, cách bạn có thể dùng thử ngay hôm nay và hướng đi tiếp theo của chúng tôi.

### Hỗ trợ WebMCP

Các trang web không được xây dựng để các tác tử sử dụng. Việc duyệt web ngày nay là một quá trình lộn xộn của việc nhấp vào các pixel và hy vọng phần tử phù hợp sẽ tải. Trong một thế giới lập trình, điều này chậm chạp và dễ hỏng. [WebMCP](https://developer.chrome.com/docs/ai/webmcp) giúp ích bằng cách cho phép các nhà phát triển hiển thị trực tiếp chức năng của trang web cho các tác tử, nơi chúng có thể gọi các hàm như searchFlights thay vì mô phỏng các cú nhấp chuột.

Cloudflare đã hỗ trợ WebMCP từ những ngày đầu; chỉ vài tuần trước, chúng tôi đã thông báo rằng chủ sở hữu trang web hiện có thể bật WebMCP [chỉ với một nút gạt](https://blog.cloudflare.com/webmcp/), để các tác tử trình duyệt có thể khám phá và sử dụng các công cụ trên trang web của họ mà không cần thay đổi mã nguồn, và Browser Run đã [hỗ trợ WebMCP](https://developers.cloudflare.com/browser-run/features/webmcp/) khi sử dụng Chrome [beta](https://developers.cloudflare.com/changelog/post/2026-04-15-br-webmcp/) được một thời gian.

Hôm nay, chúng tôi thông báo rằng Kitesurf hiện đã hỗ trợ WebMCP.

Bạn có thể kiểm tra điều này bằng cách truy cập [Kitesurf playground](https://kitesurf.cloudflare.app/?url=https://radar.cloudflare.com/) công khai của chúng tôi, mở Cloudflare Radar và điều hướng đến WebMCP trên tab Application trong bảng DevTools. Như bạn có thể thấy, Radar [hiển thị](https://developers.cloudflare.com/changelog/post/2026-08-07-radar-researcher-and-webmcp/) danh sách các công cụ WebMCP như navigate-to hoặc set-location, cho phép các client tương tác với trang và khám phá Radar theo cách lập trình.

![](https://blog.cloudflare.com/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01M3D849S1CS7E3KJZ2C2XX5YM.png&w=715&h=510&f=webp&fit=cover&position=center)

Nếu bạn nhắm mục tiêu Kitesurf bằng AI Agent của mình:

```
{
  "mcp": {
    "kitesurf": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "chrome-devtools-mcp@latest",
        "--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/devtools/browser?browser=kitesurf",
        "--wsHeaders={\"Authorization\":\"Bearer <BEARER_TOKEN>\"}",
        "--category-experimental-webmcp"
      ],
      "enabled": true
    }
  }
}
```

Bạn có thể thấy rằng mô hình AI có thể tương tác với các công cụ WebMCP được hiển thị, thứ mà bạn có thể sử dụng để hoàn thành các tác vụ một cách đáng tin cậy hơn.

![webmcp.gif](https://blog.cloudflare.com/_emdash/api/media/file/01M3J6EAP7FM2KTAK6XNR46KAG.01M3J6EB95VY59A2DQXVR47C3X.gif)

Bạn có thể đọc thêm về cách sử dụng WebMCP với Kitesurf và Browser Run [tại đây](https://developers.cloudflare.com/browser-run/features/webmcp/).

### Các API mới, độ bao phủ WPT tốt hơn

Kể từ thông báo ban đầu, chúng tôi đã bổ sung thêm nhiều tiêu chuẩn trình duyệt để các tác tử có thể hiển thị các trang phức tạp hơn. Danh sách các API mà Kitesurf hỗ trợ đã tăng lên và hiện bao gồm:

- [WebMCP](https://developer.chrome.com/docs/ai/webmcp)
- [CSS Layout](https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/CSS_layout)
- [CSS Object Model](https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model) (CSSOM)
- [CSS Typed OM](https://developer.mozilla.org/en-US/docs/Web/API/CSS_Typed_OM_API)
- [Custom elements](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements)

Chúng tôi đã thêm [phân giải module dựa trên URL](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules), [module JSON](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) và xử lý [import map](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/importmap)—rất quan trọng đối với các trang web tải JavaScript theo từng phần. Ngoài ra, chúng tôi đang sử dụng [registry module của Cloudflare Workers](https://blog.cloudflare.com/workers-module-registry-nodejs/) mới để hỗ trợ nhập (import) từ các URL.

Hành vi của Iframe cũng đã được cải thiện; giờ đây chúng tải đúng thời điểm, được cách ly tốt hơn và hiển thị văn bản chính xác trên nhiều ngôn ngữ và bảng mã hơn.

Như chúng tôi đã nói khi ra mắt, chạy thử nghiệm là cách chúng tôi kiểm soát chất lượng của cả mã nguồn và kết quả mà không làm mất tốc độ trong khi cải thiện Kitesurf. [Web Platform Tests (WPT)](https://github.com/web-platform-tests/wpt) là một bộ thử nghiệm mã nguồn mở dùng chung để kiểm tra xem các trình duyệt có triển khai các tiêu chuẩn web một cách nhất quán hay không.

Chúng tôi hiện đã vượt qua hơn 730.000 [bài kiểm tra phụ WPT](https://github.com/web-platform-tests/wpt) và con số này vẫn đang tăng lên. Đó là nhiều hơn 500.000 bài kiểm tra phụ so với khi chúng tôi ra mắt. Tại đây, bạn có thể thấy sự phát triển theo thời gian, cho đến phiên bản mới nhất kể từ khi chúng tôi bắt đầu dự án:

![730k.png](https://blog.cloudflare.com/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01M3J60VJ30CEM3CTHM9VNGES3.01M3J60WDK0QQH8PZ3JP564V8A.png&w=715&h=378&f=webp&fit=cover&position=center)

### Hiệu quả được tối ưu hóa cho các tác tử

Đối với một tác tử AI, hiệu quả không nằm ở việc tải trang nhanh mà nằm ở độ trễ của vòng lặp tác tử (agentic loop). Để làm cho Kitesurf thực sự mang tính tác tử, chúng tôi đã tối ưu hóa mạnh mẽ các thành phần bên trong của trình duyệt để mọi thao tác duyệt DOM, bộ đếm thời gian và tìm nạp phông chữ đều nhẹ nhất có thể, đảm bảo tác tử dành chu kỳ tính toán của nó cho việc suy luận thay vì chờ đợi trình duyệt xử lý.

Những tối ưu hóa này bao gồm:

- Cải thiện khả năng thực thi JavaScript với ít công việc hơn khi chuyển đổi giữa [Boa](https://boajs.dev/) và DOM, giúp ranh giới này tương thích hơn với các framework Web thực tế. Các thao tác đọc phổ biến như getAttribute, id và parentNode giờ đây có thể được phản hồi bên trong Wasm DOM thay vì thực hiện các chuyến đi lặp đi lặp lại Boa → JavaScript shim → Wasm.
- Kitesurf thực hiện ít công việc lặp lại hơn khi chạy bộ đếm thời gian và tải tập lệnh, đồng thời giải phóng bộ nhớ từ các đối tượng không còn cần thiết. Nó cũng xử lý các đối tượng và lớp nhất quán hơn khi mã di chuyển giữa hai engine JavaScript của nó, giúp chạy các trang bận rộn hiệu quả hơn.
- Kitesurf hiện tải phông chữ khi cần, tìm nạp ít phông chữ hơn mà trang không sử dụng, kiểm tra những ký tự nào xuất hiện trên trang trước khi tìm nạp các tệp phông chữ dành riêng cho ngôn ngữ và hiển thị chữ nghiêng tổng hợp trung thực hơn.

Cùng với nhau, những tối ưu hóa này giúp Kitesurf duy trì hiệu quả cho các tác tử. Mặc dù đã thêm hỗ trợ cho nhiều tiêu chuẩn web hơn—và đưa Kitesurf đến gần hơn với khả năng của các trình duyệt đầy đủ tính năng như Chrome—thời gian thực và mức sử dụng CPU của nó vẫn tương đương với các điểm chuẩn khi ra mắt, và trong một số trường hợp, chúng đã được cải thiện.

![](https://blog.cloudflare.com/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01M3D84CB4SABP5PQS2S03D0VQ.png&w=715&h=447&f=webp&fit=cover&position=center)

### Hoạt động tốt hơn với Browser Run

[Browser Run](https://developers.cloudflare.com/browser-run/) là sản phẩm nền tảng dành cho nhà phát triển của chúng tôi, cho phép bạn lập trình điều khiển và chạy các instance trình duyệt không giao diện (headless). Khi sử dụng API này, bạn có thể chọn từ danh sách các loại trình duyệt mà chúng tôi hỗ trợ, bao gồm cả Kitesurf.

Điều này có nghĩa là chúng tôi phải đảm bảo rằng tất cả các trình duyệt của mình đều được hỗ trợ trên bề mặt API. Kể từ hôm nay, Kitesurf đã có độ bao phủ API Browser Run đầy đủ. Bạn có thể sử dụng Kitesurf với [CDP](https://developers.cloudflare.com/browser-run/cdp/), [Playwright](https://developers.cloudflare.com/browser-run/playwright/), [Puppeteer](https://developers.cloudflare.com/browser-run/puppeteer/) hoặc [MCP](https://github.com/cloudflare/mcp-server-cloudflare/tree/main/apps/browser-rendering).

Một trong những tính năng phổ biến nhất của Browser Run, [Quick Actions](https://developers.cloudflare.com/browser-run/quick-actions/), cung cấp các giao diện đơn giản cho các tác vụ trình duyệt phổ biến như chụp ảnh màn hình, trích xuất nội dung HTML, tạo tệp PDF, v.v. Khi chúng tôi ra mắt Kitesurf, bạn có thể sử dụng Quick Actions từ REST API của chúng tôi. Giờ đây, bạn cũng có thể sử dụng chúng từ bên trong tập lệnh Worker bằng cách sử dụng binding env.BROWSER.quickAction:

```
interface Env {
	BROWSER: BrowserRun;
}

export default {
	async fetch(request, env): Promise<Response> {
		return await env.BROWSER.quickAction("screenshot", {
			url: "https://example.com",
			browser: "kitesurf"
		});
	},
} satisfies ExportedHandler<Env>;
```

### Kitesurf hiện đã chạy được trong terminal

Như chúng tôi đã trình bày chi tiết trong phần [Cách chúng tôi xây dựng nó](https://blog.cloudflare.com/kitesurf/#how-we-built-it) của bài viết thông báo, Kitesurf tách biệt [PageScript](https://blog.cloudflare.com/kitesurf/#pagescript), isolate xử lý phiên trang và chạy mã trang, khỏi [PageRenderer](https://blog.cloudflare.com/kitesurf/#pagerenderer), chịu trách nhiệm tạo ra các pixel thực tế từ các đối tượng trang đã được tính toán.

![Life of a Kitesurf request](https://blog.cloudflare.com/_image?href=https%3A%2F%2Fblog.cloudflare.com%2F_emdash%2Fapi%2Fmedia%2Ffile%2F01M3D84F63JBTNZCF9MWPYFF2W.png&w=715&h=497&f=webp&fit=cover&position=center)

Điều này không chỉ mang lại sự cách ly và linh hoạt tuyệt vời, mà còn cho phép chúng tôi tách rời và di chuyển logic hiển thị ra bên ngoài Kitesurf (ví dụ: đến client hoặc một Worker khác), trong khi vẫn giữ các phần quan trọng về bảo mật ở phía máy chủ, chạy trong mạng lưới của chúng tôi.

Nếu mô hình này nghe có vẻ quen thuộc, có thể là vì Cloudflare có một sản phẩm SASE khác gọi là [Cloudflare Browser Isolation](https://www.cloudflare.com/sase/products/browser-isolation/), chạy tất cả mã web không đáng tin cậy tại biên mạng lưới toàn cầu của chúng tôi trong khi "truyền" dữ liệu hiển thị trở lại các client.

Chúng ta có thể thực hiện điều tương tự với Kitesurf. Để chứng minh điều đó, chúng tôi đã chuyển PageRenderer sang [Playground](https://kitesurf.dev/) Worker và vá phiên bản này để thay vì chuyển đổi dữ liệu cảnh thành hình ảnh, nó xuất ra [Kitty](https://sw.kovidgoyal.net/kitty/graphics-protocol/)—một giao thức đồ họa terminal được hỗ trợ bởi các terminal hiện đại như chính [Kitty](https://sw.kovidgoyal.net/kitty/), [Ghostty](https://ghostty.org/), [WezTerm](https://wezterm.org/) và những ứng dụng khác. Chúng tôi thậm chí còn tiến xa hơn một bước bằng cách thêm chế độ văn bản ANSI thuần túy cho các môi trường không hỗ trợ Kitty.

Kết quả là giờ đây bạn có thể nhanh chóng mở và kết xuất một trang bằng Kitesurf mà không cần rời khỏi ứng dụng terminal quen thuộc của mình. Điều này cực kỳ hữu ích không chỉ vì bạn có thể duyệt Web hiện đại trong nháy mắt mà không cần chuyển đổi ngữ cảnh, mà bạn còn có thể sử dụng công cụ này để xem cách một tác nhân sử dụng Kitesurf "nhìn" một trang web như thế nào.

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