Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ELI Full Package (Linux)

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)

0) System deps (Ubuntu/Debian)

sudo apt update
sudo apt install -y python3-venv python3-dev build-essential ffmpeg \
  portaudio19-dev libsndfile1 \
  playerctl xdotool xclip wmctrl \
  firefox

Wayland note

If you're on Wayland and xdotool doesn't work, use ydotool instead:

sudo apt install -y ydotool
sudo systemctl enable --now ydotool

1) Install

From 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 firefox

2) Configure

cp .env.example .env
nano .env

Key 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)

3) Run

source .eli_full_venv/bin/activate
source .env
python -m eli_full

4) Example voice commands

  • "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)

Ethics/terms note

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.

About

same as before but with more capabilities

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages