A small, local-first tray dashboard for API balances and remaining budgets.
Download · Build it yourself · Русский · 中文
PICO PU API Control lives in the system tray and shows the current balance or remaining percentage for each configured provider. The default refresh interval is 30 seconds. The tray is intentionally lightweight: it does not run a local AI model, does not proxy prompts, and stays idle between small balance requests, so CPU and memory use remain low in normal operation.
Click the tray icon to open the full overview. Right-click it to change the provider shown in the icon. Switching from DeepSeek to another configured provider immediately changes the number in the tray and the tooltip.
| Provider | Balance mode | What is shown |
|---|---|---|
| DeepSeek | Automatic | Official balance endpoint, amount and remaining percentage |
| OpenRouter | Automatic | Official key endpoint, limit/usage and remaining percentage |
| OpenAI, Claude, Qwen, MiMo, Grok, Gemini, GLM, Kimi | Manual | User-entered current balance and topped-up amount; percentage = current / topped up |
Manual mode is deliberate. A regular API key for many providers does not expose a comparable public billing balance. For OpenAI (and the other manual providers) you must enter two amounts yourself: the current balance and the amount you topped up. The percentage is then calculated as current / topped up. The app does not invent or guess either number.
![]() |
![]() |
| A compact percentage in the tray | Balance and percentage on hover |
![]() |
![]() |
| Switch providers or add another API key | System language or a fixed language |
The latest release contains ready-to-run self-contained builds:
On Windows, run the .exe. On Linux or macOS, unpack the archive, keep the native sidecar libraries next to the executable, then run:
chmod +x PicoPuApiControl
./PicoPuApiControlThe macOS builds are unsigned portable binaries. They do not require the App Store or Apple Developer credentials for local use. If macOS shows a Gatekeeper warning, use the system's Open action for that file.
The repository contains the complete source, tests, Dockerfile and build script. No API key is included.
Requirements:
- Docker Desktop or Docker Engine;
- PowerShell for the supplied
build.ps1script.
Build and test everything:
./build.ps1The Docker build runs the Core test suite and publishes four self-contained targets:
dist/PicoPuApiControl.exe
dist/linux-x64/PicoPuApiControl
dist/osx-arm64/PicoPuApiControl
dist/osx-x64/PicoPuApiControl
The same Docker build is checked automatically by GitHub Actions. The WinForms and native desktop windows require their host operating systems, so the container validates the business logic, mock balance requests, compilation and publishing—not a real Windows/macOS/Linux GUI session.
- API keys are stored locally beside the executable in
config.json. - On Windows, keys are protected at rest with the current user's DPAPI when possible.
- Keys are sent only to the selected provider's official balance endpoint when automatic mode is used.
- Manual balances never leave the computer.
- There is no prompt proxy, cloud account, analytics service or bundled secret.
Before publishing or sharing a build directory, remove config.json and error.log. Both are ignored by Git.
The UI supports English, Russian, Simplified Chinese, Spanish, German and French. The default is the Windows/system language; if it is not supported, English is used. A fixed language can be selected from the tray menu or the overview window.
PicoPuApiControl/
├── PicoPuApiControl.Windows/ # Windows tray client and WinForms UI
├── PicoPuApiControl.Core/ # Providers, balance clients, config and calculations
├── PicoPuApiControl.Tests/ # xUnit tests and mock HTTP coverage
├── PicoPuApiControl.Desktop/ # Avalonia Linux/macOS desktop client
├── docs/images/ # Public UI screenshots
├── Dockerfile
└── build.ps1
No open-source license has been selected for this repository yet. You may inspect and build the project locally; contact the author before redistributing modified or packaged copies.




