← /blog
· ACE Engineering#product-launch #open-source #sidecar #coding-agents #claude-code #antigravity #observability #cost #telemetry #news #managed-api-stack

ACE Sidecar Is Now Open Source: Local Cost Observability for Coding Agents

The sidecar behind our 13,000-request coding agent analysis is now AGPL-3.0 on GitHub and installable from PyPI. No waitlist, no account, and nothing leaves the machine.

ACE Sidecar Is Now Open Source: Local Cost Observability for Coding Agents

In July we measured one developer's coding agent sessions request by request — 12,902 requests, 4.17 billion prompt tokens, $3,035.09 at list price — and found that 90.5% of the spend was input that had already been sent before. We announced the instrument that produced those numbers and opened a beta waitlist.

The waitlist is closed, because it is no longer needed.

ACE Sidecar is now open source under AGPL-3.0, on GitHub and on PyPI.

uv tool install ace-sidecar   # or: pipx install ace-sidecar
ace up

Requires Python 3.12+. There is no account to create, no key to give us, and no upload step. The dashboard binds loopback; telemetry lands in a SQLite file you can delete.


Why open, and why this part

We build a middleware proxy that reduces what companies spend on inference at scale. The coding agent case is a small corner of that problem — one machine, one developer, a bill measured in hundreds rather than millions.

It is also the corner where the reasoning is checkable by hand. A developer can run the sidecar against their own transcripts and audit every number against their own invoice, which is not something we can offer for a proxy sitting in front of a company's production traffic. Publishing the small instrument is the most honest way to show how the larger system thinks about cost.

The measurement method is more useful in the open than the conclusions are on their own.


What it does

The sidecar is a local reverse proxy. It relays traffic unchanged, prices each turn against a versioned rate catalog, and reads your existing agent transcripts off disk — so there is history to look at on the first run, not after a week of collecting.

It sees more than one agent

ACE Sidecar dashboard showing a heterogeneous agent environment: Claude Code and Antigravity side by side with per-agent cost, sessions, turns and models, above eleven fleet metrics

Claude Code and Google Antigravity land in the same view, normalised onto the same metrics. The two are instrumented differently and it matters: Claude Code routes through the proxy and needs one environment variable, while Antigravity is read from its transcripts on disk and needs no setup at all — its sessions appear whether or not the sidecar was running when they happened.

Every number carries its arithmetic

The spend section: list-price cost, cache savings, cache hit ratio and peak context, above a rate card giving input, output, cache-read and derived cache-write prices per model with the source and date

Cost is computed per turn from published provider prices, with the rate card printed on the page next to the total, the formula written out, and the date each price was checked. Cache-write rates are marked as derived rather than quoted, because providers publish one input price and a multiplier rather than a separate figure.

A model with no catalog entry is recorded as UNPRICED, not as free. A cost tool that silently reports zero is worse than one that fails loudly.

Findings, not just charts

The recommendations section: skill proposals mined from repeated command sequences, and a context-clearing recommendation citing peak context of 995,627 tokens against a 200,000 target

Each recommendation fires off a measured threshold in your own transcripts and carries what it would save, what it would cost, and the risk of acting on it. Where a lever's value is a ceiling rather than a realised saving, the page says so.

That distinction came out of the analysis. The lever we originally scheduled first — collapsing duplicate file reads — measured $0.33 across 36 days, because 97.6% of apparent "repeat reads" request a different line range and are not duplicates. It was dropped. Truncating large bash outputs, ranked below it on estimate, measured $54.94 on the same corpus — the full ranking is here.

It ranks the levers by what they are worth on your data

The sidecar's left rail: four optimisation levers ranked by headroom — bash truncate $78.07 at 2.36% of billed and LOW risk, age-out $33.34 at 1.01% and HIGH, supersede $7.06 at 0.21% and LOW, read de-dup $0.81 at 0.02% and NONE — with a note that none are wired and each is scored alone

The rail ranks every optimisation lever by the money it would actually recover on your transcripts, with the share of your bill it represents and the risk of applying it. This is the part that is easy to get wrong from first principles: the ordering here is frequently not the ordering an estimate produces.

Two caveats are printed on the panel rather than buried in a footnote. Each lever is scored alone, so the figures overlap and do not sum — § 04 composes them. And none of them are wired: this release measures.

It mines your own workflows

The workflow skill miner: three detected command patterns installed as SKILL.md rules, above a table of six installed skills with their triggers, agents and disk locations

Repeated multi-step command sequences in your transcripts are detected and offered as reusable SKILL.md rules, installable into .agents/skills/ in one click.

And it exports

15 metrics in Prometheus text exposition format at GET /metrics, for Prometheus, Grafana Alloy, OpenTelemetry Collector, VictoriaMetrics or Datadog. The dashboard is the default view, not the only one.


What it does not do yet

It does not reduce your bill — this release only measures. That is deliberate, and it is the first of three modes the sidecar ships with, visible in the rail:

Mode Status What it does
observe shipping now Relays every request byte-for-byte and records only its usage
shadow phase 1 Scores a rewritten prompt alongside the real one, without sending it
enforce phase 2 Applies the levers to the request actually sent

The order matters. A lever that looks worth $300 on an estimate and $0.33 on a measurement should never have been applied to live traffic first, and one of ours was exactly that. Shadow mode exists so a rewrite can be scored against the request it would have replaced before anyone trusts it, and enforce only follows for levers that survive.

The ranking is already there — that is the rail above, live on your own transcripts today. What is missing is not the analysis but the wiring: phase 1 turns those rankings into rewrites scored against the request they would have replaced, and phase 2 sends the survivors.

It does not phone home. No account, no telemetry endpoint, and no network call the sidecar makes on its own behalf.

It does not cover every agent. Claude Code and Antigravity are supported today.


Contributing

Run it, and tell us what breaks. Issues and pull requests are open, and a note saying only that it worked on a setup we have not tried is worth sending too — it is a small project and the failure modes we know about are the ones we have hit ourselves.

The dashboard masks your home directory everywhere it renders a path, so a screenshot does not publish your account name or your repository names. What you share beyond that is yours to decide.


Status

Version 0.1.1 is current. It is early software: the interfaces are stable enough to depend on for a week, not for a year, and the changelog says what moved. Issues and pull requests are welcome, and so is a note saying only that it worked.

Questions, or team-wide deployment — contact@acefleet.dev.