Repository navigation
koto 1.4.0
koto 1.4.0
OpenAI provider (#24, #29, #31)
Groups can now run on provider=openai. The guest runs the Codex CLI (0.152.1, pinned by sha256, update check disabled). The credential stays on the host: koto openai-login (ChatGPT subscription) or creds/openai-api-key. The proxy injects it, and the guest only ever sees a placeholder.
- Code mode for gpt-5.6 models: the rootfs ships
codex-code-mode-hostand enables it. - ChatGPT streams
/responseswith no Content-Type. The proxy now detects the SSE from the body, relays it verbatim and records usage.
Budget per provider and auth (#30)
- Budget is tracked per
(provider, auth), where auth issubscription,apikey,upstreamorenv. It records rate-limit windows, credits, and spend: tokens always, and USD only for models with a configured price. - Operator caps in
budget.json(0600):tokens_per_day,usd_per_day,usd_per_month,max_window_used.<window>. A capped key gets a 429 from the proxy before anything goes upstream. koto budget [set|unset|price](admin-only).<koto-context>showsrate-limit (provider/auth): ....- OTel adds
koto.llm.spend.tokensandkoto.llm.budget.refused, and budget series carry anauthattribute.
TUI (#22, #23, #26, #27, #28)
- Ctrl+N: new-group dialog with a model picker fed by the daemon.
- Ctrl+E: edit-group dialog with Save and Save + restart.
- The provider select offers only providers that have a login or credential configured. The Providers RPC carries no secrets.
- Daemon log lines wrap to the pane width instead of being clipped.
Setup and proxy (#25, #12, #20)
- The setup wizard lets you choose the default provider (claudesdk, venice, openai).
KOTO_UPSTREAMoverrides the Anthropic upstream origin, which lets a nested koto chain to an outer koto's proxy.- OTel export errors are rate-limited per signal.
Upgrade note
- koto, koto-tui and rootfs.img are rebuilt.
- firecracker 1.17.0 and vmlinux 6.1.186 are byte-identical to 1.3.1.
- New groups need the new rootfs to use
provider=openai.
koto 1.4.0 for linux/x86_64.
- koto 1.4.0
- koto-tui 1.4.0
- firecracker 1.17.0
- vmlinux 6.1.186
- rootfs.img fedora44
Install: curl -fsSL https://kotovm.com/install.sh | sh -s -- --version 1.4.0,
or from a clone of this tag: make fetch && make install && make wizard.
SHA256SUMS is signed by A6E69ED6BC4779F3281721484CC1AFDE15B64EA3 (SHA256SUMS.asc). Both routes
verify that signature, and the unpacked bytes against the artifacts.sha256
committed at this tag, before anything is installed.
🤖 Generated with Claude Code