Initial commit
This commit is contained in:
commit
69605d7e54
27 files changed
+5188
No files matched your search
@@ -0,0 +1,68 @@
|
||||
# AI Usage Monitor voor Linux
|
||||
|
||||
Een achtergrondmonitor voor Claude, Codex en Cursor op Hyprland. De daemon haalt usage op via de bestaande CLI-logins. Waybar leest alleen de lokale cache. Er is geen venster.
|
||||
|
||||
De Mac-app in de naastliggende map blijft de bron van de providerregels. Deze Linux-app volgt dezelfde vensters: Claude en Codex tonen het 5-uurs- en weekvenster, Cursor toont **Cursor models**, **Other models** en de resetdatum.
|
||||
|
||||
## Wat je ziet
|
||||
|
||||
De balk toont resterende percentages, bijvoorbeeld `C 38% X 71% Cu 52%`. Een klik ververst meteen. De tooltip bevat resettijden. Kleuren volgen de resterende ruimte: groen boven 50%, oranje vanaf 20%, rood daaronder. Gegevens ouder dan 30 minuten zijn stale. Een mislukte ronde bewaart de laatste succesvolle meting.
|
||||
|
||||
Verversen pauzeert als logind de sessie vergrendelt of het systeem in slaap gaat. Zonder een leesbare sessie blijft verversen uit.
|
||||
|
||||
## Instellingen
|
||||
|
||||
`$XDG_CONFIG_HOME/ai-usage/config.json` (meestal `~/.config/ai-usage/config.json`):
|
||||
|
||||
```json
|
||||
{
|
||||
"refreshMinutes": 5,
|
||||
"enabledProviders": ["claude", "codex", "cursor"],
|
||||
"executableOverrides": {},
|
||||
"showUsedPercentage": false
|
||||
}
|
||||
```
|
||||
|
||||
`refreshMinutes` is 5, 15, 30 of 60. `executableOverrides` kan `claude`, `codex` of `cursor` op een absoluut pad zetten. De cache staat in `$XDG_STATE_HOME/ai-usage/usage.json`.
|
||||
|
||||
De daemon zoekt `claude`, `codex` en `cursor-agent` (daarna `agent`) op `PATH`, in `~/.local/bin` en in Cursor-extensies. Zonder Agent CLI leest Cursor alleen `cursorAuth/stripeSubscriptionStatus` uit `~/.config/Cursor/User/globalStorage/state.vscdb`.
|
||||
|
||||
De tools gebruiken hun eigen login. Deze app leest geen tokens en logt geen CLI-uitvoer. Cursor draait met een netwerkfilter dat alleen usage-endpoints toestaat. Op Linux mag die CLI `secret-tool lookup` gebruiken om zijn bestaande login te lezen; andere subprocessen worden geblokkeerd.
|
||||
|
||||
## Nix
|
||||
|
||||
```nix
|
||||
{
|
||||
inputs.ai-usage.url = "path:/home/avravels/ai-usage/ai-usage-linux";
|
||||
|
||||
outputs = { self, home-manager, ai-usage, ... }: {
|
||||
# in je home-manager configuratie
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
```nix
|
||||
imports = [ inputs.ai-usage.homeManagerModules.default ];
|
||||
|
||||
programs.ai-usage = {
|
||||
enable = true;
|
||||
package = inputs.ai-usage.packages.x86_64-linux.default;
|
||||
};
|
||||
```
|
||||
|
||||
Dit voegt het pakket toe, start `systemd --user` service `ai-usage` met de grafische sessie, en zet `custom/ai-usage` vooraan `modules-right` als Waybar al aan staat. Je eigen Nix-configuratie blijft onaangeroerd tot je deze module importeert.
|
||||
|
||||
## Handmatig
|
||||
|
||||
```sh
|
||||
nix build
|
||||
./result/bin/ai-usage daemon
|
||||
./result/bin/ai-usage status
|
||||
./result/bin/ai-usage waybar
|
||||
```
|
||||
|
||||
Tests:
|
||||
|
||||
```sh
|
||||
cargo test
|
||||
```
|
||||
Reference in new issue
Block a user