Your AI quotas, always in sight: usage, remaining capacity and spending across your AI subscriptions and APIs on Windows.
Quorb brings your AI limits into one local desktop utility. Check how much you have used, how fast you are consuming it and when your limits reset, without opening a separate dashboard for every provider.
Its edge-docked widget is compact, transparent and always on top. Hover over a provider for its limits, plan, spending, pace and history.
A native Linux port is in progress. The current baseline, support matrix (distros, X11/Wayland, tray, secrets, package format) and known limits live in docs/build-linux.md, tracked under issue #105. Do not claim support for a distro or compositor that is not marked as measured there — compilation does not equal a working experience.
Quorb currently targets Windows as its main platform. There is also a Linux port in progress (see the Linux notes); macOS has been integrated separately for Apple Silicon.
You need Node 22+, Rust with the MSVC toolchain, Microsoft C++ Build Tools and WebView2. See the Tauri prerequisites.
git clone https://github.com/egdev6/quorb
cd quorb
npm install
npm run app:devOpen Settings and enable the providers you use. Claude, Codex, Gemini and Cursor read existing sessions from their official tools; other providers require the credentials listed below.
To build a local installer, run npm run app:build. Outputs are written under src-tauri/target/release/bundle.
No public GitHub release was available when this README was written. The repository is currently private; cloning requires access. Do not assume a public installer is available.
| Command | Purpose |
|---|---|
npm run dev |
Frontend development server |
npm run build |
Type-check and build the frontend |
npm run app:dev |
Run the desktop app with hot reload |
npm run app:build |
Build a local installer |
npm run typecheck |
TypeScript checks |
npm test |
Vitest tests |
cd src-tauri; cargo test |
Rust tests |
npm run bump x.y.z |
Update the version |
npm run setup:signing |
Maintainer signing setup; creates keys and can upload GitHub secrets |
npm run app:release |
Build a signed update; requires signing credentials |
React 19 and TypeScript handle the widget, settings and overlays. Tauri 2 and Rust handle windows, provider requests, local configuration, history and Windows Credential Manager.
src/Widget.tsxandsrc/DetailPanel.tsx: docked strip and usage details.src/Settings.tsxandsrc/Overlay.tsx: settings and notification effects.src/lib/: palette, pace, ordering, updater and tests.src-tauri/src/providers/: provider integrations.src-tauri/src/history.rs,config.rsandsecrets.rs: local data and credentials.
| Provider | Data | Connection |
|---|---|---|
| Claude Pro / Max | Session and weekly limits | Official Claude Code login |
| ChatGPT Plus / Pro · Codex | Session and weekly limits | Official Codex CLI login |
| Gemini | Daily quota per model | Gemini CLI login |
| Cursor | Plan usage and on-demand spend | Read-only app session |
| GitHub Copilot | Premium requests | Fine-grained token with Plan read access |
| OpenRouter | Spend, key limit and credits | API key |
| NaN Builders | Plan quota and daily tokens | Email magic link or API key |
| Anthropic API / OpenAI API | Monthly cost | Admin API keys |
Some integrations use undocumented endpoints, which may change or stop working. Copilot, OpenRouter and the cost APIs use official APIs; NaN combines documented API access with undocumented dashboard endpoints.
- Drag the strip to any screen edge; it becomes vertical on the sides.
- Hover for percentages, reset times, plan and spending.
- Track consumption pace and local history over 24 hours, 7 days or 30 days.
- Receive Windows notifications and configurable effects at the threshold and when limits reset.
- Adjust size, RGB accent, opacity, order, hidden providers and auto-hide.
- Use remappable global shortcuts:
Ctrl+Alt+U,Ctrl+Alt+I,Ctrl+Alt+R. - Update from signed GitHub releases when published; the app checks on startup and every six hours.
Settings guides you through connecting your primary and additional accounts:
- For Claude, Codex and Gemini, use the official CLI login. On Windows, Quorb can install Codex with your confirmation using existing Node/npm; signing in remains a separate step. For Claude and Gemini, copy and run the install command.
- Check one account from Settings, even when it is hidden from the widget. The check uses saved settings, not unsaved form values.
- Save pending account settings, including inherited provider settings, before opening CLI login. A failed configuration save does not start login.
- A session file being found does not prove that authentication is still valid; use the connection check to see the account's current status.
See the connection guide (Español) for the steps, status messages and partial-save errors.
Promotional illustrations, not raw screenshots.
Usage overview![]() |
Usage detail![]() |
Pace and history![]() |
Vertical strip![]() |
Accent colors![]() |
Global shortcuts![]() |
Appearance![]() |
Providers![]() |
Configurable alerts![]() |
|
API keys and the NaN session are stored in the system's secure store (Windows Credential Manager; on Linux, Secret Service; on macOS, Keychain). Official CLI/app session files are read without writing to them or rotating refresh tokens. Gemini refreshes its short-lived access token in memory. If a CLI login expires, sign in again through the official tool.
Configuration and history are stored under the platform user directory (%APPDATA%\es.egdev.quorb on Windows, ~/.config/es.egdev.quorb on Linux). Quorb calls provider endpoints directly; no separate backend is required. History covers up to 30 days.
For WSL sessions, configure the credential file paths in Settings, for example \\wsl.localhost\Ubuntu\home\YOUR_USER\.codex\auth.json, and set the login command to wsl codex login or wsl claude as appropriate.
Code signing and winget distribution, click-through mode and NaN's GLM four-hour window remain roadmap items, not current capabilities. macOS/Linux public releases and a Linux updater are not part of this project yet; Linux local development is covered in the section below.
A native Linux port is under development (tracking issues #105–#108 of the ODD project quorb-linux-local-v1). What works today is local development and testing, not a distributed release:
- Requirements: Node 22+, Rust, and the usual Linux system libraries of Tauri (
libwebkit2gtk-4.1-dev,build-essential,curl,wget,file,libxdo-dev,libssl-dev,libayatana-appindicator3-dev,librsvg2-dev). Run from source withnpm install+npm run app:dev. - The bundle formats and the packaging of an installable local build are still being defined in the packaging unit (#108); do not distribute the artifacts.
- Session and behaviour limits depend on the desktop session, and Settings shows them per surface in the «Sesión de escritorio» block:
- X11: complete behaviour of always-on-top, tray icon, global shortcuts and transparency (the last only with a compositing WM).
- GNOME on Wayland: AppIndicator extension needed to see the tray icon; always-on-top and click-through are limited by Mutter; global shortcut registration may be denied.
- KDE on Wayland: tray and always-on-top supported; the global-shortcut portal may still deny the registration.
- WLR-based compositors (Hyprland, sway): very strict always-on-top; no tray if your bar has no StatusNotifier support.
- Quick diagnostics:
echo $XDG_SESSION_TYPE(session type),echo $XDG_CURRENT_DESKTOP(current desktop),$ quorbdebug from the terminal, plus Settings › Atajos for the shortcut registration errors.
Issues and PRs are welcome, especially provider integrations. A provider lives in src-tauri/src/providers/<name>.rs; wire its configuration and frontend settings as well.
The existing technical documentation is preserved in the original English guide and original Spanish guide. These are historical copies: relative links and release instructions may need updating before reuse.
See CONTRIBUTING.md for the local setup, the provider integration steps and the maintainer release flow.
MIT © Enrique Gómez Navarro. Quorb is not affiliated with Anthropic, OpenAI, Google, Anysphere, GitHub, OpenRouter or NaN Builders; trademarks belong to their respective owners.
⭐ If you find this project useful, consider giving it a star on GitHub ⭐









