krill-lab / superba
git clone https://github.com/krill-lab/superba.git
—
+1
stars, 24h · #10,205
+32
stars, 7 days · #3,720
+32
stars, 30 days · #14,102
34
★ total · +32% this week
5
forks · 10 open issues
Star history (as recorded here)
LanguageRust
LicenseApache-2.0
Created2026-10-16 (6d ago)
Last push1d ago
Watchers0
OwnerOrganization
Links
README excerpt
# Superba **English** · 简体中文 Superba is a small desktop launcher (with a headless CLI) that points OpenAI Codex — the ChatGPT / Codex desktop app, the `codex` CLI and the SSH remote hosts the app is connected to — at the Krill relay, at any OpenAI-compatible Responses API site, or back to your official ChatGPT login. It switches lines and auth modes **without closing the app**, keeps your conversations visible, and can put everything back exactly as it was. It runs on macOS, Linux and Windows and is written in Rust (egui GUI, Vercel Geist look). | Superba: updates, data and preferences | Providers: lines, authentication, key | |---|---| | | | | **Usage and cost (Krill)** | **Command palette (Cmd/Ctrl+K)** | | | | > Screenshots come from the real binaries running against an isolated home and a > local mock relay (`crates/superba-gui/tools/screenshots/shoot.py`); the account, > key and usage shown are fake. > The alpha.7 capture details and Windows screenshots > include the exact source commit and image hashes. ## Features - **Hot switching.** Change the line (Krill: China Express, Overseas, Multi-carrier CDN) or the auth mode while the desktop app keeps running: the app's Codex core restarts in about a second, the window, the open conversation and the recents list stay, and the next turn goes to the new line with its full history. - **Automatic authentication.** A Krill key is used as a personal access token (PAT) where that works and as a plain API key otherwise: on a line whose edge blocks the PAT endpoints, on a plain-http line, with a custom base URL, through the local router, or when the installed Codex (the app's bundled one or the CLI) is too old for PAT. The reason is always shown. PAT or API key can still be pinned under Advanced. - **Profiles = connection + Codex settings.** A profile is a site, its lines in priority order (the next one is used when the first is down), the auth choice and the key, plus the `config.toml` settings Superba manages for it. Settings come from a catalog built from each Codex release's own schema and feature list (official English descriptions; Chinese ones are written by people), are checked against the Codex versions that read the configuration (app, CLI, each remote host), and every switch previews each changed key with its reason. - **Any OpenAI-compatible site.** Add a Responses API site by its base URL, map Codex model names to the site's names, and probe it (latency, key, model list, one Responses call) before switching. - **Import from cc-switch and AI Toolbox.** Their Codex providers (Krill lines become the Krill preset, other sites custom sites with their lines), previewed with conflicts and keys before anything is saved, and their recorded Codex usage history into the Usage page; their files are only read. - **Remote compaction per provider.** Superba knows whether a provider can compact Codex conversations (checked, or set by you), warns before a switch to one that cannot or th