Skip to content

Bnowako/echo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Echo Voice Assistant

Echo Voice Assistant Logo

Demo Video

echo (echo)

Keyboard and mouse sucks. Our (human) brains are build to use natural language. Clicking 'start agent' button is the last thing you need to do. Then just speak to your computer.

Run livekit agents locally and configure them with any mcp servers.

You can configure your own local voice agents by changing system prompts and configuring mcps. Run the agent in cli for more control.

Running in cli recommended. Errors may pop up, then feel free to contribute and fix them. MCP integration was inspired by livekit example and adjusted to work also with non-realtime models.

🌐 echo webside

Important notes

  • it works, and it's quite fun, but requires some manuall configuration (sometimes for mcps)
  • coded couple of hours
  • could be unsafe to run 😂
  • significant part written by llm's

Architecture

Echo is built with a hybrid Electron + Python architecture:

  • Frontend: Electron app (React/TypeScript) for the user interface
  • Backend: Python agent using UV package manager for AI processing and MCP server integrations
  • Communication: The Electron app spawns and communicates with the Python backend process
  • Audio Processing: Handled directly by the Python process for voice input/output
  • MCP Integration: Python backend handles Model Context Protocol servers for extended functionality

This setup allows for a responsive desktop UI while leveraging Python's rich AI ecosystem for voice processing and LLM interactions.

Requirements

  • Node.js: Version 18.x or higher
  • Python: Version 3.12 or higher
  • uv: Python package manager

How to Run the App

  1. Install dependencies:

    cd electron && npm install
    cd ../agent && uv sync
  2. Start development:

    cd electron && npm run dev

How to Run the Agent in CLI

For more control and debugging, you can run the agent directly from the command line:

  1. Set up environment variables:

    export DEEPGRAM_API_KEY="your_deepgram_api_key"
    export CARTESIA_API_KEY="your_cartesia_api_key"
    export OPENAI_API_KEY="your_openai_api_key"
    export ACI_API_KEY="your_aci_api_key"  # Optional, for ACI MCP server
  2. Navigate to the agent directory:

    cd agent
  3. Run the agent:

    uv run -m src.ctsm.main console

This will start the LiveKit agent in console mode. The agent will connect to LiveKit Cloud by default, or you can configure it to connect to your own LiveKit server.

How to Build the App

cd electron
npm run package        # Build everything and create installer
npm run dist           # Create distributable packages
npm run dist:mac-arm64 # Build for macOS ARM64 specifically

How to Configure Servers and MCPs

All API keys and server configurations can be set directly in the app's settings interface after running the application. No manual configuration files needed!

About

czy ty słyszysz mnie?

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors