Skip to content
yinnhoPublic

About

Engine-first browser for AI agents. One Rust binary, built-in V8, no Chromium — HTTP is the only protocol face.

Topics

Resources

Security policy

Stars

12 stars

Watchers

0 watching

Forks

Repository files navigation

Diting

The browser engine built for agents. One Rust binary, zero Chromium, zero Docker. See, read, find, act, remember.

curl -fsSL https://raw.githubusercontent.com/yinnho/diting/main/install.sh | sh
diting  # → HTTP on :8089, everything below is plain REST

Why agents need their own browser

Existing "browser automation" was built for humans or one-shot scraping. Agents need five things at once — see, read, find, act, remember — and they need them cheap:

  • 7.6× faster to agent-usable text than headless Chrome (same 20 pages, same network, p50 532 ms vs 4 053 ms)
  • ~25 MB cold start, <40 MB in everyday static use (measured whole-process); even a heavy JS page runs ~150 MB against Chrome's ~2 GB per page
  • Zero hard failures where Chrome's dump-DOM produced nothing

An agent's total cost is browser efficiency × model efficiency. This is the browser half.

What it does

  • Full browser, no Chromium — V8 + an owned Rust HTTP/CSS/layout/paint stack in one binary. Screenshots and rendering are built in; there is nothing to download and nothing to sandbox. Drove the most popular Chrome-based agent browser for a day and wrote down the difference first-hand: WHY-NO-CHROMIUM.md — 2.4× faster cold start, one dependency instead of a second browser, flat memory curve, receipts per response
  • Real TLS fingerprints — production-grade impersonation that passes edge checks where fingerprint-less engines eat 403s; CAPTCHA and challenge pages are detected, waited on, and reported instead of handed over as content
  • Stateful sessions — login state injects, exports, and survives restarts. The same session id comes back logged in
  • Tiered rendering — static pages answer in ~100 ms; V8 spins up only when a page actually needs JS. Every response says which tier served it
  • Meta-search — 20 engines across 7 categories (including the Chinese web), merged and deduplicated; reads land with section-level snippets
  • Flows — a multi-step interaction an agent figured out becomes a replayable JSON document: reruns cost zero model tokens
  • Documents — deterministic markdown → HTML + diagrams, byte-identical by construction; page sets export to PDF / PPTX / DOCX
  • Receipts — every fetch reports its tier, redirect trail, and content hash. Agents act on what actually happened
  • Local memory — fetch/search cache (SQLite FTS5) with CJK matching, so re-reads don't re-pay

Quick start

# One-line installer: macOS (Apple Silicon / Intel), Linux (x86_64 / arm64), Windows (git-bash)
curl -fsSL https://raw.githubusercontent.com/yinnho/diting/main/install.sh -o install.sh
less install.sh && sh install.sh

# Or build from source (full features)
cargo build --release --features stealth,screenshot

diting &  # listening on :8089
curl :8089/health          # → {"status":"ok","engine":"diting"}
curl -X POST :8089/fetch -d '{"url":"https://example.com"}' | jq -r .markdown
curl -X POST :8089/search -d '{"query":"rust browser engine"}' | jq '.results[:3]'
curl -X POST :8089/session/create -d '{"url":"https://example.com"}'  # → session_id

Where it sits

Computer-use agents come in two layers: GUI-layer stacks drive a whole desktop; engine-layer browsers make the page itself the machine. Diting is the engine layer — DOM actions in, structured state out, one process per session instead of a VM. It is a real-time retrieval instrument, not a crawler: no link-following recursion, built-in per-domain budgets, robots.txt opt-in.

Self-host under Apache-2.0, or use the hosted instance at browser.aginx.net.

Documentation

Star History

Star History Chart

Acknowledgements

diting's JavaScript runtime layer builds on work from the Obscura project (Apache-2.0). Many compatibility fixes track Obscura changes and are credited in source comments as upstream <commit>. See NOTICE.

License

Apache-2.0 — see LICENSE and NOTICE.

About

Engine-first browser for AI agents. One Rust binary, built-in V8, no Chromium — HTTP is the only protocol face.

Topics

Resources

Security policy

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages