Token-Nutzung & Kostenverfolgung
Verfolge den Token-Verbrauch pro Modell und Sitzung. Lege tägliche Budgets zur Kostenkontrolle fest. Rufe Statistiken über /cost in Telegram ab.
Funktionsweise
- Jeder LLM-Aufruf speichert Input- und Output-Tokens in der SQLite-Tabelle
token_usage - Jeder Datensatz enthält: Modellname, Session-ID, Token-Anzahl und Zeitstempel
- Optional kann ein tägliches Token-Budget festgelegt werden, das LLM-Aufrufe blockiert, sobald es überschritten wird
- Das Budget wird automatisch um Mitternacht UTC zurückgesetzt
Konfiguration
| Key | Type | Default | Description |
|---|---|---|---|
daily_token_budget | integer | null | Maximale Gesamttokens (Input + Output) pro Tag. Null = unbegrenzt. |
config.toml
[state]
daily_token_budget = 1000000 # 1M tokens per dayBudget-Geltungsbereich
Das tägliche Budget ist global — es zählt alle Tokens über alle Sitzungen und Modelle hinweg. Bei Überschreitung geben LLM-Aufrufe einen Fehler zurück, bis Mitternacht UTC.
Telegram /cost-Befehl
Sende /cost in Telegram, um Nutzungsstatistiken anzuzeigen:
text
Token usage (last 24h):
Input: 12,450 tokens
Output: 8,230 tokens
Token usage (last 7d):
Input: 87,320 tokens
Output: 52,180 tokens
Top models (7d):
gemini-3-flash-preview: 98,400 tokens
gemini-3-pro-preview: 41,100 tokensDatenbankschema
| Key | Type | Default | Description |
|---|---|---|---|
id | INTEGER PK | auto | Automatisch inkrementierender Primärschlüssel |
session_id | TEXT | — | Welche Benutzer-/Chat-Sitzung den Aufruf gemacht hat |
model | TEXT | — | Welches LLM-Modell verwendet wurde |
input_tokens | INTEGER | — | An das Modell gesendete Tokens |
output_tokens | INTEGER | — | Vom Modell generierte Tokens |
created_at | TEXT | now | UTC-Zeitstempel des Aufrufs |
Was erfasst wird
- Input-Tokens (Kontext + Benutzernachricht) pro LLM-Aufruf
- Output-Tokens (Modellantwort) pro LLM-Aufruf
- Modellname für Aufschlüsselungen pro Modell
- Session-ID für Verfolgung pro Benutzer
- Zeitstempel für zeitfensterbasierte Abfragen (24h, 7d)