How nguyenphutrong/quotio works
Quotio combines a native macOS command center with a Rust CLI for quota visibility, account management, local proxy/agent setup, and automation. The main user journey is to provide or discover provider credentials, fetch quota usage, then inspect it in the app, terminal, JSON, or local API. The map also preserves proxy lifecycle, agent configuration, and tunnel capabilities. The README and tree establish these product areas; sampled excerpts support only selected runtime links, so uncertain wiring is omitted.
Main entry points: QuotaFeatureController.swift Quota refresh · fetch.rs Usage collection · main.rs CLI commands · Screens App screens
Components 21
macOS app
- App screens
Packages/QuotioCore/Sources/QuotioPresentation/Screens - Dashboard and menu bar
Packages/QuotioCore/Sources/QuotioPresentation/Dashboard/DashboardScreenModel.swift
Shared app core
- Quota refresh
Packages/QuotioCore/Sources/QuotioPresentation/Quota/QuotaFeatureController.swift - Account management
Packages/QuotioCore/Sources/QuotioApplication/Accounts/AccountService.swift - Quota fetchers
Packages/QuotioCore/Sources/QuotioInfrastructure/Quota - Agent setup
Packages/QuotioCore/Sources/QuotioApplication/Agents - Proxy lifecycle
Packages/QuotioCore/Sources/QuotioApplication/Proxy/ProxyLifecycleController.swift - Proxy process
Packages/QuotioCore/Sources/QuotioInfrastructure/Process/ProxyProcessController.swift - Remote tunnel
Packages/QuotioCore/Sources/QuotioApplication/Tunnel/TunnelLifecycleController.swift
CLI runtime
- CLI commands
apps/cli/src/main.rs - Usage collection
apps/cli/src/fetch.rs - Saved accounts
apps/cli/src/accounts/service.rs - Text and JSON
apps/cli/src/output/mod.rs - Loopback REST API
apps/cli/src/server.rs
Provider integrations
- Provider catalog
apps/cli/src/providers/catalog/mod.rs - Provider adapters
apps/cli/src/providers
Credentials and state
- Account credentials
Packages/QuotioCore/Sources/QuotioApplication/Accounts/AuthFileRepository.swift - Local credential sources
apps/cli/src/accounts/sources.rs
Other components
- User
- Terminal user
- AI providers
Connections 19
- User → App screens: uses
- App screens → Quota refresh: requests refresh
- Quota refresh → Account management: reloads accounts
- Quota refresh → Quota fetchers: refreshes quota
- Quota refresh → Dashboard and menu bar: publishes updates
- User → Agent setup: configures agents
- User → Proxy lifecycle: controls proxy
- Proxy lifecycle → Proxy process: starts and stops
- User → Remote tunnel: controls tunnel
- Account management → Account credentials: manages credentials
- Terminal user → CLI commands: runs commands
- CLI commands → Usage collection: collects usage
- Usage collection → Saved accounts: uses account data
- Usage collection → Provider catalog: selects providers
- Usage collection → Provider adapters: fetches usage
- Provider adapters → AI providers: requests quota
- CLI commands → Text and JSON: renders reports
- Terminal user → Loopback REST API: calls API
- Saved accounts → Local credential sources: reads and writes