---
feature: "AI System"
description: "Multi-provider AI integrace pro doporučení, chat, generování kvízů a TTS"
files:
  - wcs/ai/AIHandler.py
  - wcs/ai/AIProvider.py
  - wcs/ai/OpenAIClient.py
  - wcs/ai/AnthropicClient.py
  - wcs/ai/GoogleClient.py
  - wcs/ai/MistralClient.py
  - wcs/ai/GroqClient.py
  - wcs/ai/TTSClient.py
  - wcs/ai/ElevenLabsTTSClient.py
  - wcs/ai/UsageTracker.py
  - wcs/ai/UsageUI.py
  - wcs/ai/DialogAIChatRecommendation.py
  - wcs/ai/DialogAIDebugRequest.py
  - wcs/ai/DialogAIRecommendationHub.py
  - wcs/ai/DialogAddMedia.py
  - wcs/ai/DialogContinueWatching.py
  - wcs/ai/ProgressManager.py
parent: true
children:
  - "AIHandler"
  - "AIProvider"
  - "AI Klienti"
  - "TTS"
  - "Usage Tracking"
  - "AI Dialogy"
  - "Progress Manager"
created: "2026-04-04"
updated: "2026-04-04"
status: "complete"
---

# AI System

Kompletní AI integrace pro plugin. Podporuje 5 AI providerů (OpenAI, Anthropic, Google, Mistral, Groq) pro generování doporučení, chat konverzace a herních kvízů. Zahrnuje TTS syntézu (OpenAI + ElevenLabs), sledování spotřeby a nákladů, a několik fullscreen dialogů pro interakci s AI.

## Soubory

| Soubor | Velikost | Účel |
|--------|----------|------|
| `wcs/ai/AIHandler.py` | 94 KB | Centrální AI handler – orchestrace požadavků |
| `wcs/ai/AIProvider.py` | 10 KB | Abstrakce AI providerů – výběr a konfigurace |
| `wcs/ai/OpenAIClient.py` | 8 KB | OpenAI API klient |
| `wcs/ai/AnthropicClient.py` | 14 KB | Anthropic Claude API klient |
| `wcs/ai/GoogleClient.py` | 8 KB | Google Gemini API klient |
| `wcs/ai/MistralClient.py` | 12 KB | Mistral API klient |
| `wcs/ai/GroqClient.py` | 6 KB | Groq API klient |
| `wcs/ai/TTSClient.py` | 3 KB | OpenAI TTS klient |
| `wcs/ai/ElevenLabsTTSClient.py` | 3 KB | ElevenLabs TTS klient |
| `wcs/ai/UsageTracker.py` | 23 KB | Sledování spotřeby tokenů a nákladů |
| `wcs/ai/UsageUI.py` | 42 KB | UI pro zobrazení statistik spotřeby |
| `wcs/ai/DialogAIChatRecommendation.py` | 99 KB | Fullscreen AI chat/doporučení dialog |
| `wcs/ai/DialogAIDebugRequest.py` | 18 KB | Debug dialog pro AI požadavky |
| `wcs/ai/DialogAIRecommendationHub.py` | 60 KB | Hub pro AI doporučení |
| `wcs/ai/DialogAddMedia.py` | 41 KB | Dialog pro přidání médií přes AI |
| `wcs/ai/DialogContinueWatching.py` | 14 KB | Dialog „Pokračovat ve sledování" |
| `wcs/ai/ProgressManager.py` | 5 KB | Vizuální progress AI operací |

## Child funkce

### AIHandler

- **Co dělá**: Centrální orchestrátor všech AI požadavků. Přijímá prompt, vybere správného providera, odešle požadavek, zpracuje odpověď a vrátí strukturovaný výsledek. Podporuje streaming, systémové prompty, historii konverzace a retry logiku.
- **Klíčové metody**: `send_ai_request()`, `send_chat_request()`, `generate_recommendations()`, `generate_quiz_question()`
- **Vstupy**: Prompt text, systémový prompt, historie konverzace, parametry (teplota, max tokeny)
- **Výstupy**: AI odpověď (text), strukturovaná data (JSON), streaming chunks
- **Závislosti**: `AIProvider`, všichni AI klienti, `UsageTracker`
- **Settings**: `ai_provider`, `ai_context_history_limit`, `ai_debug_mode`

### AIProvider

- **Co dělá**: Abstrakční vrstva pro výběr a konfiguraci AI providera. Čte nastavení, vrací správného klienta a jeho konfiguraci (model, teplotu, max tokeny). Podporuje dynamický přepínání mezi providery.
- **Klíčové metody**: `ai_provider()` – vrací dict s klientem a parametry
- **Vstupy**: Addon settings
- **Výstupy**: Dict s klíči `client`, `model`, `temperature`, `top_p`, `max_tokens`
- **Závislosti**: Všichni AI klienti
- **Settings**: `ai_provider` (openai/anthropic/google/mistral/groq), `openai_model`, `anthropic_model`, `google_model`, `mistral_model`, `groq_model`, `*_temperature`, `*_top_p`, `*_max_tokens`

### AI Klienti

- **Co dělá**: 5 samostatných API klientů, každý implementuje komunikaci s konkrétním AI providerem. Všichni mají shodné rozhraní: přijmou prompty a parametry, vrátí odpověď.
- **Klíčové metody**: `send_request(messages, model, temperature, ...)` – v každém klientovi
- **Vstupy**: Seznam zpráv (role/content), model, parametry generování
- **Výstupy**: Textová odpověď, usage info (tokeny)
- **Závislosti**: `requests` knihovna, `UsageTracker`
- **Settings**: `openai_api_key`, `anthropic_api_key`, `google_api_key`, `mistral_api_key`, `groq_api_key`

### TTS

- **Co dělá**: Text-to-speech syntéza pro hru Milionář a další funkce. Podporuje dva providery: OpenAI TTS a ElevenLabs. Generuje audio soubory a přehrává je přes Kodi.
- **Klíčové metody**: `generate_speech(text, voice, model)` – v obou klientech
- **Vstupy**: Text k syntéze, hlas, model
- **Výstupy**: Audio soubor (MP3), přehrávání přes `xbmc.Player()`
- **Závislosti**: `requests`
- **Settings**: `milionar_tts_provider`, `milionar_tts_voice`, `milionar_tts_model`, `milionar_tts_voice_elevenlabs`, `milionar_tts_model_elevenlabs`

### Usage Tracking

- **Co dělá**: Sleduje spotřebu AI tokenů a náklady po providerech. Ukládá denní a měsíční statistiky. UI dialog zobrazuje přehled spotřeby s grafy a detaily.
- **Klíčové metody**: `track_usage(provider, model, input_tokens, output_tokens)`, `get_daily_stats()`, `get_monthly_stats()`
- **Vstupy**: Provider, model, počet tokenů
- **Výstupy**: Statistiky spotřeby, výpočet nákladů v zadané měně
- **Závislosti**: `user_data` pro persistenci
- **Settings**: `ai_cost_currency` (0=USD, 1=EUR, 2=CZK)

### AI Dialogy

- **Co dělá**: Sada fullscreen Kodi WindowXML dialogů pro interakci s AI:
  - **DialogAIChatRecommendation** – hlavní AI chat s doporučeními filmů/seriálů, konverzační režim
  - **DialogAIRecommendationHub** – hub pro AI doporučení podle kategorií (žánr, nálada, podobné)
  - **DialogAddMedia** – AI dialog pro přidání médií do knihovny s inteligentním vyhledáváním
  - **DialogContinueWatching** – dialog pro pokračování ve sledování rozdělaných titulů
  - **DialogAIDebugRequest** – debug zobrazení raw AI požadavku a odpovědi
- **Klíčové metody**: `show_*_dialog()` funkce pro každý dialog
- **Vstupy**: Addon instance, kontextová data (film/seriál metadata)
- **Výstupy**: Fullscreen Kodi dialogy s interakcí
- **Závislosti**: `AIHandler`, `user_data`, [006-metadata.md](006-metadata.md), [001-router-core.md](001-router-core.md)
- **Settings**: `ai_recommendation_count`, `ai_click_action`, `menu_show_ai_chat`

### Progress Manager

- **Co dělá**: Vizuální indikátor progressu při AI operacích. Zobrazuje animovaný Kodi progress dialog s informací o stavu (generování, čekání na odpověď).
- **Klíčové metody**: `show_progress()`, `update_progress()`, `close_progress()`
- **Vstupy**: Zpráva, procento dokončení
- **Výstupy**: Kodi progress dialog
- **Závislosti**: žádné
- **Settings**: žádné
