Installation
FRIDAY ships a setup script for each platform. They install system dependencies, the Piper TTS binary, download the default GGUF / Whisper models, and write a starter .env.
Linux
git clone https://github.com/SanthoshReddy352/Friday_Linux.git
cd Friday_Linux
chmod +x setup.sh
./setup.sh # deps, Piper TTS, default models, .env
source .venv/bin/activate
python main.pyThe Linux script also offers an optional autostart prompt and installs optional screenshot / window tools when available (wmctrl, xdotool, grim, spectacle, scrot, maim). Full walkthrough: SETUP_GUIDE.md.
Windows
git clone https://github.com/SanthoshReddy352/Friday_Linux.git
cd Friday_Linux
.\setup.ps1 # deps, Piper for Windows, default models, .env
.\.venv\Scripts\Activate.ps1
python main.pyThe PowerShell script accepts flags:
-SkipModels— don't download model files (bring your own).-SkipPlaywright— skip browser-automation runtime.-Force— re-run steps even if outputs exist.
Default models
Setup downloads a quantized local stack. Override the chat/tool downloads with the env vars below, or drop your own .gguf files into models/.
Environment & secrets
Runtime behaviour lives in config.yaml; secrets and machine overrides go in .env (copied from .env.example at setup). A couple you may want:
# Required on both OSes for the wake word
FRIDAY_PORCUPINE_KEY=your-picovoice-access-key
# Optional model download overrides
FRIDAY_CHAT_MODEL_URL=https://...
FRIDAY_TOOL_MODEL_URL=https://...Verify it runs
python main.py --text # text-only smoke test
# then type: set brightness to 60If you see a brightness change (or a clear "capability not available" on unsupported hardware) rather than a fabricated "Brightness set to 60.", the deterministic router is doing its job. See How routing works.