This is a clean, separate voice automation daemon (does not modify your existing scripts). It provides:
- Wake word -> STT -> router -> actions
- Dictation mode (types into active window)
- Robust app/open/url handling
- Spotify control via
playerctl -p spotify - YouTube helper via Playwright (clicks "Skip" when available; does not bypass unskippable ads)
- Guardrails for dangerous commands (confirm-required patterns)
sudo apt update
sudo apt install -y python3-venv python3-dev build-essential ffmpeg \
portaudio19-dev libsndfile1 \
playerctl xdotool xclip wmctrl \
firefoxIf you're on Wayland and xdotool doesn't work, use ydotool instead:
sudo apt install -y ydotool
sudo systemctl enable --now ydotoolFrom the folder where you unpacked this zip:
python3 -m venv .eli_full_venv
source .eli_full_venv/bin/activate
pip install -U pip
pip install -r requirements.txt
python -m playwright install firefoxcp .env.example .env
nano .envKey settings:
- ELI_AUDIO_IN: optional device index (leave blank for default)
- ELI_WAKE: wake words (avoid "heli" if it false-triggers)
- ELI_ALWAYS_AWAKE=0 recommended
- ELI_OLLAMA_BASE=http://127.0.0.1:11434
- ELI_ROUTER_MODEL: small fast model
- ELI_CHAT_MODEL: your big chat model
- ELI_SPOTIFY_CMD: spotify launch command (spotify | flatpak run com.spotify.Client | snap run spotify)
source .eli_full_venv/bin/activate
source .env
python -m eli_full- "Eli open youtube"
- "Eli skip ad" (clicks Skip if available)
- "Eli dictation start" then speak; "Eli dictation stop"
- "Eli open spotify"
- "Eli resume spotify"
- "Eli pause spotify"
- "Eli create document numbers 1 to 100"
- "Eli type hello world"
- "Eli run rm -rf / confirm" (dangerous ops require the confirm phrase)
This project can click the existing "Skip Ads" button on YouTube when it appears. It does not attempt to bypass unskippable ads or block ad delivery.