feat: dashboard KDE Plasma 6 per residui Ollama Cloud con countdown reset

Widget desktop 224x224 che mostra:
- residuo sessione (5h) e settimanale (7d) con barre colorate
- conteggio richieste, costo 4 settimane, modello top
- timer di reset stimati (calibrati al primo reset osservato)
- backend bash che chiama https://ollama.com/api/usage
- legge la chiave API da ~/.pi/agent/auth.json (provider ollama-cloud)
This commit is contained in:
Matteo Benedetto
2026-08-20 18:34:38 +02:00
commit 374a54d46a
8 changed files with 731 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
# Ollama Cloud Usage — plasmoide KDE Plasma 6
Widget per KDE Plasma 6 che mostra il **residuo della sessione (5h)** e il
**residuo settimanale (7d)** di [Ollama Cloud](https://ollama.com), il provider
`ollama-cloud` configurato nel [pi agent](https://pi.dev).
Legge la chiave API da `~/.pi/agent/auth.json` (provider `ollama-cloud`, lo
stesso usato dall'estensione `pi-ollama-cloud`) e interroga l'endpoint
**non documentato** `GET https://ollama.com/api/usage`. L'API restituisce
`usage` come frazione 0..1 **già usata**, quindi il residuo è `1 - usage`.
## Funzionalità
- **Icona nel pannello** + due mini-barre verticali (5h / 7d) colorate in base
al residuo: verde ≥ soglia gialla, giallo tra soglia rossa e gialla, rosso
sotto la soglia rossa. Click = apre il popup.
- **Popup** con due barre grandi, percentuale residuo/usato, conteggio richieste
per modello e costo attività delle ultime 4 settimane.
- **Aggiornamento automatico** ogni N secondi (default 300, come l'estensione
pi) + pulsante di refresh manuale.
- **Configurabile**: intervallo di aggiornamento, soglie di colore, visibilità
del costo attività e dei conteggi per modello.
## File
```
metadata.json metadata del pacchetto (Plasma/Applet)
contents/config/main.xml schema della configurazione (kcfg)
contents/scripts/usage.sh backend: legge la key, chiama /api/usage, stampa JSON
contents/ui/main.qml UI (compact + full representation)
contents/ui/LimitRow.qml riga di residuo riutilizzabile
contents/ui/configGeneral.qml pagina di configurazione
```
## Installazione
```bash
# dal sorgente
kpackagetool6 --type Plasma/Applet --install /home/enne2/Dev/org.enne2.ollamacloud.usage
# aggiornamento dopo modifiche
kpackagetool6 --type Plasma/Applet --upgrade /home/enne2/Dev/org.enne2.ollamacloud.usage
```
Poi "Aggiungi widget" → cerca "Ollama Cloud Usage" e trascinalo nel pannello o
sul desktop.
## Dipendenze
- `jq` e `curl` (per lo script di backend)
- la chiave API di Ollama Cloud in `~/.pi/agent/auth.json` sotto
`ollama-cloud` (oppure nella variabile `OLLAMA_API_KEY`)
## Note
- L'endpoint `/api/usage` è **non documentato** e potrebbe cambiare o sparire:
lo script gestisce i casi 404/401/429/5xx restituendo un JSON di errore che il
plasmoide mostra in modo leggibile.
- La chiave API non viene mai stampata né passata come argomento del processo.