Runtime
Python 3.11+
The whole stack runs on modern Python. A virtualenv keeps it tidy.
// Get started
Install with a single command on Linux — or, any time you want full control, the manual path below takes about five minutes.
Linux quick install
// installs Kenzy from PyPI into a per-user virtualenv, scaffolds your config home, and sets up systemd user services. It asks what to install (a room node, the server stack, or everything). When it finishes, open the dashboard at http://<server>:8770 — rooms, keys, and settings are all manageable from there. Prefer to do it by hand? Use the manual setup below.
Runtime
The whole stack runs on modern Python. A virtualenv keeps it tidy.
On a Pi / Debian
sudo apt-get install libportaudio2 portaudio19-dev for the room node's audio.
Optional keys
OpenAI for hosted TTS/LLM, Home Assistant for smart-home control. Go fully local and you need neither.
01 Manual setup
Every service is an optional extra. Put the lightweight node on each room device and the rest on a server — or install everything on one box to start.
Step 1 · Virtualenv
$ python3 -m venv ~/.venvs/kenzy $ source ~/.venvs/kenzy/bin/activate
Step 2 · Install from PyPI
# a room node only $ pip install "kenzy[node]" # the full server stack $ pip install "kenzy[server,stt,tts,llm,speaker]"
Working from source instead? Clone the repo and pip install -e ".[…]".
Step 3 · Models
# wake-word + speaker-ID models $ kenzy-setup
Fetches the openWakeWord and SpeechBrain models — needed on node and speaker installs.
Step 4 · Configure
$ kenzy-init # creates ~/.config/kenzy # edit ~/.config/kenzy/.env # and ~/.config/kenzy/configs/*.yaml
kenzy-init drops default configs and a .env into your config home — point the LLM at a local or cloud model and add any keys.
02 Run it
Each service reads its settings from your config home (~/.config/kenzy). Start the server first — the node finds it automatically over your network.
$ kenzy-server # WebSocket hub + orchestrator $ kenzy-stt # speech-to-text $ kenzy-llm # LLM + skills $ kenzy-tts # text-to-speech $ kenzy-speaker # speaker identification $ kenzy-node # on each room device
// useful helpers: kenzy-enroll (add a speaker) · kenzy-devices (find your mic)
03 · GO FURTHER
Once one node works, roll out the rest with kenzy-deploy — it installs Kenzy, writes systemd units, and manages services across every host over SSH.
init → install → upgrade$ kenzy-deploy init $ kenzy-deploy install $ kenzy-deploy upgrade
// Need the details?
Full configuration reference, the skill-writing guide, speaker enrollment, and deployment — all documented.