Atomic Agent is a local-first agent that keeps its control loop and all of its state on your own machine. From a terminal interface or the command line it drives a browser, reads and edits files, runs approved shell commands, extracts text from documents, remembers context between sessions, schedules follow-up work, and calls external tools over MCP. It can also be embedded in another application over HTTP or as a Tauri sidecar.
The loop is designed to keep small quantized models usable across long, tool-heavy work. A single inference returns one JSON array of tool calls, constrained by a GBNF grammar so the structure is always valid; independent read-only calls then run in parallel while risky ones wait for approval, and results are compressed rather than pasted back in full. The prompt prefix stays byte-stable within a session so the key-value cache is reused instead of re-encoded each turn, and the tail — conversation, memory, world state, recalled notes, and loaded skill bodies — is clipped to a fixed budget. Ordinary web work uses accessibility snapshots capped at a character budget instead of screenshot-heavy page dumps.
Local models run on the project's own llama.cpp build, TurboQuant: rotated low-bit key-value cache quantization compresses the cache by up to about 6.4 times relative to F16, Lloyd-Max weight quantization with fused Metal and Vulkan kernels keeps quantized weights usable, and purpose-built speculative decoding heads reuse the already-loaded model. A managed mode downloads, pins, and runs the backend and models. OpenAI-compatible endpoints, OpenRouter, AI/ML API, and Gemini are available when configured, with live model catalogues and mid-session switching, and existing Claude Code and Codex subscriptions can be driven through their own signed-in command-line tools.
Memory is a local, inspectable store rather than a growing chat log: versioned profile facts, notes in SQLite with full-text search and optional embeddings, links between memories, distilled lessons, reusable procedures, voting, near-duplicate merging, and eviction by usefulness rather than age. The prompt holds compact pointers, and full bodies are recalled by tool call; reflection runs after a turn, off the main slot.
Published results on the 53-task GAIA validation Level 1 split, with both agents driving the same local model on the same machine under the same step budget and timeout:
| Metric | Atomic Agent | Hermes |
|---|---|---|
| Accuracy | 37/53 (69.8%) | 31/53 (58.5%) |
| Average wall time per task | ~217 s | ~351 s |
| Head-to-head wins | 15 | 9 |
Features
- Local control loop: sessions, memory, tasks, traces, skills, browser profile, and config live on disk as files and SQLite databases
- Grammar-constrained tool calls: GBNF forces a structurally valid JSON array of actions, even from small models
- Cache-frugal prompting: a byte-stable prefix and a clipped tail so the key-value cache is reused each turn
- Parallel reads with approvals: independent read-only calls run concurrently; risky actions ask first
- Browser control: navigation, clicking, typing, tabs, and compact ARIA state through playwright-core
- Web and HTTP: search through Exa, DuckDuckGo, Brave, or SearXNG, plus SSRF-guarded fetch and arbitrary requests
- Files, shell, and git: read, write, edit, patch, glob, grep, diff, archives, approved commands, and read-only git inspection
- Memory store: profile facts, indexed notes with optional embeddings, links, lessons, procedures, voting, and eviction
- Tasks and skills: cron schedules, intervals, webhooks, deferred turns, and Markdown skill playbooks with 17 shipped
- MCP and providers: external MCP servers join the tool registry; a local llama-server by default with cloud providers optional
- Remote control: single-user Telegram operation with owner pairing, inline approval buttons, and opt-in task reports
Built with
Integrates with
Claude Code
Terminal-based agentic coding tool that reads your codebase and runs tasks through natural-language commands
Codex
Lightweight coding agent that runs in your terminal
Exa
Embeddings-based web Search, Contents, Answer and Agent APIs for retrieval inside agents; the separate Exa MCP server is already catalogued.