Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Built with Rust, [GPUI](https://www.gpui.rs/) and [gpui-kit](https://gpui-kit.co
| **Grok** (experimental) | Grok CLI sign-in (`grok login`) | A paid plan's weekly usage and Extra Usage Credits |
| **X Subscription** (experimental) | Grok CLI sign-in and Cursor sign-in | Weekly SuperGrok and Grok Bot limits, Extra Usage Credits |
| **Gemini / Antigravity** (experimental) | Antigravity CLI shared local sign-in; previously saved Gemini Apps sessions | Antigravity coding quotas; Gemini Apps limits when a saved session still works |
| **Muse Code** | Command line (`muse usage --json`, the Muse CLI's existing sign-in) | 5-hour + weekly subscription allowance |

## Features

Expand Down Expand Up @@ -48,7 +49,7 @@ Built with Rust, [GPUI](https://www.gpui.rs/) and [gpui-kit](https://gpui-kit.co
- Windows 10 or later
- [Rust](https://www.rust-lang.org/tools/install) (the MSVC toolchain; `rust-toolchain.toml` pins stable)
- Visual Studio Build Tools with the "Desktop development with C++" workload (its Windows SDK supplies `rc.exe`, which compiles the executable's icon)
- Node.js 20 or later (required for `npm install` / pre-commit hook setup)
- Node.js 22 or later (required for `npm install` / pre-commit hook setup)

CodexBar also runs on macOS and Linux ([#161](https://github.com/hemsoft-dev/codexbar/issues/161)), built from
source. It keeps secrets in the macOS Keychain or the Linux Secret Service and finds the provider CLIs on PATH and in
Expand Down Expand Up @@ -109,6 +110,7 @@ development, `cargo run -p codexbar-app -- --demo` starts the dashboard with sam
10. **Gemini / Antigravity** (experimental): Add a Gemini account in Settings > Accounts and choose **Connect Antigravity**. CodexBar reuses the CLI's local sign-in, or hands off to its normal default-browser sign-in, then verifies usage. Previously saved Gemini Apps sessions remain separate; new website sign-in is unavailable. See [docs/GEMINI.md](docs/GEMINI.md)
11. **Grok** (experimental): Sign in with the Grok CLI (`grok login`) and add a Grok account in Settings (Automatic), or choose OAuth to sign an account in through the CLI in a folder of its own; see [docs/GROK.md](docs/GROK.md)
12. **X Subscription** (experimental): Sign in with the Grok CLI (`grok login`) and to Cursor (step 4), then add an X Subscription account in Settings. It shows what Grok's Settings > Usage shows, each once; see [docs/X_SUBSCRIPTION.md](docs/X_SUBSCRIPTION.md)
13. **Muse Code**: Sign in with the Muse CLI, then add one Muse Code account in Settings with the Command line method. CodexBar runs `muse usage --json` and never starts a sign-in, an update or a model turn; one account reads the CLI's session. See [docs/MUSE_CODE.md](docs/MUSE_CODE.md)

How each sign-in works, and what CodexBar stores and sends, is in [docs/OAUTH.md](docs/OAUTH.md) and [docs/PRIVACY.md](docs/PRIVACY.md).

Expand Down Expand Up @@ -174,6 +176,3 @@ The `src/` folder holds the retired C# / WPF app.
## License

MIT

Muse Code subscription allowance is available through the existing CLI session.
See [Muse Code setup, contract and limits](docs/MUSE_CODE.md).
5 changes: 3 additions & 2 deletions docs/ACCOUNT_CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ account in again with another identity replaces it without asking (see
| Field | Meaning |
| --- | --- |
| `id` | Stable id (32 hex digits for accounts CodexBar creates) |
| `providerId` | `Codex`, `Claude`, `Copilot`, `Cursor`, `OpenRouter`, `OpenCodeGo`, `OpenCodeZen`, `Moonshot`, `Greptile`, `GitHubBilling`, `Gemini`, `Grok` or `XSubscription` |
| `providerId` | `Codex`, `Claude`, `Copilot`, `Cursor`, `OpenRouter`, `OpenCodeGo`, `OpenCodeZen`, `Moonshot`, `Greptile`, `GitHubBilling`, `Gemini`, `Grok`, `XSubscription` or `MuseCode` |
| `displayLabel` | The account's name |
| `enabled` | Whether it is fetched and shown |
| `authenticationMethod` | `Automatic`, `ApiKey`, `CommandLine`, `OAuth` or `BrowserSession` (see below) |
Expand Down Expand Up @@ -45,10 +45,11 @@ the settings folder (`codex\`, `claude\`, `cursor\`). See [PRIVACY.md](PRIVACY.m
| X Subscription | Automatic (the Grok CLI's own sign-in and the Cursor app's) | (experimental; see [X_SUBSCRIPTION.md](X_SUBSCRIPTION.md)) |
| Gemini | | Connect Antigravity through its shared local CLI sign-in and default browser; previously saved Gemini Apps sessions remain separate (experimental) |
| OpenCode Go / Zen | Browser session (a copied dashboard cookie) | OAuth (OpenCode Go): OpenCode's device approval in the browser, sign-in kept by CodexBar |
| Muse Code | Command line (the Muse CLI's existing session, read with `muse usage --json`; one account) | (see [MUSE_CODE.md](MUSE_CODE.md)) |

Accounts CodexBar signs in show **Sign in…**, **Sign in again…** and **Sign out**
in Settings. [OAUTH.md](OAUTH.md) explains each one. Several accounts can be added
for every provider except OpenCode Zen; OpenCode Go takes one OAuth account per
for every provider except OpenCode Zen, X Subscription and Muse Code; OpenCode Go takes one OAuth account per
workspace. Adding the first account CodexBar signs in
for Codex, Claude or Cursor keeps the provider's own sign-in as an account of its
own, so it doesn't disappear.
Expand Down
4 changes: 2 additions & 2 deletions docs/IOS_DIFFERENCES.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ organization's Copilot budgets and whether they stop usage (#233).
| Feature | iOS | Windows |
| --- | --- | --- |
| Dashboard, history charts, alerts, groups and ordering | Yes | Yes |
| Home-screen / lock-screen widgets | Yes | Not yet: Windows widgets need a packaged app ([#93](https://github.com/hemsoft-dev/codexbar/issues/93)-[#95](https://github.com/hemsoft-dev/codexbar/issues/95)) |
| Home-screen / lock-screen widgets | Yes | Windows 11 Widgets board, from the packaged (MSIX) app; the self-signed package needs Developer Mode ([PACKAGING.md](PACKAGING.md#widgets)) |
| watchOS companion | Yes | Not applicable |
| System tray icon and tooltip | Not applicable | Yes |
| Codex credits pool metric | Yes, opt-in per account | Yes, always on; the headline once a window is used up ([CODEX_CREDITS.md](CODEX_CREDITS.md)) |
| Distribution | App Store | Built from source for now; MSIX planned ([#93](https://github.com/hemsoft-dev/codexbar/issues/93)) |
| Distribution | App Store | A self-signed MSIX package with updates from a local channel (`package.ps1`), or a build from source ([PACKAGING.md](PACKAGING.md)) |
10 changes: 9 additions & 1 deletion docs/PRIVACY.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sign-in or key you gave it, and to nothing else.

CodexBar sends requests only to providers that are on and have a sign-in or key
to use. On a first start, before any account is set up, every provider except
Moonshot, Greptile, GitHub Billing, Gemini, Grok and X Subscription is on: one already signed in on this PC (the Codex CLI, Claude Code, the
Moonshot, Greptile, GitHub Billing, Gemini, Grok, X Subscription and Muse Code is on: one already signed in on this PC (the Codex CLI, Claude Code, the
Cursor app, the GitHub CLI) is fetched right away, and one without a sign-in or
key makes no request. To stop one, add an account for it in Settings > Accounts
(the provider's own sign-in, Automatic) and switch that account off.
Expand Down Expand Up @@ -42,6 +42,14 @@ A Gemini account with coding quotas on runs Google's Antigravity CLI
(`agy -p "/usage" --output-format json`) on each refresh; the CLI reads the
quotas from Google with its own sign-in. It runs no model turn.

A Muse Code account runs the Muse CLI (`muse usage --json`) on refresh, reusing
a good result for up to five minutes or until a window resets; the CLI reads the
allowance with its own session.
CodexBar starts no sign-in, update or model turn, removes `META_API_KEY` from
the CLI's environment and keeps only the allowance percentages, reset and
observation times, tier and source. See
[MUSE_CODE.md](MUSE_CODE.md).

Signing an account in from Settings runs the provider's own CLI (Codex CLI,
GitHub CLI, Claude Code, Cursor CLI or Antigravity CLI), which talks to that provider's
sign-in service. CodexBar opens the provider's sign-in page in your default
Expand Down
1 change: 1 addition & 0 deletions docs/SUBSCRIPTION_PLANS.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ Old generic `Pro` stays generic because the previous writer collapsed both
| Gemini | Existing Apps usage and Antigravity CLI usage | The connected usage shapes provide quotas, without an explicit subscription plan field. No plan is guessed from a quota or model list. |
| OpenRouter / Moonshot | Existing credit/balance endpoints | A prepaid balance is not a subscription plan. The generic provider name remains. |
| Greptile | Existing read-only review-activity endpoint | Review counts do not identify a billing plan. The generic name remains. |
| Muse Code | `muse usage --json` (schema 1), `allowance.tier` | Displays the reported tier verbatim, for example Muse Code Power Usage, when it passes the text check in [MUSE_CODE.md](MUSE_CODE.md). The payload reports no billing mode or model entitlement, so none is inferred. |

When no plan is reported, the focused Usage view says the connected source
does not report a subscription plan. Provider-specific lookup failures also
Expand Down
Loading