diff --git a/CHANGELOG.md b/CHANGELOG.md index b0aa844..5dcb5ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,25 @@ Alle nennenswerten Änderungen an **Alexis**. Format lose nach [Keep a Changelog](https://keepachangelog.com/de/); Versionierung nach [SemVer](https://semver.org/lang/de/) (prä-1.0: `0.x`). +## [0.3.2] — 2026-06-30 + +### Hinzugefügt +- **Pro-Nutzer-Kostenerfassung (USD).** Zentraler `CostMeter` (ContextVars, + multitool-ready, `app/core/costs.py`); Konzept in `Docs/kosten-erfassung.md`. + - *Exakt:* Alle OpenRouter-Calls (LLM, Web-Suche/Sonar, Koreferenz, Fallback) + senden `usage:{include:true}` und buchen die Ist-Kosten je Kategorie + (`llm`/`web_search`) — inkl. finalem Streaming-`usage`-Chunk. + - *Geschätzt:* lokales LLM (Call-Dauer × Strom-Formel, marginaler GPU-Verbrauch, + `llm_local`), Cartesia-TTS (Zeichen × Preis, `tts`), Notruf (pro Webhook-Alarm, + `alert`, nur Doku — nie Sperre). Sätze konfigurierbar (GPU-Watt/Last, Strompreis, + `usd_per_eur`, Cartesia-Preis, Alarm-Preis). + - `cost_usage`-Tabelle (Nutzer/Tag/Kategorie); Statistik-Spalten **„Kosten (Monat)"** + + **„Ø/Anfrage"**, Tooltip „davon geschätzt" und Summenzeile **„exakt vs. geschätzt"**. +- **$-Tagesbudget pro Nutzer** (`cost_daily_limit_usd`, Pref > global, 0 = unbegrenzt): + ist das Web-Such- oder Kostenbudget aufgebraucht, wird die Web-Suche für den Turn + ausgesetzt (+ freundlicher Hinweis). Admin-Eingabe + globales Live-Setting. +- **Nutzungsstatistik: Spalte „mit Websuche"** je Nutzer (`total_web_searches`). + ## [0.3.1] — 2026-06-30 ### Hinzugefügt diff --git a/pyproject.toml b/pyproject.toml index 68b674a..282c506 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "voice-assistant-gateway" -version = "0.3.1" +version = "0.3.2" description = "Modular voice assistant gateway with pluggable audio endpoints and provider adapters" readme = "README.md" requires-python = ">=3.11"