Kuri – Zig based agent-browser alternative
TL;DR Highlight
Kuri, a 464KB browser automation tool built with Zig, cuts token costs in AI agent loops by eliminating Node.js dependencies.
Who Should Read
Developers integrating web browser automation into LLM agents who are frustrated by the weight or token waste of Node.js-based tools like Playwright/Puppeteer.
Core Mechanics
- Kuri is a browser automation tool written in Zig, completely independent of Node.js. Its binary size is only 464KB, and cold starts are as fast as approximately 3ms.
- It directly controls Chrome's CDP (Chrome DevTools Protocol), communicating with Chrome without a separate runtime. However, Chrome itself must be running somewhere.
- Its core design philosophy is 'for agent loops, not QA engineers.' It's optimized for a cycle of reading page state → minimizing tokens → reliably clicking with stable references → and moving to the next step.
- Compared to Vercel's agent-browser, Kuri used 16% fewer tokens for the entire agent workflow (go→snap→click→snap→eval) on a Google Flights (SIN→TPE) route. (kuri: 4,110 tokens vs agent-browser: 4,880 tokens).
- Several snapshot modes are available, with the `--interactive` mode being the most efficient for agent loops, using only 1,927 tokens compared to the compact mode's 4,328 tokens.
- However, a full JSON snapshot (`--json`) uses 31,280 tokens—7.2 times more than compact—and lightpanda's semantic_tree is similarly expensive at 26,244 tokens. lightpanda also has the additional drawback of sometimes producing empty DOMs because it doesn't execute JavaScript.
- It includes built-in features like A11y (accessibility tree) snapshots, HAR (HTTP Archive) recording, a standalone fetcher, an interactive terminal browser, and security testing.
- Benchmarks were measured using the same Chrome session and the same tiktoken cl100k_base tokenizer, and can be directly reproduced using `./bench/token_benchmark.sh`.
Evidence
- "Reports indicate that the installation script (install.sh) and installation via bun return 404 errors, suggesting the project's infrastructure is not yet fully stable. A comment pointed out that the benchmark in the README is self-published, making it difficult to trust the 16% token reduction claim without independent verification. A user noted that while kuri-fetch advertises itself as 'standalone,' it still requires Chrome to be running somewhere, functioning merely as a wrapper around CDP and not being truly standalone. A user previously using brow.sh (a text-based browser) for page fetching found Kuri more interesting but was somewhat disappointed after confirming its Chrome dependency."
How to Apply
- "If you're implementing tasks where an LLM agent needs to read web pages (price comparison, information gathering, etc.), try Kuri's `snap --interactive` mode instead of Playwright. You can read the same page with fewer than half the tokens, reducing API costs. The token savings compound in multi-step agent loops (page navigation → snapshot → click → snapshot → judgment). Kuri's benefits increase with the number of steps, making it particularly suitable for automating complex web tasks with 10 or more steps. If you've abandoned serverless or lightweight container deployments of Node.js-based browser automation due to binary size issues, consider Kuri's 464KB single binary. The 3ms cold start is practical even in environments like Lambda. For automated security testing, leverage Kuri's built-in security testing features and HAR recording. HAR files allow you to debug the agent's HTTP requests later."
Code Example
# Recreate token benchmark directly
./bench/token_benchmark.sh
# Basic snapshot (compact mode, 4,328 tokens)
kuri snap
# Optimal mode for agent loops (1,927 tokens — 0.4x compact)
kuri snap --interactive
# Full JSON dump (31,280 tokens — for debugging)
kuri snap --json
# Standalone page fetcher (but Chrome must be running)
kuri-fetch https://example.comTerminology
Related Papers
Migrating a production AI agent to GPT-5.6: 2.2x faster, 27% cheaper
마케팅 웹사이트를 자동 생성하는 프로덕션 AI 에이전트를 Claude Opus 4.8에서 GPT-5.6 Sol로 전환한 실전 경험담으로, 단순 모델 교체가 아니라 eval 하네스, 툴 스키마, 캐싱, 추론 리플레이까지 손봐야 했던 과정을 구체적인 수치와 함께 정리했다.
What xAI's Grok build CLI sends to xAI: A wire-level analysis
xAI의 공식 코딩 CLI 도구 Grok Build가 사용자 동의 없이 전체 Git 저장소와 .env 시크릿 파일을 xAI 서버로 업로드한다는 사실이 네트워크 트래픽 분석으로 밝혀졌다.
Remember When It Matters: Proactive Memory Agent for Long-Horizon Agents
LLM 에이전트가 긴 작업 중 중요한 정보를 잊어버리는 문제를 별도의 메모리 에이전트가 '적절한 타이밍에' 끼어들어 해결하는 방법
WebSwarm: Recursive Multi-Agent Orchestration for Deep-and-Wide Web Search
복잡한 웹 검색을 재귀적으로 분해하고 각 노드에 적합한 검색 모드를 동적으로 할당하는 멀티에이전트 프레임워크
Show HN: Reverse-engineering web apps into agent tools
로그인된 웹 앱의 API 호출을 브라우저에서 감시해 자동으로 MCP 도구로 변환하는 에이전트를 만들었다. 소스 코드나 공식 API 문서 없이도 Jira, Spotify 같은 서비스에 AI 어시스턴트를 붙일 수 있다.
Show HN: FableCut – A browser video editor AI agents can drive (zero deps)
타임라인 전체를 JSON 파일 하나로 표현하고 MCP/REST로 AI 에이전트가 직접 편집할 수 있는 브라우저 비디오 에디터로, Claude 같은 AI가 프롬프트 하나로 영상을 자동 컷편집하고 결과를 실시간으로 UI에 반영해준다.