A Tony Stark-inspired multimodal voice agent that hears, thinks, and commands your digital world.
F.R.I.D.A.Y. (Female Replacement Intelligent Digital Assistant Youth) is a high-performance, real-time voice assistant. It leverages state-of-the-art LLMs and high-speed audio processing to understand context, fetch real-time global news, monitor financial markets, and execute automated workflows through Model Context Protocol (MCP).
- ⚡ Blazing Fast Intelligence: Powered by Groq (
llama-3.3-70b-versatile) for sub-second logical reasoning. - 🎙️ Real-time STT & TTS: Multilingual speech-to-text and rich text-to-speech utilizing Sarvam AI.
- 🛠️ Extensible Tooling: Built on FastMCP, allowing F.R.I.D.A.Y. to fetch live news feeds, trigger system web browsers, and perform web searches.
- 🌐 Cloudflared Tunneling: Securely expose your local toolsets to external cloud environments.
- ⏱️ Contextual Awareness: Greet you dynamically based on the time of day and maintain a dry, professional, Stark-esque persona.
graph TD
User((User)) <-->|Voice/Audio| LK[LiveKit Cloud]
LK <-->|WebRTC| Agent[F.R.I.D.A.Y Agent]
subgraph Local Environment
Agent <-->|MCP Protocol| FastMCP[FastMCP Server]
FastMCP --> Tools[Local Tools]
Tools -->|Browser| Web[World Monitor App]
end
subgraph Cloud APIs
Agent -->|Transcription| SarvamSTT[Sarvam STT]
Agent -->|Reasoning| Groq[Groq Llama 3.3]
Agent -->|Synthesis| SarvamTTS[Sarvam TTS]
end
- Python 3.11 or higher
- uv (Extremely fast Python package installer)
- Accounts/API Keys for LiveKit, Groq, and Sarvam AI.
git clone https://github.com/YOUR_USERNAME/Project-FRIDAY.git
cd Project-FRIDAYCreate a .env file in the root directory and add your credentials:
LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=your_api_key
LIVEKIT_API_SECRET=your_api_secret
GROQ_API_KEY=your_groq_api_key
SARVAM_API_KEY=your_sarvam_api_key
STT_PROVIDER=sarvam
LLM_PROVIDER=groq
TTS_PROVIDER=sarvamRunning F.R.I.D.A.Y. requires running both the Tool Server and the Voice Agent.
Open a terminal and launch the FastMCP server:
uv run server.pyOpen a second terminal and connect to LiveKit:
uv run agent_friday.py dev- Navigate to the LiveKit Agents Playground.
- Click Connect and start speaking! Try asking: "Friday, what's happening around the world?"
If you need to host your local MCP server to the web, use the included PowerShell script:
.\start_tunnel.ps1This will automatically download Cloudflared and open a tunnel on port 8000.
- Sarvam TTS Codec: The LiveKit Sarvam plugin currently defaults to expecting
WAVaudio streams, while the Sarvam API has transitioned toMP3. This causes a temporary codec mismatch that prevents TTS from playing properly. Waiting on upstream updates forlivekit-plugins-sarvamto resolve this format change.
This project is licensed under the MIT License.