THE BIG PICTURE
Orchestrator
Understands the goal. Breaks it into self-contained tasks. Delegates, checks the result, and decides when the work is actually done.
Example GLM-5.3
OPEN SOURCE. READY FOR REAL WORK.
A planner. A builder. A voice that keeps you in the loop. eagent brings three cooperating actors together in a coding agent built to see it through.
go install github.com/ericflo/eagent/cmd/eagent@latest
Your machine. Your models. Your history.
01 — DIVIDE THE ATTENTION
Planning a project, writing the code, and keeping a person informed are different jobs. eagent gives each one its own actor, context, and model.
THE BIG PICTURE
Understands the goal. Breaks it into self-contained tasks. Delegates, checks the result, and decides when the work is actually done.
Example GLM-5.3
THE FOCUSED BUILDER
Takes one well-defined task and gets to work. Reads, writes, runs, tests, and reports back. Independent tasks can run in parallel.
Example GLM-5.3-Flash
YOUR POINT OF CONTACT
Watches the work and tells you what matters. Shares concrete progress, asks when input is needed, and delivers the final report.
Example DeepSeek V4 Flash
Three independent perspectives. All reading and writing the same local event log.
ONE REQUEST, THREE ACTORS
“Build a Breakout game with touch controls.”
Select a stage to trace the active actors and the flow of work.
The orchestrator reads the project, defines how the pieces connect, and gives each worker a complete brief with acceptance criteria.
OUTPUT → WORKERSTwo task briefs, each with the context needed to start.
Each worker starts with a fresh context. It reads and edits files, runs tools, and tests its part of the game.
OUTPUT → ORCHESTRATORChanged files and task reports, including checks run and any unresolved issues.
The orchestrator inspects the implementation and verifies the result against your request.
OUTPUT → NARRATORA verified outcome, with evidence and any remaining limitations.
The narrator turns the recorded work into a useful final report: what changed, where to find it, how it was tested, and what remains unresolved.
OUTPUT → YOUA clear account of the result. The narrator also shares progress and asks for input while work is running.
02 — BUILT FOR THE LONG RUN
A useful agent has to handle what happens between the first prompt and the final report. That’s where eagent’s architecture earns its keep.
ONE REDUCER, LIVE OR REPLAYED
The log reconstructs tasks, processes, and actor histories. On resume, unfinished tool calls receive explicit error results and running tasks are marked interrupted before work continues.
Orchestrator request includes events through #39.
LOG ORDER
#40task.endWorker finishes mid-call
#41assistantseen_seq: 39
#42tool.resultResult of call #41
REBUILT CONTEXT
#41assistantThe model’s response
#42tool.resultIts matching result
#40task reportDelivered after the call
seen_seq records the request’s visibility boundary.
The worker’s report arrived after that boundary, so replay
delivers it after the response and its tool result.
CONTEXT WITH A PAPER TRAIL
When the orchestrator’s context fills, a worker writes a dossier:
a briefing with file:line citations into the original
logs. Each new briefing can revisit the entire history.
01 THE USER’S GOAL
02 VERIFIED STATE & NEXT STEPS
1788751572547.jsonl:42–58
SPEND TOKENS ON NEW WORK
Stable prompts, deterministic history, and native cache controls. In a documented 55-call orchestrator run, 93% of input tokens came from cache.
Read how caching worksTHE HARNESS STAYS IN CONTROL
Every shell command starts under a managed handle. Read its output, send input, extend the deadline, or stop it. Builds and servers can keep running while the agent handles the next step.
p1 npm run dev serving
p2 go test ./... running
p3 git diff --stat✓ complete
03 — YOUR CHOICE OF MODELS
Give each actor the model that fits its job. Start with a built-in preset, mix providers, add fallback routes, or connect a compatible local server.
The graphical configuration editor shows models, reasoning effort, and where each setting came from. Save your setup as a named bundle and share it with your project.
Explore configurationOpenRouter
OpenRouter
OpenRouter
GLM-5.3 orchestrating, GLM-5.3-Flash working, DeepSeek V4 Flash narrating (OpenRouter)
eagent --preset openrouter-med "Build something good"
Explore a preset here. Configure your own team in
eagent serve.
04 — A WINDOW INTO THE WORK
Run eagent serve and open the web UI. It reads the
same logs as the terminal, including sessions running in another
process. Watch, inspect, and steer from your browser.
eagent serve --preset openrouter-medlocalhost:7331
Expand task reports, model turns, commands, file edits, and outputs. See where the time and tokens went.
Filter actors, search events, inspect JSON, and see context boundaries alongside the work.
Answer questions in the browser while the terminal keeps working. A reply can resume a finished session.
05 — THE WORK SPEAKS
In September 2026, sixteen eagent presets built the same modern Breakout spec, most of them unattended and in parallel: sixteen playable games for about $242 in list-price spend. Two hero-tier runs top the table below, and a resumed run's nebula fix turned last round's black canvas into a shared perfect score. Every build below is staged from its run, with its measured cost, rubric score, and an honest label where it breaks.
Documented September 2026 runs on binary v0.8.0-1-g59ce5c7. Costs use September 2026 list prices; these are individual observations, not performance guarantees. Each game was served statically and played with scripted Chromium at desktop and phone viewports, then scored against the same nine-item rubric (27 points) from code reading plus that play. Statuses: done (the run declared itself finished), stopped · budget (passed verification, then the budget stopped it), stopped · cap (a cost cap killed it mid-verification), halted · provider (provider errors ended it). Full methodology, per-brick evidence, and what the exercise changed in the harness live in the grid record.
Read the Breakout grid record| Preset | Game | Models | Cost | Time | LOC | Rubric | Tests | Status |
|---|---|---|---|---|---|---|---|---|
hero-fable | OVERTOP | Claude Fable 5.1 / Claude Fable 5.1 / GPT-5.6 Luna | $78.11 | 127m | 4,819 | 27/27 | node --test | Stopped · cap |
hero-astra | ASTRA — Breakout. Evolved. | GPT-6 Astra / GPT-6 Astra / GPT-5.6 Luna | $30.39 | 33m | 1,829 | 26/27 | node --test | Done |
opencode-med | BREAKTOP — a modern breakout | GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash | $1.81 | 237m | 3,373 | 27/27 | None | Done |
anthropic-high | OVERTOP | Claude Fable 5.1 / Claude Opus 5 / Claude Sonnet 5 | $40.95 | 277m | 6,975 | 27/27 | node runners | Stopped · cap |
astra | OVERDRIVE — Break through. Let go. | GPT-6 Astra / GLM-5.3-Flash / DeepSeek V4 Flash | $18.34 | 248m | 5,633 | 26/27 | vitest | Done |
openai-med | OVERDRIVE — Break through. Go beyond. | GPT-6 Astra / GPT-5.6 Terra / GPT-5.6 Luna | $12.12 | 27m | 2,229 | 26/27 | node --test | Done |
openai-high | OVERDRIVE — Breakout, Evolved | GPT-6 Astra / GPT-5.6 Sol / GPT-5.6 Luna | $13.69 | 42m | 3,044 | 26/27 | tsx --test | Done |
anthropic-med | Attic Breaker | Claude Opus 5 / Claude Sonnet 5 / Claude Haiku 4.5 | $37.03 | 267m | 10,223 | 26/27 | node runners | Stopped · cap |
muse | OVERDRIVE BREAKOUT | Muse Spark 1.3 / Muse Spark 1.3 / Muse Spark 1.3 | $0.04 | 11m | 1,907 | 26/27 | None | Done |
glm | NEON BREAKER | GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash | $1.22 | 88m | 2,035 | 25/27 | None | Done |
openrouter-high | OVERDRIVE | Kimi K3 / GLM-5.3 / GLM-5.3-Flash | $1.44 | 23m | 1,577 | 25/27 | None | Done |
deepseek | ROOFTOP | DeepSeek V4 Flash / DeepSeek V4 Flash / DeepSeek V4 Flash | $0.53 | 101m | 1,665 | 24/27 | browser smoke (local server) | Done |
openai-low | Orbit Breaker — Neon Arcade | GPT-5.6 Sol / GPT-5.6 Luna / GPT-5.6 Luna | $1.13 | 37m | 616 | 24/27 | physics.test.js | Done |
openrouter-med | OVERDRIVE BREAK | GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash | $0.66 | 23m | 1,459 | 24/27 | None | Done |
qwen | Overdrive Breakout | Qwen 3.8 27B / Qwen 3.8 27B / Qwen 3.8 27B | $4.61 | 113m | 3,556 | 24/27 | None | Done — Mobile viewport-scaling bug — tiny centered playfield |
nous-med | BREAKTHROUGH | GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash | $0.13 | 34m | 1,438 | 22/27 | None | Halted · provider |
hero-fable · Claude Fable 5.1 / Claude Fable 5.1 / GPT-5.6 Luna
Punch a hole, get the ball into the attic, watch the multiplier climb — 8 capsule powers, adaptive 7-tier soundtrack.
$78.1127/27 rubricFeatured hero
hero-astra · GPT-6 Astra / GPT-6 Astra / GPT-5.6 Luna
Two-axis paddle across 5 sectors; breach the array to enter overdrive, where piercing becomes multiball.
$30.3926/27 rubricFeatured hero
anthropic-high · Claude Fable 5.1 / Claude Opus 5 / Claude Sonnet 5
A neon Breakout about getting above the bricks — gated angle/speed bricks, overdrive multiplier, synth soundtrack.
Redemption arc: resumed to fix the nebula black-canvas bug, 26→27 — full story in the Breakout grid record.
$40.9527/27 rubric
opencode-med · GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash
Break through, get on top, go overdrive — rim payouts and reward capsules.
$1.8127/27 rubric
astra · GPT-6 Astra / GLM-5.3-Flash / DeepSeek V4 Flash
Breach the field; balls escaping above charge a burning overdrive meter.
$18.3426/27 rubric
openai-med · GPT-6 Astra / GPT-5.6 Terra / GPT-5.6 Luna
Crack a route topside; breach lanes and cascades multiply everything.
$12.1226/27 rubric
openai-high · GPT-6 Astra / GPT-5.6 Sol / GPT-5.6 Luna
Breach-protocol campaign: punch above, score topside, hit Maximum Overdrive.
$13.6926/27 rubric
anthropic-med · Claude Opus 5 / Claude Sonnet 5 / Claude Haiku 4.5
Break through to the attic, where chained breaks escalate under time-dilation.
$37.0326/27 rubric
muse · Muse Spark 1.3 / Muse Spark 1.3 / Muse Spark 1.3
Go exponential above the bricks; gated bricks and fire, ghost, heavy, multiball powers.
$0.0426/27 rubric
glm · GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash
The real game starts above the bricks — ×2.5 multiplier, lights and shake.
$1.2225/27 rubric
openrouter-high · Kimi K3 / GLM-5.3 / GLM-5.3-Flash
Punch above the field across 6 levels; OVERDRIVE sends combos skyward.
$1.4425/27 rubric
deepseek · DeepSeek V4 Flash / DeepSeek V4 Flash / DeepSeek V4 Flash
Rooftop mode ramps the multiplier and rains bonus balls.
$0.5324/27 rubric
openai-low · GPT-5.6 Sol / GPT-5.6 Luna / GPT-5.6 Luna
Tunnel the wall, trigger the orbit cascade, chain breaks to FRENZY.
$1.1324/27 rubric
openrouter-med · GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash
Graze- and shock-gated bricks with fire, split, giant, laser and sticky balls.
$0.6624/27 rubric
qwen · Qwen 3.8 27B / Qwen 3.8 27B / Qwen 3.8 27B
Five overdrive bands, key/lock and mover bricks, slam paddle, attract demo.
Mobile viewport-scaling bug — tiny centered playfield
$4.6124/27 rubricMobile viewport-scaling bug
nous-med · GLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash
Chaos-doubling multiplier topside; volt chains and vortex booms.
$0.1322/27 rubric
06 — STEP AWAY. STAY CONNECTED.
With Finalechat, the narrator’s conversation comes with you. Get progress, answer a question, send a screenshot, or start a session on your machine from your phone.
Keep eagent serve or
eagent connector run running in the project to revive a
finished thread when you reply. The same session picks up the
conversation.
EAGENT_FINALECHAT=off turns
outbound integration traffic off.
TODAY
TAKE THE HISTORY WITH YOU
Export the native logs, attachments, outputs, and a self-contained web explorer with Go WebAssembly replay. Inspect the state at an event, verify the files, and restore native sources into a new directory. Online publication is a separate opt-in.
07 — PUT IT TO WORK
One binary, your API key, and a directory worth working in. Install with Go 1.24 or later, or build from source. Bash is the only runtime dependency.
go install github.com/ericflo/eagent/cmd/eagent@latest
Make sure Go’s bin directory is on your PATH.
Example provider: OpenRouter.
export OPENROUTER_API_KEY="your-key"
eagent doctor --preset openrouter-med --live
doctor --live makes a tiny paid call per actor to
verify the routes. Prefer another provider? Choose a
preset.
Open your project directory and get going.
cd your-project
eagent --preset openrouter-med "Read this repo and fix the failing tests"
Project instructions in AGENTS.md or
.agents/eagent/INSTRUCTIONS.md guide the
orchestrator and workers.
A FEW COMMANDS TO KEEP CLOSE
eagent -p "Build it"eagent -ceagent -c --answer "Yes"eagent serveeagent sessionseagent prompts exporteagent is free, open-source software under the MIT license. You pay your model providers for API usage. The web UI reports input, output, cached tokens, and estimated cost per actor; totals are marked partial when a model’s price is unknown. Actual cost depends on the task, models, and cache usage.
Yes. Each actor has its own route, model, reasoning effort, and optional fallback. eagent supports OpenAI-compatible Chat Completions, OpenAI Responses, and Anthropic Messages protocols. Configure a compatible local server with its base URL and model name in the project’s JSON configuration.
Under .agents/eagent/sessions/ in your project, as
timestamped JSONL files. There is no session database to run. Your
configured model providers receive the prompts and tool results
they need to do the work. Finalechat conversation mirroring is
optional, and native transcript publication requires a separate
opt-in.
The original logs stay on disk. On orchestrator rollover, a worker builds a dossier from the previous subsessions, with citations back to the full events. The orchestrator can follow those citations using session-reading tools. Workers start fresh per task; only the orchestrator has the dossier rollover mechanism.
Commands run on your machine with your user’s privileges. eagent does not provide a sandbox. Its file tools constrain writes by default, but bash can perform anything your account can. Run it in a workspace and environment appropriate for the task.
Yes. Tune task concurrency, call budgets, narration cadence, context rollover, shell deadlines, and the narrator’s voice. Export and edit the embedded Markdown prompts, keep named configuration bundles in the project, or use the graphical editor. The orchestrator can also create timers, loops, and cron schedules for ongoing work.
Transient errors retry with backoff. Unroutable requests, including exhausted credits, move to a configured fallback for any actor. A worker failure is reported to the orchestrator for follow-up. If orchestrator recovery also fails, the session pauses with its history intact so you can resume it.
SMALL ENOUGH TO UNDERSTAND. BUILT TO DO REAL WORK.