How krisitvvv/ai-usage-monitor works
AI Usage Monitor is an Electron desktop app for tracking model-provider balances and usage. Users add a provider and credentials, the Electron main process manages provider monitors and scheduled refreshes, collected results are cached and token usage is aggregated, then the workbench and provider-detail pages display the results. The UI also supports progress views and settings, including backup and cache actions. Provider coverage and major screens are documented in the README and tree; several IPC, monitor, and page implementations were not sampled, so uncertain internal links are omitted.
Main entry points: main.js Main process · preload.js IPC bridge · index.js Page router · mimo-monitor.js MIMO monitor
Components 22
Desktop interface
- Vue app
AI-Usage-Monitor-Desktop/src/App.vue - Navigation shell
AI-Usage-Monitor-Desktop/src/components/MainPage.vue - Page router
AI-Usage-Monitor-Desktop/src/router/index.js - Add provider
AI-Usage-Monitor-Desktop/src/components/AddVendorModal.vue - Usage workbench
AI-Usage-Monitor-Desktop/src/components/pages/WorkbenchPage.vue - Provider progress
AI-Usage-Monitor-Desktop/src/components/pages/ProgressPage.vue - Provider detail
AI-Usage-Monitor-Desktop/src/components/pages/ModelDetailPage.vue - Settings and backup
AI-Usage-Monitor-Desktop/src/components/pages/SettingsPage.vue
Electron runtime
- IPC bridge
AI-Usage-Monitor-Desktop/electron/preload.js - Main process
AI-Usage-Monitor-Desktop/electron/main.js - Refresh scheduler
AI-Usage-Monitor-Desktop/electron/scheduler.js
Usage collection
- Usage collector
AI-Usage-Monitor-Desktop/electron/usage-collector.js - DeepSeek monitor
AI-Usage-Monitor-Desktop/electron/deepseek-monitor.js - Kimi monitor
AI-Usage-Monitor-Desktop/electron/kimi-monitor.js - MIMO monitor
AI-Usage-Monitor-Desktop/electron/mimo-monitor.js - Trae monitor
AI-Usage-Monitor-Desktop/electron/trae-monitor.js
Local data
- Usage and vendor files
AI-Usage-Monitor-Desktop/electron/usage-collector.js
Other components
- Desktop user
- DeepSeek service
- Kimi service
- Xiaomi MIMO service
- Trae CN service
Connections 29
- Desktop user → Navigation shell: uses
- Vue app → Navigation shell: renders
- Navigation shell → Page router: routes
- Page router → Usage workbench: opens
- Page router → Provider progress: opens
- Page router → Provider detail: opens
- Page router → Settings and backup: opens
- Add provider → IPC bridge: saves provider
- Usage workbench → IPC bridge: requests stats
- Provider progress → IPC bridge: requests providers
- Provider detail → IPC bridge: requests details
- Settings and backup → IPC bridge: requests settings
- IPC bridge → Main process: forwards IPC
- Main process → Refresh scheduler: registers monitors
- Main process → DeepSeek monitor: starts and stops
- Main process → Kimi monitor: starts and stops
- Main process → MIMO monitor: starts and stops
- Main process → Trae monitor: starts and stops
- DeepSeek monitor → Main process: reports results
- Kimi monitor → Main process: reports results
- MIMO monitor → Main process: reports results
- Trae monitor → Main process: reports results
- Main process → Usage collector: collects and queries
- Usage collector → Usage and vendor files: reads and writes
- Main process → Usage workbench: pushes updates
- Main process → DeepSeek service: fetches provider data
- Main process → Kimi service: fetches balance
- MIMO monitor → Xiaomi MIMO service: reads console data
- Trae monitor → Trae CN service: fetches provider data