AI usage monitoring desktop app - track Anthropic and OpenAI API usage from your system tray.
- System Tray Widget: Monitor AI API usage without opening a full application window
- Multi-Provider Support: Track usage across Anthropic (Claude) and OpenAI (GPT) APIs
- Secure Credential Storage: API keys stored securely in OS keychain (macOS Keychain, Linux Secret Service, Windows Credential Manager)
- OAuth 2.0 Support: Authenticate via OAuth for supported providers
- Usage Tracking: Monitor token usage, costs, and API call history
- Desktop Notifications: Get alerts for usage thresholds
- Local Database: SQLite database for usage history and settings
- Cross-Platform: Works on macOS and Linux
- React 19 with TypeScript
- Tailwind CSS for styling
- Vite for fast development and building
- Tauri 2.0 for native desktop integration
- Tauri 2.0 core framework
- tokio for async runtime
- reqwest for HTTP API calls
- oauth2 for OAuth 2.0 flows
- keyring for secure credential storage
- sqlx with SQLite for local database
- axum for OAuth callback server
- Node.js 18+ and npm
- Rust 1.70+ and Cargo
- System Dependencies (Linux only):
libwebkit2gtk-4.1-devlibgtk-3-devlibayatana-appindicator3-devlibrsvg2-dev
# Ubuntu/Debian
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
# Fedora
sudo dnf install webkit2gtk4.1-devel gtk3-devel libappindicator-gtk3-devel librsvg2-devel
# Arch
sudo pacman -S webkit2gtk-4.1 gtk3 libappindicator-gtk3 librsvgcurl -fsSL https://raw.githubusercontent.com/tommyldev/agent-mana/main/install/install.sh | shComing soon.
wget https://github.com/tommyldev/agent-mana/releases/latest/download/agent-mana_amd64.deb
sudo dpkg -i agent-mana_amd64.debgit clone https://github.com/tommyldev/agent-mana.git
cd agent-mana
npm install
npm run build
npm run tauri buildgit clone https://github.com/tommyldev/agent-mana.git
cd agent-mananpm installnpm run tauri devThis will:
- Start the Vite development server
- Compile the Rust backend
- Launch the desktop application
npm run tauri buildThe built application will be in src-tauri/target/release/bundle/
agent-mana/
├── src/ # React frontend
│ ├── components/ # React components
│ ├── hooks/ # Custom React hooks
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ ├── App.tsx # Main React component
│ ├── main.tsx # React entry point
│ └── index.css # Tailwind CSS imports
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── api/ # API client modules
│ │ │ ├── anthropic.rs
│ │ │ └── openai.rs
│ │ ├── auth/ # Authentication modules
│ │ │ └── oauth.rs
│ │ ├── storage/ # Storage modules
│ │ │ └── keychain.rs
│ │ ├── lib.rs # Library entry point
│ │ └── main.rs # Binary entry point
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # Tauri configuration
├── package.json # npm dependencies
├── tsconfig.json # TypeScript configuration
├── tailwind.config.js # Tailwind CSS configuration
└── vite.config.ts # Vite configuration
npm run dev- Start Vite development servernpm run build- Build frontend for productionnpm run tauri dev- Run Tauri app in development modenpm run tauri build- Build Tauri app for production
@tauri-apps/api- Tauri JavaScript API@tauri-apps/plugin-*- Tauri plugins (sql, notification, store, shell)react&react-dom- React frameworktailwindcss- Utility-first CSS framework
tauri- Core framework with system tray supporttauri-plugin-sql- SQLite database supporttauri-plugin-notification- Desktop notificationstauri-plugin-store- Persistent configurationtauri-plugin-shell- System shell integrationoauth2- OAuth 2.0 authenticationkeyring- Secure credential storagereqwest- HTTP client for API callstokio- Async runtimeaxum- HTTP server for OAuth callbacks
The app stores configuration in:
- macOS:
~/Library/Application Support/com.agentmana.app/ - Linux:
~/.config/agent-mana/
API keys are stored securely in:
- macOS: Keychain
- Linux: Secret Service (GNOME Keyring, KWallet, etc.)
- Implement API Clients: Complete the Anthropic and OpenAI client implementations
- Add OAuth Flow: Implement OAuth 2.0 authentication for supported providers
- Build UI Components: Create monitoring dashboard, settings panel, and usage charts
- Database Schema: Design SQLite schema for usage tracking
- Background Polling: Implement periodic usage data fetching
- Notifications: Set up usage threshold alerts
- System Tray Menu: Design tray icon menu and interactions
[Add your license here]
[Add contribution guidelines here]