feat: dual-window 5h/7d monitoring, reset credits, and visual harmonization

This commit is contained in:
enne2
2026-09-06 18:50:30 +02:00
parent f8a4742ac3
commit 75cf3e04b7
6 changed files with 309 additions and 206 deletions
+9 -29
View File
@@ -2,22 +2,18 @@
[![Gitea](https://img.shields.io/badge/Gitea-enne2%2Fkde--codex--dashboard-blue?logo=gitea)](https://git.enne2.net/enne2/kde-codex-dashboard)
Widget desktop 224×224 per KDE Plasma 6 che mostra il **residuo settimanale**
di [OpenAI Codex](https://openai.com/codex), autenticato via OAuth
(profilo ChatGPT).
Widget desktop 224×224 per KDE Plasma 6 che mostra il **residuo a doppia finestra** (Settimanale 7D e Finestra 5 ore) di [OpenAI Codex](https://openai.com/codex), autenticato via OAuth (profilo ChatGPT).
Legge il token OAuth da `~/.pi/agent/auth.json` (provider `openai-codex`
configurato nel [pi agent](https://pi.dev)) e interroga l'endpoint
(non documentato) `GET https://chatgpt.com/backend-api/wham/usage`.
Legge il token OAuth da `~/.pi/agent/auth.json` (provider `openai-codex` configurato nel [pi agent](https://pi.dev)) e interroga l'endpoint `GET https://chatgpt.com/backend-api/wham/usage`.
## Funzionalità
- **Piano**: Plus / Free / Team visibile nell'header.
- **Residuo settimanale** con barra di avanzamento e percentuale.
- **Countdown esatto** al reset (data/ora + giorni/ore/minuti mancanti),
direttamente dal campo `reset_at` della risposta API.
- **Crediti**: saldo crediti extra (se disponibili).
- **Stato limiti**: indicatore visivo se `limit_reached` o `spend_control.reached`.
- **Doppia Finestra Rate Limit**:
- **Finestra Settimanale (7D)** con barra di avanzamento e countdown esatto di reset.
- **Finestra 5 Ore (5H)** con barra di avanzamento e countdown esatto di reset.
- **Crediti di Reset**: badge con conteggio dei crediti di reset gratuiti disponibili (`rate_limit_reset_credits`).
- **Stato limiti**: indicatore visivo di blocco attivo (`limit_reached` o `spend_control.reached`).
- **Aggiornamento automatico** configurabile + pulsante di refresh manuale.
## File
@@ -25,28 +21,12 @@ configurato nel [pi agent](https://pi.dev)) e interroga l'endpoint
```
metadata.json metadata del pacchetto (Plasma/Applet)
contents/config/main.xml schema della configurazione (kcfg)
contents/scripts/usage.sh backend: token OAuth, chiama wham/usage, stampa JSON
contents/ui/main.qml UI (dashboard 224×224)
contents/scripts/usage.sh backend: token OAuth, chiama wham/usage, stampa JSON
contents/ui/main.qml UI (dashboard 224×224)
contents/ui/configGeneral.qml pagina di configurazione
```
## Installazione
```bash
# da sorgente
kpackagetool6 --type Plasma/Applet --install /home/enne2/Dev/org.enne2.codex.usage
# da archivio
kpackagetool6 --type Plasma/Applet --install dist/org.enne2.codex.usage.tar.gz
```
## Dipendenze
- `jq` e `curl` (per lo script di backend)
- il token OAuth di OpenAI Codex in `~/.pi/agent/auth.json` sotto `openai-codex` (impostato da pi con `/login`)
## Note
- L'endpoint `/backend-api/wham/usage` è **non documentato** e potrebbe cambiare.
- Se il token OAuth scade, il plasmoide mostrerà "token scaduto". Riesegui `/login`
in pi (provider `openai-codex`) per rigenerarlo.