How hskl18/token-bar works
Token Bar is a native macOS menu bar monitor that combines Claude and Codex quota readings with locally sampled token activity, then presents provider and combined-capacity views. The main runtime coordinator is TokenBarStore: it refreshes provider quotas and activity, computes priced summaries, and maintains last-known/stale behavior. The app layer starts refresh and responds to local-activity changes; the panel renders the store’s snapshot. Some modules are documented by the README but their call sites were not included in the sampled source, so uncertain wiring is omitted.
Main entry points: TokenBarStore.swift Refresh coordinator · TokenBarApp.swift Menu bar app · ClaudeClient.swift Claude quota client · CodexAppServerClient.swift Codex quota client
Components 22
App coordination
- Menu bar app
Sources/TokenBar/TokenBarApp.swift - Refresh coordinator
Sources/TokenBar/TokenBarStore.swift - Activity watcher
Sources/TokenBar/LocalActivityWatcher.swift - Usage models
Sources/TokenBar/UsageModels.swift - Saved usage state
Sources/TokenBar/StorageKeys.swift
Provider data
- Claude quota client
Sources/TokenBar/ClaudeClient.swift - Codex quota client
Sources/TokenBar/CodexAppServerClient.swift - Runtime locator
Sources/TokenBar/CodexRuntimeLocator.swift
Local activity
- Claude activity sampler
Sources/TokenBar/ClaudeMixSampler.swift - Claude quota sampler
Sources/TokenBar/ClaudeWindowSampler.swift - Codex activity sampler
Sources/TokenBar/CodexMixSampler.swift - Codex window sampler
Sources/TokenBar/CodexWindowSampler.swift - Transcript parser
Sources/TokenBar/CodexTranscriptParser.swift
Usage presentation
- Usage panel
Sources/TokenBar/TokenBarPanel.swift - Price catalog
Sources/TokenBar/PriceCatalog.swift - Weekly capacity
Sources/TokenBar/WeeklyCapacityEstimator.swift - Image usage
Sources/TokenBar/ImageGenerationUsage.swift
Other components
- Mac user
- Claude account
- Claude usage API
- Codex runtime
- Pricing sources
Connections 24
- Mac user → Menu bar app: opens
- Menu bar app → Refresh coordinator: starts refresh
- Menu bar app → Activity watcher: starts watching
- Activity watcher → Menu bar app: signals activity
- Menu bar app → Usage panel: shows panel
- Usage panel → Refresh coordinator: reads snapshot
- Refresh coordinator → Claude quota client: fetches quota
- Claude quota client → Claude account: reads credential
- Claude quota client → Claude usage API: requests usage
- Refresh coordinator → Codex quota client: fetches quota
- Codex quota client → Runtime locator: locates runtime
- Codex quota client → Codex runtime: requests quota
- Refresh coordinator → Claude activity sampler: samples activity
- Refresh coordinator → Claude quota sampler: samples window
- Refresh coordinator → Codex activity sampler: samples activity
- Refresh coordinator → Codex window sampler: samples window
- Codex window sampler → Transcript parser: parses records
- Refresh coordinator → Price catalog: prices activity
- Price catalog → Pricing sources: fetches prices
- Refresh coordinator → Weekly capacity: estimates capacity
- Refresh coordinator → Image usage: updates image usage
- Refresh coordinator → Usage models: builds snapshot
- Refresh coordinator → Saved usage state: persists state
- Refresh coordinator → Usage panel: publishes snapshot