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