kiwi-voice
$ python -m kiwi
🎙️ Listening... (wake word: "kiwi")
🗣️ "Kiwi, send Alex a message: I'll be 10 minutes late"
🔐 Speaker identified: Owner (94%)
🧠 Processing with OpenClaw...
🔊 "Done. Message sent to Alex via Telegram."

🎙️

🧠

🔊

🔒

🛡️

🌍

🎭

📊

🏠

LLM
TTS
🥝

01
02
03
04
05
06
07
08
09
10
1→10
0
24/7

<100ms

15

3

Qwen3-TTS (Local)
~1-3s
GPU:

Qwen3-TTS (RunPod)
~2-5s
~$0.0003/s
GPU:

ElevenLabs
~0.3-0.5s
~$0.30/1K ch
GPU:

Piper
<0.5s
GPU:

🏠

👪

🛠️

🌿

Mindful Companion

📖

Storyteller

🎤

Comedian

🔥

Hype Person

18+

Siren

NSFW

POST /api/soul

config.yaml
souls:
  default: "mindful-companion"
  nsfw:
    model: "openrouter/mistralai/mistral-7b-instruct"
    session: "kiwi-nsfw"

🇷🇺
Russian
🇺🇸
English
🇪🇸
Spanish
🇧🇷
Portuguese
🇫🇷
French
🇮🇹
Italian
🇩🇪
German
🇹🇷
Turkish
🇵🇱
Polish
🇨🇳
Chinese
🇯🇵
Japanese
🇰🇷
Korean
🇮🇳
Hindi
🇸🇦
Arabic
🇮🇩
Indonesian

config.yaml
language: "en"  # or "ru", "es", "ja"...

1.
2.
3. language: "{lang}"

(idle / listening / speaking)
(ru, en, ...)
(connected / disconnected)
Stop
Reset
TTS Test
new
voice_command
ha_command

1

cp -r custom_components/kiwi_voice/ \
  ~/.homeassistant/custom_components/
2

3

api:
  enabled: true
  host: "0.0.0.0"
  port: 7789

homeassistant:
  enabled: true
  url: "http://homeassistant.local:8123"
  token: ""  # Long-Lived Access Token

1

bash
git clone https://github.com/ekleziast/kiwi-voice.git
cd kiwi-voice
2

bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
3

bash
cp .env.example .env
# Edit config.yaml and .env with your settings
4

bash
python -m kiwi

FAQ