Repository navigation
v0.6.0 — Kimi Code
Kimi Code is now measured, alongside Claude Code, Codex CLI and OpenCode.
Read from ~/.kimi-code/sessions/*/*/agents/*/wire.jsonl. Like OpenCode it routes
to any provider, so it covers Moonshot's own models and anything you run locally.
What reading the real logs turned up
- Only
usage.recordis billable. Every turn also writes twotoken_counting
records carrying atokensfield that looks like usage and is not — across 6/6
real turns it equalsinputOther + outputexactly. Summing them would have
roughly doubled every figure. That identity now ships as the adapter's integrity
check. - Usage is per turn, not cumulative. A three-turn session recorded outputs of
276, 239 and 202 — falling, so not a running total. Checked because Codex looked
identical and was cumulative. - Ollama truncates a prompt larger than
num_ctxand reports the tokens it
actually processed. 8,000 tokens against the default 4,096-token window are
reported as 2,050; the same prompt atnum_ctx=16384reports 8,011. The figure
is honest — it is what the model read — and Kimi records it faithfully. It just
is not the size of what you typed.
Pricing
The packaged snapshot now carries 287 models from 16 vendors, up from 132 from
6. DEFAULT_VENDORS had been extended with Moonshot, Zhipu, Alibaba, MiniMax and
the inference hosts, but the file was never regenerated — so a fresh install could
not price Kimi, GLM, Qwen or MiniMax at all, while the docs said it could. Three
tests now hold the file to the vendor list, to pricing one model per supported
agent, and to the count printed in the docs.
deepseek-chat and deepseek-reasoner no longer carry a rate: models.dev dropped
both in favour of versioned names, and no stale figure was carried forward. Set
your own in ~/.burn-o-meter/pricing.toml if you need them.
Fixed
billing.<provider>now works for every agent, not just the two named as
dataclass fields —doctorwas printing advice to set a key the loader ignored.- A
config.tomlomitting any key could not be loaded at all, because the
defaults were read offslots=Truedataclasses, where the class attribute is a
slot descriptor rather than the default value. - The network-egress table no longer lets a narrow terminal elide the one URL it
exists to disclose. - Report tests no longer depend on the width of the terminal running them.
Full notes in CHANGELOG.md.
Install
brew tap devopsinside/burn-o-meter https://github.com/devopsinside/burn-o-meter
brew install devopsinside/burn-o-meter/burn-o-meterThe macOS app bundle is ad-hoc signed: it runs on the machine that builds it, and
distribution needs Developer ID notarisation, which this project does not yet have.