Kiki – český hlasový asistent pro Windows
Kiki je desktop hlasový asistent inspirovaný stylem Jarvis. Probouzí se slovem „Kiki“, rozumí česky, odpovídá českým hlasem a umí ovládat PC, zjišťovat počasí, číst kalendář a ovládat chytrou domácnost přes Home Assistant.
Požadavky
- Windows 10/11
- Python 3.11 nebo novější
- Mikrofon a reproduktory/sluchátka
- API klíče (viz níže)
Rychlá instalace
cd C:\Users\coffee\Desktop\Kiki
copy .env.example .env
copy config.yaml.example config.yaml
instalovat.bat
spustit.bat
Poznámka: Na Windows s Pythonem z Microsoft Store příkaz
pythončasto nefunguje.
Používejpython3.13nebo připravené skriptyinstalovat.bat/spustit.bat.
Alternativně ručně:
python3.13 -m pip install -r requirements.txt
python3.13 main.py
Doplňte API klíče do souboru .env a upravte config.yaml dle potřeby.
Wake word „Kiki“ (lokálně – doporučeno)
Probouzení slovem „Kiki“ běží lokálně přes Vosk – nečerpá Gemini kvótu.
Při prvním startu se automaticky stáhne český model (~44 MB).
Gemini se používá jen pro mozek a přepis dotazu, ne pro neustálé naslouchání.
V config.yaml:
wake_word:
mode: auto # local/vosk – lokálně, gemini – cloud (čerpá kvótu!)
Klíč Gemini pro mozek: Google AI Studio
Alternativa: Picovoice Porcupine (volitelné)
- Účet na Picovoice Console
- Custom wake word „Kiki“ → stáhni
.ppnpro Windows - Ulož jako
assets/kiki_windows.ppn - V
config.yamlnastavwake_word.mode: porcupine
API klíče
| Proměnná | Povinné | Popis |
|---|---|---|
GEMINI_API_KEY |
Doporučené | Gemini mozek + přepis řeči (STT) |
OPENAI_API_KEY |
Alternativa | OpenAI mozek + Whisper STT |
PORCUPINE_ACCESS_KEY |
Volitelné | Lokální wake word bez Gemini |
AZURE_SPEECH_KEY |
Volitelné | Azure Speech STT |
AZURE_SPEECH_REGION |
S Azure | Např. westeurope |
OPENWEATHER_API_KEY |
Pro počasí | OpenWeatherMap |
HOME_ASSISTANT_URL |
Pro HA | URL vaší instance |
HOME_ASSISTANT_TOKEN |
Pro HA | Long-lived access token z HA profilu |
Google Calendar (volitelné)
- V Google Cloud Console vytvořte projekt a povolte Calendar API
- Stáhněte
credentials.jsondo kořene projektu - V
config.yamlnastavtecalendar.enabled: true - Při prvním spuštění proběhne OAuth v prohlížeči
Spuštění
python3.13 main.py
Kiki se spustí v system tray (lišta u hodin). Po hlasovém příkazu se automaticky zobrazí vizuální okno s animovanou koulí ve stylu Jarvis.
Ikona v tray mění barvu podle stavu:
- Zelená – naslouchá na „Kiki“
- Modrá – nahrává váš dotaz (UI viditelné)
- Žlutá – zpracovává (UI viditelné)
- Fialová – mluví (UI viditelné)
- Červená – vypnuto
Klikněte na ikonu pro zapnutí/vypnutí, ruční zobrazení UI nebo ukončení.
Vizuální UI
Po probuzení slovem „Kiki“ se zobrazí plovoucí okno u horního okraje obrazovky:
- Animovaná koule mění barvu podle stavu (poslouchám / přemýšlím / odpovídám)
- Zobrazí váš přepisovaný dotaz a odpověď Kiki
- Po dokončení se automaticky skryje (výchozí 4 s, nastavitelné v
config.yaml)
ui:
enabled: true
auto_hide_s: 4
width: 440
height: 340
Použití
- Řekněte „Kiki“ – uslyšíte krátký tón
- Položte dotaz nebo příkaz v češtině
- Kiki odpoví hlasem
Příklady
- „Kiki, kolik je hodin?“
- „Kiki, jaké je počasí v Brně?“
- „Kiki, otevři Chrome.“
- „Kiki, nastav hlasitost na 30.“
- „Kiki, co mám dnes v kalendáři?“
- „Kiki, zhasni světlo v obýváku.“ (Home Assistant)
Konfigurace
Soubor config.yaml (zkopírujte z config.yaml.example):
- assistant – jméno, tykání/vykání, model OpenAI, délka paměti
- tts.voice –
cs-CZ-AntoninNeural(mužský) nebocs-CZ-VlastaNeural(ženský) - pc_control.allowed_apps – whitelist aplikací, které smí Kiki spouštět
- weather / calendar / homeassistant – zapnutí integrací
Home Assistant
V config.yaml:
homeassistant:
enabled: true
V .env doplňte URL a token. Kiki pak umí volat služby jako light.turn_on na entitě light.obyvak.
PyAudio na Windows
Pokud instalace PyAudio selže, nainstalujte Visual C++ Build Tools nebo použijte předkompilovaný wheel:
pip install pipwin
pipwin install pyaudio
Struktura projektu
Kiki/
├── main.py # system tray vstupní bod
├── kiki/
│ ├── assistant.py # hlavní smyčka
│ ├── wake_word.py # detekce „Kiki“
│ ├── audio.py # nahrávání a přehrávání
│ ├── stt.py # rozpoznávání řeči
│ ├── tts.py # mluvení
│ ├── brain.py # OpenAI + nástroje
│ ├── ui.py # vizuální okno (Jarvis UI)
│ └── tools/ # PC, počasí, kalendář, HA
├── assets/
│ └── kiki_windows.ppn # wake word model
├── .env
└── config.yaml
Bezpečnost
- Destruktivní akce (vypnutí/restart PC) vyžadují hlasové potvrzení
- Spouštění aplikací je omezeno whitelistem v
config.yaml - API klíče držte v
.env, nikdy je necommitujte
Licence
MIT