justrach/kuri
Browser automation, web crawling, and iOS + Android device control for AI agents. Zig-native, token-efficient CDP snapshots, HAR recording, native adb wire-protocol client, and a standalone fetcher.
Kuri
Summary: A lightweight browser automation tool for AI agents, implemented as a single Zig binary with no Node.js dependencies.
Purpose: To enable AI agents to efficiently interact with web pages by minimizing resource overhead and token usage compared to traditional browser automation frameworks.
How it works: Kuri provides an HTTP API (135 endpoints) to control Chrome via the Chrome DevTools Protocol (CDP) in its main mode, offering token-optimized accessibility snapshots and batch command execution to reduce LLM context and network round-trips. It also includes standalone fetching, interactive terminal browsing, and agentic CLI modes.
Key Features:
- Single Zig binary with zero runtime dependencies
- 135 HTTP endpoints for full browser automation parity
- Token-efficient observations (e.g., 48 tokens for /page/state on Google Flights)
- Batch execution via POST /batch to minimize HTTP calls
- React-compatible mouse and keyboard events
- Four modes: kuri (CDP server), kuri-fetch (standalone fetcher), kuri-browse (interactive terminal), kuri-agent (agentic CLI)
- Prebuilt binaries for macOS (arm64/x86_64) and Linux (x86_64/arm64)
- Experimental Windows support (requires WSL2 for full features)
Audience: Developers building AI agents that require efficient web interaction with low token overhead.
Caveats: Full Chrome automation features require a Chrome/Chromium instance; Windows support is experimental and limited to WSL2 or cross-compilation with stubbed features for certain functionalities.
Related
- Project
- Project
- Project
- Project
- Project