Releases: SuperMarioYL/agentfuse
v0.3.0
v0.2.1
Changelog
AgentFuse v0.2.0 — multi-provider + tiktoken fallback
v0.2.0 deepens the wedge: same single-binary kill-switch, now covering five provider families.
New providers
- Gemini (
:generateContent/:streamGenerateContent) — native wire format handler. - DeepSeek — OpenAI-compatible shape, but the handler tolerates DeepSeek's
usagefield placement in both streaming and non-streaming responses. - OpenAI-compatible passthrough — catch-all for Groq / Mistral / xAI / Together / OpenRouter / any host with an OpenAI-shape API. Routed via
provider = "openai_compat"+upstream_urlin.fuse.toml.
Stream-usage gap closed
internal/tokens/tiktoken.go wraps github.com/pkoukk/tiktoken-go. When an upstream's streamed response omits usage (common for OpenAI-compat endpoints), the proxy re-tokenizes prompt + completion locally and uses the price table to estimate cost. Completion length rounds up to the nearest 100 tokens — under-billing is unacceptable.
Price table
- Bundled snapshot at
assets/prices.toml(and embedded copy atinternal/prices/prices_bundled.tomlbecause//go:embedcan't reach outside the package). - User overrides land at
~/.fuse/prices.toml— deep merge, user keys win. - Zero network. No remote price fetcher of any kind.
Trust premise unchanged
This binary never talks to anything other than the provider you point it at.
No telemetry, no auto-update check, no remote price endpoint. The same promise as v0.1.
Tests
43 PASS / 0 FAIL across 7 packages, including 4 gemini / 3 deepseek / 4 openai_compat / 6 tiktoken / 6 prices tests. v0.1 tests unchanged.
Migration from v0.1.0
Drop-in. Existing .fuse.toml files work unchanged; new fields (provider, upstream_url) are opt-in. See examples/.fuse.toml.{gemini,deepseek,openai-compat} for the new shapes.
What's next
If price-table drift becomes painful, v0.3.0 will revisit either UX or the bundled-snapshot model. Kill criteria documented in mvp_plan_v0.2.0.md §8.
🤖 Auto-shipped from ai-radar pipeline scan-2026-05-17-2013, amendment v0.2.0.
AgentFuse v0.1.0 — first runnable scaffold
First runnable release of AgentFuse — a per-cwd CLI spend-cap / billing kill-switch proxy for coding agents.
Highlights
- m1 — intercept & log:
fuse run <cmd>launches a local HTTP proxy and patchesANTHROPIC_BASE_URL/OPENAI_BASE_URLso child processes route through it. Per-(project, day) usage is recorded to a bbolt ledger. - m2 — enforce hard-cap:
.fuse.toml(cap_usd,window,account). Pre-flight cost estimate; HTTP 402 +agentfuse:stderr line on cap breach.fuse cap +N|-N|=Nfor atomic edits. - m3 — account routing:
~/.fuse/accounts.tomlmaps named accounts to API keys; the proxy rewrites credentials per-project.
Status
- All three milestones land in one release — they form the user-visible product (intercept + cap + account routing).
- Polished tier build: bilingual README (en/zh), examples/, CHANGELOG, LICENSE.
See CHANGELOG.md for the full list of additions.
🤖 Auto-shipped from ai-radar pipeline scan-2026-05-17-2013 (winner: t7neg04, score 0.6787).