Files
ai-usage/README.md
T
2026-10-09 15:45:07 +02:00

2.6 KiB

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):

{
  "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

{
  inputs.ai-usage.url = "path:/home/avravels/ai-usage/ai-usage-linux";

  outputs = { self, home-manager, ai-usage, ... }: {
    # in je home-manager configuratie
  };
}
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

nix build
./result/bin/ai-usage daemon
./result/bin/ai-usage status
./result/bin/ai-usage waybar

Tests:

cargo test