Friday is an advanced, multimodal Voice AI Assistant designed to automate PC tasks, manage files, fetch real-time information, and integrate with custom MCP servers. It uses state-of-the-art LLMs combined with LiveKit's robust real-time communication infrastructure to deliver a seamless voice experience.
- Real-Time Voice Interaction: Powered by Gemini Realtime API and LiveKit for sub-second latency conversational AI.
- System Automation: Control PC settings, manipulate files, launch applications, and manage windows using natural language.
- Tool Calling: Extendable tool framework (
automation.py&tools.py) for custom functions (e.g., fetching weather, managing reminders, creating project structures). - Persistent Memory: Uses
mem0for long-term personalized context across sessions. - MCP Client: Connects to Model Context Protocol (MCP) servers to leverage external integrations.
- Modern Web UI: Comes with a Next.js frontend built on LiveKit Components for an immersive user interface.
Video.Project.4.mp4
- Python 3.10+
- Node.js &
pnpm - LiveKit Cloud account (for API keys and WebRTC infrastructure)
- API Keys for your preferred LLMs (OpenRouter, Gemini, OpenAI)
- Clone the repository (or download the files) and navigate to the project directory.
- Create a virtual environment:
python -m venv myenv myenv\Scripts\activate
- Install Dependencies:
pip install -r requirements.txt
- Environment Variables:
Copy the provided
.env.exampleto.envand fill in your details:copy .env.example .env
- Run the Backend Agent:
Start the LiveKit agent in development mode (which supports hot-reloading):
python agent.py dev
- Navigate to the frontend directory:
cd agent-starter-react-main - Install Dependencies:
pnpm install
- Configure Frontend Environment:
Ensure your
.env.localinside the frontend directory contains your LiveKit credentials (matching the backend). - Run the UI:
Open
pnpm dev
http://localhost:3000in your browser.
Friday's capabilities are split between:
tools.py: General web queries, content generation, and APIs.automation.py: OS-level operations (file management, system controls).mob_automation.py: Mobile-specific or external device automations.
To add new capabilities, define a new async function using the @function_tool decorator in one of these files and append it to the exported registered tools list.
This project is open-sourced under the MIT License. Infrastructure and real-time networking powered by LiveKit. Original project architecture by yours Truly- Debajeet. feel free to clone, test, use and contribute for any bug findings or feature suggestions.