OPEN SOURCE. READY FOR REAL WORK.

Big work.
One binary.

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.

03Specialized actors
Each with a clear job.
01Self-contained binary
Go + bash. That’s it.
Append-only history
Every event, on disk.
Interrupt. Resume.
Keep the work moving.

01 — DIVIDE THE ATTENTION

Good work takes
a few different hats.

Planning a project, writing the code, and keeping a person informed are different jobs. eagent gives each one its own actor, context, and model.

01

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.

Continuous context

Example GLM-5.3

02

THE FOCUSED BUILDER

Task worker

Takes one well-defined task and gets to work. Reads, writes, runs, tests, and reports back. Independent tasks can run in parallel.

Fresh context for every task

Example GLM-5.3-Flash

03

YOUR POINT OF CONTACT

Narrator

Watches the work and tells you what matters. Shares concrete progress, asks when input is needed, and delivers the final report.

Continuous, compact observations

Example DeepSeek V4 Flash

Three independent perspectives. All reading and writing the same local event log.

ONE REQUEST, THREE ACTORS

How the actors work together.

Example workflow
YOUR REQUEST

“Build a Breakout game with touch controls.”

Select a stage to trace the active actors and the flow of work.

01 / DELEGATION Active in this stage

Turn the goal into focused tasks.

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.

02 — BUILT FOR THE LONG RUN

The details that
keep work moving.

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

Deterministic
session recovery.

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.

Preserve what the model saw.

EXAMPLE TRACE

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.
Read the conversation reducer

CONTEXT WITH A PAPER TRAIL

A fresh context.
The full backstory.

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.

DOSSIER / SUBSESSION 04 ↗

01 THE USER’S GOAL

02 VERIFIED STATE & NEXT STEPS

1788751572547.jsonl:42–58

BRIEFING ↗ ORIGINAL EVENTS

SPEND TOKENS ON NEW WORK

93%

Built to reuse the prefix.

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 works

THE HARNESS STAYS IN CONTROL

Long commands.
Short feedback loops.

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

The right model.
For every role.

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 configuration
OpenRouterOpenCode ZenOpenAIAnthropicTogether AIMetaDeepInfraFireworksNous Portal
Preset explorer
01
ORCHESTRATOR GLM-5.3

OpenRouter

high effort
02
TASK WORKER GLM-5.3-Flash

OpenRouter

medium effort
03
NARRATOR DeepSeek V4 Flash

OpenRouter

low effort

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

The whole session.
Right in front of you.

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
THE ACTUAL WEB UI
127.0.0.1:7331eagent / local workspace
01 / INSPECT

Follow every task.

Expand task reports, model turns, commands, file edits, and outputs. See where the time and tokens went.

02 / UNDERSTAND

Read the timeline.

Filter actors, search events, inspect JSON, and see context boundaries alongside the work.

03 / STEER

Stay in the conversation.

Answer questions in the browser while the terminal keeps working. A reply can resume a finished session.

05 — THE WORK SPEAKS

Sixteen presets.
One brief. Play them all.

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

variance annex

Sixteen presets, one Breakout spec — cost, time, size, rubric score, tests, and run status from results.json.
PresetGameModelsCostTimeLOCRubricTestsStatus
hero-fableOVERTOPClaude Fable 5.1 / Claude Fable 5.1 / GPT-5.6 Luna$78.11127m4,81927/27node --testStopped · cap
hero-astraASTRA — Breakout. Evolved.GPT-6 Astra / GPT-6 Astra / GPT-5.6 Luna$30.3933m1,82926/27node --testDone
opencode-medBREAKTOP — a modern breakoutGLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash$1.81237m3,37327/27NoneDone
anthropic-highOVERTOPClaude Fable 5.1 / Claude Opus 5 / Claude Sonnet 5$40.95277m6,97527/27node runnersStopped · cap
astraOVERDRIVE — Break through. Let go.GPT-6 Astra / GLM-5.3-Flash / DeepSeek V4 Flash$18.34248m5,63326/27vitestDone
openai-medOVERDRIVE — Break through. Go beyond.GPT-6 Astra / GPT-5.6 Terra / GPT-5.6 Luna$12.1227m2,22926/27node --testDone
openai-highOVERDRIVE — Breakout, EvolvedGPT-6 Astra / GPT-5.6 Sol / GPT-5.6 Luna$13.6942m3,04426/27tsx --testDone
anthropic-medAttic BreakerClaude Opus 5 / Claude Sonnet 5 / Claude Haiku 4.5$37.03267m10,22326/27node runnersStopped · cap
museOVERDRIVE BREAKOUTMuse Spark 1.3 / Muse Spark 1.3 / Muse Spark 1.3$0.0411m1,90726/27NoneDone
glmNEON BREAKERGLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash$1.2288m2,03525/27NoneDone
openrouter-highOVERDRIVEKimi K3 / GLM-5.3 / GLM-5.3-Flash$1.4423m1,57725/27NoneDone
deepseekROOFTOPDeepSeek V4 Flash / DeepSeek V4 Flash / DeepSeek V4 Flash$0.53101m1,66524/27browser smoke (local server)Done
openai-lowOrbit Breaker — Neon ArcadeGPT-5.6 Sol / GPT-5.6 Luna / GPT-5.6 Luna$1.1337m61624/27physics.test.jsDone
openrouter-medOVERDRIVE BREAKGLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash$0.6623m1,45924/27NoneDone
qwenOverdrive BreakoutQwen 3.8 27B / Qwen 3.8 27B / Qwen 3.8 27B$4.61113m3,55624/27NoneDone — Mobile viewport-scaling bug — tiny centered playfield
nous-medBREAKTHROUGHGLM-5.3 / GLM-5.3-Flash / DeepSeek V4 Flash$0.1334m1,43822/27NoneHalted · provider
Screenshot of OVERTOP played on a desktop browser

OVERTOP

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

Screenshot of BREAKTOP — a modern breakout played on a desktop browser

BREAKTOP — a modern breakout

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

Screenshot of OVERDRIVE — Break through. Let go. played on a desktop browser

OVERDRIVE — Break through. Let go.

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

Screenshot of OVERDRIVE — Break through. Go beyond. played on a desktop browser

OVERDRIVE — Break through. Go beyond.

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

Screenshot of OVERDRIVE — Breakout, Evolved played on a desktop browser

OVERDRIVE — Breakout, Evolved

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

Screenshot of Attic Breaker played on a desktop browser

Attic Breaker

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

Screenshot of OVERDRIVE BREAKOUT played on a desktop browser

OVERDRIVE BREAKOUT

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

Screenshot of NEON BREAKER played on a desktop browser

NEON BREAKER

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

Screenshot of OVERDRIVE played on a desktop browser

OVERDRIVE

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

Screenshot of ROOFTOP played on a desktop browser

ROOFTOP

deepseek · DeepSeek V4 Flash / DeepSeek V4 Flash / DeepSeek V4 Flash

Rooftop mode ramps the multiplier and rains bonus balls.

$0.5324/27 rubric

Screenshot of Orbit Breaker — Neon Arcade played on a desktop browser

Orbit Breaker — Neon Arcade

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

Screenshot of OVERDRIVE BREAK played on a desktop browser

OVERDRIVE BREAK

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

Screenshot of Overdrive Breakout played on a desktop browser

Overdrive Breakout

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

Screenshot of BREAKTHROUGH played on a desktop browser

BREAKTHROUGH

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

Game

Open full page

06 — STEP AWAY. STAY CONNECTED.

Your agent can
reach your pocket.

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.

Connect Finalechat
Optional integration. Enabled when a token is found.
EAGENT_FINALECHAT=off turns outbound integration traffic off.
9:41
eagent~/projects/next-big-thing

TODAY

Build the game in INSTRUCTIONS.md. Make touch controls feel good.

Running the browser tests

Touch controls are wired up. The browser checks are running against both desktop and phone layouts.

The game is ready. Tests pass, and the paddle tracks correctly on a phone. The files are in index.html, css/, and js/.

Let’s add a high score table.

Session resumed
Message eagent
ILLUSTRATIVE CONVERSATION

TAKE THE HISTORY WITH YOU

A session can become a portable archive.

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.

Explore archives

07 — PUT IT TO WORK

Your next project
starts with a prompt.

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.

01

Get the binary.

go install github.com/ericflo/eagent/cmd/eagent@latest

Make sure Go’s bin directory is on your PATH.

Or check the releases
02

Give it a key.

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.

03

Pick a real task.

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

Fits into the way you work.

eagent -p "Build it"
Run unattended; exit when done.
eagent -c
Continue the latest session here.
eagent -c --answer "Yes"
Answer a question and resume.
eagent serve
Open the live browser workspace.
eagent sessions
Find this project’s past sessions.
eagent prompts export
Make the actors’ prompts your own.

A LITTLE MORE CONTEXT

Good questions.

Read the full documentation
What does it cost?

eagent 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.

Can I use a local model or mix providers?

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.

Where does my session live?

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.

Does a fresh context lose the original history?

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.

Are commands sandboxed?

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.

Can I customize more than the models?

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.

What happens if a provider fails?

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.

Give it something
worth building.

Get started Make it your own

eagent’s web UI · press Escape to close