A dynamic voice assistant that generates and executes functions based on natural language commands. The system automatically expands its capabilities by creating new functions on-the-fly.
- Voice Control: Speak commands naturally, and the assistant will execute them
- Dynamic Function Generation: The system creates new functions as needed
- Self-Expanding Catalog: The catalog of available functions grows over time
- Single Responsibility: Each function follows the Single Responsibility Principle
- Function Composition: Complex tasks are broken down into simpler ones
- Python 3.9 or higher
- macOS (for the specific function implementations)
- OpenAI API key
- Microphone access
-
Clone this repository
git clone https://github.com/yourusername/meta-agent-assistant.git cd meta-agent-assistant
-
Create and activate a virtual environment
uv venv source .venv/bin/activate
-
Install dependencies
uv pip install openai-agents livetranscriber
-
Set your OpenAI API key
export OPENAI_API_KEY=your-api-key
Simply run the standalone runner script:
./run_assistant.py
The assistant will start listening for your voice commands. Try saying:
- "Open Google Chrome"
- "Create a text file on the desktop"
- The system listens for voice commands using LiveTranscriber
- When a command is received, it checks if it already knows how to handle it
- If not, it uses an LLM (via OpenAI Agents SDK) to generate the necessary functions
- The functions are added to the Catalog class
- The system reloads itself and executes the functions
- Over time, the Catalog grows with more capabilities
new_sub_project/
: Main project modulecatalog.py
: Contains the Catalog class that gets dynamically extendedsimple_prototype.py
: Simplified implementation of the meta-agentfunction_parser.py
: Extracts function definitions from LLM responses
run_assistant.py
: Standalone runner scriptTESTING.md
: Guide for testing the project
See the Testing Guide for troubleshooting tips and common issues.
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for the Agents SDK
- The developers of LiveTranscriber
- The Python community for the excellent tools and libraries