Cloudflare, AI 에이전트용 브라우저 엔진 Kitesurf를 오픈소스로 공개
Cloudflare가 AI 에이전트용 브라우저 엔진 Kitesurf를 Apache 2.0 라이선스로 공개했습니다. 개발자는 코드를 수정해 로컬에서 시험하고, Cloudflare Workers 계정에 배포해 Browser Run 관리형 API 대신 사용할 수 있습니다. 계정 배포에는 Workers 유료 플랜이 필요하며, 기본 공개되는 배포 주소에는 별도 인증 계층을 두도록 README가 안내합니다.

Cloudflare는 11월 13일 AI 에이전트용 브라우저 엔진 Kitesurf를 GitHub에 Apache 2.0 라이선스로 공개했습니다. 개발자는 코드를 읽고 수정해 로컬에서 시험한 뒤 자신의 Cloudflare Workers 계정에 배포할 수 있습니다. 기존에는 Cloudflare의 Browser Run 관리형 API를 이용할 수 있었고, 이번 공개로 자체 계정에서 엔진을 실행하는 선택지가 생겼습니다. Cloudflare는 8월 Kitesurf를 처음 소개하며 코드 공개 계획을 밝혔습니다.
Kitesurf는 AI 에이전트가 웹페이지를 열고 JavaScript를 실행하거나 페이지와 상호작용한 뒤 화면 이미지로 결과를 받도록 합니다. HTML을 해석하고 CSS를 적용해 페이지 요소의 배치와 모양을 계산한 다음 화면을 그립니다. Chromium 같은 전체 브라우저를 실행하는 대신 Cloudflare Workers에서 동작하도록 설계됐습니다. Cloudflare는 에이전트가 웹페이지를 불러오고 조작하는 데 필요한 기능에 초점을 둔 엔진이라고 설명합니다.
Kitesurf는 Chrome DevTools Protocol(CDP)로 기존 브라우저 자동화 도구와 통신합니다. CDP는 제어 프로그램이 브라우저에 명령을 보내고 결과를 받는 방식입니다. Puppeteer 같은 CDP 클라이언트를 연결하면 별도의 전용 인터페이스 없이 페이지 이동이나 화면 캡처를 요청할 수 있습니다.
엔진은 세 부분으로 나뉩니다. Engine은 클라이언트 연결과 브라우저 세션을 관리하고, PageScript는 해당 페이지와 페이지 안의 JavaScript를 실행합니다. PageRenderer는 PageScript가 만든 페이지 장면을 화면 이미지로 그려 Engine에 돌려줍니다.
Kitesurf는 Cloudflare 개발자 플랫폼과 API를 바탕으로 Rust로 작성해 WebAssembly로 컴파일한 여러 라이브러리를 사용합니다. Blitz는 HTML을 해석하고 페이지 요소의 구조(DOM)와 배치·그리기를 처리하며, Stylo는 CSS 규칙과 계산된 스타일을 담당합니다. 페이지 JavaScript는 Dynamic Workers에서 실행하고, 그 방식으로 실행할 수 없는 경우에만 Boa를 대안으로 씁니다. Linebender 라이브러리는 글자 배치와 2D 그래픽을, Krilla는 PDF 출력을 맡습니다. 저장소는 Apache 2.0 라이선스지만 포함된 외부 프로젝트는 각자 라이선스를 유지하며, 관련 고지는 NOTICE 파일에 담겨 있습니다.
로컬에서 실행하려면 저장소를 내려받고 의존성을 설치한 뒤 pnpm run dev를 실행합니다. 이 명령은 Wrangler 개발 서버를 열어 로컬 주소에서 엔진을 시험하게 합니다. 해당 주소를 Chrome DevTools에서 열거나 Puppeteer 같은 CDP 클라이언트의 연결 주소로 지정해 웹페이지를 열고 화면을 캡처할 수 있습니다. 첫 빌드에서는 Rust 코어와 의존성을 컴파일하고, 이후 빌드에서는 캐시를 재사용합니다.
수정한 엔진을 Cloudflare 계정에 배포할 때는 저장소 루트에서 pnpm run deploy를 실행합니다. 페이지별로 격리된 Worker를 만들기 위해 Dynamic Workers를 사용하므로 Cloudflare 계정에 배포하려면 Workers 유료 플랜이 필요합니다. 코드를 내려받아 로컬에서 시험하는 것과 계정에 배포해 운영하는 데 필요한 조건이 다른 이유입니다.
공개 저장소의 README는 배포 주소에 인증 계층을 두도록 안내합니다. Kitesurf 엔진 자체에는 인증 기능이 없고, workers.dev 주소는 기본적으로 공개됩니다. 주소를 아는 사람은 DevTools나 Puppeteer로 엔진에 접속해 웹페이지를 열고 Cloudflare 계정에서 외부 요청을 보낼 수 있으며, 계정의 CPU와 Dynamic Workers 사용량도 발생시킬 수 있습니다. README는 배포 주소 앞에 Cloudflare Access나 다른 인증 계층을 두는 방법을 안내합니다.
Cloudflare는 Kitesurf가 활발히 개발 중이며 웹 표준 호환성, 신뢰성, 효율성을 높이는 데 집중하고 있다고 밝혔습니다.