ACIDaemon turns a sentence into finished work on the real web. You describe an outcome, "compare these five suppliers," "watch this listing and tell me when the price drops," "find the ten most interesting open-source browser agents and rank them", and it plans the job, opens the tabs in a Chromium browser running on your own machine, and works the pages: reading, scrolling, filling forms, running code when that's faster, and delegating to subagents that each drive their own isolated browser in parallel. The whole thing is a direct Chrome DevTools Protocol bridge with a hand-built semantic layer. It stamps every interactive element with a reference and resolves clicks by role, label, or text, not a Playwright dashboard. You can watch it live, grab the mouse mid-task, do the tricky part yourself, and hand control straight back.
The hard engineering is in the parts you don't see. Credentials live in a local vault where each secret is separately encrypted (HKDF + AES-256-GCM) and only ever leaves through a short-lived, origin-scoped capability that types the value into the verified live page and returns nothing to the agent, so a hostile or injected model never reads your password. It manages passkeys the same way, through a virtual authenticator that persists across a full browser rebuild but refuses to fake the "user verification" step, pausing for a human instead. It bills in real dollars off an append-only micro-USD ledger with pre-flight reservations, because a dozen subagents spending against the same balance is a genuine double-spend problem. And because agent runs get interrupted, the runtime is two fenced processes over a durable SQLite/WAL queue: if a worker dies mid-task, a replacement adopts the still-open browser tab and continues from where the page actually is.
It runs on your machine, in your profile, on your tailnet, pages render locally, not on a scraping farm, and every task reports exactly what it cost. Bring your own models (Ollama, LM Studio, vLLM, any OpenAI-compatible endpoint) or let ACIDaemon handle inference and bill it to a credit balance.
// Technical highlights
- Credential vault that agents can use but never read: per-entry HKDF/AES-256-GCM, SHA-256-hashed capability tokens scoped to origin+action, direct browser fill returning only metadata, proven across a full create-account → TOTP → logout → re-login cycle with no secrets in the event stream (
apps/api/src/identity-vault.ts,server.ts:63). - Managed WebAuthn over a CTAP2.1 CDP virtual authenticator: encrypted passkey export and restore into a fresh Chromium with
signCountadvancing, and a hard refusal to simulate user verification (apps/api/src/webauthn.ts,browser/cdp.ts:204). - Reservation-based micro-USD billing that prevents concurrent-subagent double-spend, plus hand-verified Stripe webhook signatures and idempotent credit issuance (
apps/gateway/src/reservations.ts,stripe.ts:8). - Direct-CDP semantic browser bridge (no Playwright): 100-element observations with
data-acid-reftagging and multi-strategy target resolution (apps/api/src/browser/cdp.ts:106-120). - Deterministic-first research: four scouts on four isolated Chromium processes, cross-source dedup + explicit ranking, cited dataset that survives total model failure, 92 candidates → 30 selected, proven (
apps/api/src/agent/runtime.ts:150,research.ts:22). - Crash-durable two-process runtime with runtime-instance fencing that re-adopts a still-live browser tab after a worker restart (
ARCHITECTURE.md,PROGRESS.md).