Skip to content

feat(codex): add multi-account support via Hermes and smart tray averaging - #56

Open
ramonpaolo wants to merge 12 commits into
deviffyy:mainfrom
ramonpaolo:feat/multi-account-codex
Open

feat(codex): add multi-account support via Hermes and smart tray averaging#56
ramonpaolo wants to merge 12 commits into
deviffyy:mainfrom
ramonpaolo:feat/multi-account-codex

Conversation

@ramonpaolo

Copy link
Copy Markdown
Contributor

Description

This PR introduces comprehensive multi-account support for the Codex provider by reading the Hermes auth.json pool.

Features

  • Multi-Account Discovery: OpenQuota now detects all Codex accounts present in the Hermes pool, generating independent metrics, logs, and settings for each.
  • Smart Tray Averaging: The system tray circular icon now aggregates and displays the average health across all pinned Codex metrics, giving a quick overview of all accounts at once.
  • Improved Defaults: The Weekly limit is now the only metric pinned by default for all discovered accounts (including extra ones) to reduce tray clutter out-of-the-box while ensuring the tray icon natively reflects the multi-account average.
  • Linux Tray Context Menu Details: For Linux users where tray hover tooltips are natively unsupported by libappindicator, the tray's context menu dynamically updates to display the average limit (e.g. Average Limit: 90% left) directly inside the menu.
  • Documentation: Updated codex.md explaining the multi-account feature.
  • Tests: Re-aligned the tray presentation automated tests to ensure perfect coverage of the new multi-account pinning logic.

All 548 automated tests continue to pass with a green build.

- Extracts account discovery logic into codex/accounts.rs
- Adapts CodexProvider to spawn multiple UsageProvider instances based on discovered accounts
- Adds native parsing for Hermes credential pool (auth.json)
- Updates IPC commands and Settings to handle codex family scopes
- Passes all provider test suites
Instead of only rendering the gauge for the very first pinned metric in the layout, the tray icon now averages the primary gauge of each available provider. This ensures the icon accurately reflects the overall health and quota remaining across all active accounts.
@ramonpaolo
ramonpaolo force-pushed the feat/multi-account-codex branch from cc67687 to 8c0cd52 Compare August 29, 2026 22:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant