Siri All-Mighty v0.1.0
Pre-releaseSiri All-Mighty — v0.1.0
A personal voice-assistant project (Groq for reasoning, ElevenLabs for voice) built as a DIY alternative after OpenClaw didn't work out. Still a work in progress, but functional.
✨ Highlights
Tool-calling agent loop — agent_call (Groq llama-3.1-8b-instant) drives an agentic flow that plans, calls tools, and produces a final response via a separate final_call (no tool bias) once tool results come back.
Persistent conversation memory — chat history is saved to siri_memory.json between turns, with a delete command to wipe it.
Voice pipeline — ElevenLabs text-to-speech (eleven_call) plays responses back via afplay; MCP server integration for pulling in tool definitions without running a full server.
Terminal & file tools — built-in functions for running terminal commands, writing files, and deleting files as agent-callable tools.
In-progress speech input (STT) — new functions/STT.py adds voice-activity-detected recording (webrtcvad) plus Groq Whisper (whisper-large-v3-turbo) transcription, triggered by a keyboard "wake" listener (functions/wake.py, Ctrl+Shift).
🔧 Under the hood
Refactored the main loop (Siri2.py) to separate tool-call handling from plain responses and to save memory after each turn.
Switched dependency/version management to uv (pyproject.toml + uv.lock).
Added webrtcvad-wheels and sounddevice/scipy for the audio pipeline.
STT.py and wake.py are present but not yet integrated into the main Siri2.py loop (the stt_prompt variable in Siri2.py is still hardcoded empty).
Naming and structure are still messy in places — flagged by the author as a work in progress.
Requires a .env with GROQ_API_KEY (and ElevenLabs key) — not included, set up your own.
📦 Requirements
Python ≥ 3.12
See pyproject.toml for full dependency list (groq, elevenlabs, pynput, mcp, sounddevice, webrtcvad-wheels, etc.)