A powerful AI-enhanced productivity tool built with Electron and Python, featuring voice recording, clipboard management, and intelligent text processing.
Ready to try MetaKeyAI? Download the latest release for your platform:
| Platform | Download | Notes |
|---|---|---|
| 🪟 Windows | Download .exe | Run the installer |
| 🍎 macOS | Download .zip | Extract and run |
| 🐧 Linux | Download .AppImage | Make executable and run |
MetaKeyAI can automatically set up Python using UV, a fast Python package manager. UV provides several advantages:
If you prefer to install UV system-wide:
# macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Alternative: Using pip
pip install uv
# Alternative: Using pipx
pipx install uv
Then use "Auto Setup" in MetaKeyAI settings.
If you have an existing Python installation: 1. Click "Custom Python" 2. MetaKeyAI will auto-discover Python installations 3. Select your preferred Python and install missing dependencies
# Clone the repository
git clone <repository-url>
cd metakeyai
# Install Node.js dependencies
npm install
# Set up Python environment (automatic)
npm run setup:python
# Set up audio dependencies
npm run setup-audio
# Start development server
npm start
# Build Python components
npm run build:python
# Build Electron app
npm run make
MetaKeyAI uses UV for Python dependency management:
uv run python src/python_scripts/metakeyai_daemon.pyuv run --project resources python src/python_scripts/metakeyai_daemon.pyWe've eliminated PyInstaller in favor of UV's native execution:
Set environment variables for API keys:
export OPENAI_API_KEY="your-openai-api-key"
export METAKEYAI_LLM="gpt-4" # Optional: specify model
The app automatically handles:
The app supports multiple audio recording methods:
Audio dependencies are installed automatically via npm run setup-audio.
[Your License Here]
Powered by UV 🚀 - The next-generation Python package manager
npm installnpm run setup-audionpm run build:pythonnpm startMetaKeyAI requires audio recording capabilities for voice input. See AUDIO_SETUP.md for detailed setup instructions.
Quick setup: npm run setup-audio
The application uses Python for AI processing. The build process automatically sets up a Python virtual environment with all required dependencies.
npm start - Start the development servernpm run make - Build the application for distributionnpm run setup-audio - Set up audio recording dependenciesnpm run build:python - Build the Python environmentnpm test - Run tests (when available)metakeyai/
├── src/ # Main application source
│ ├── audio-recorder.ts # Audio recording implementation
│ ├── python-daemon.ts # Python integration
│ ├── python_scripts/ # Python AI scripts
│ │ ├── metakeyai_daemon.py # Main Python server
│ │ └── spells/ # AI processing modules
│ └── types/ # TypeScript definitions
├── resources/ # Application resources
│ ├── binaries/ # Platform-specific binaries
│ └── python/ # Python distribution
├── scripts/ # Build and setup scripts
└── .github/workflows/ # CI/CD configuration
The application supports multiple audio recording methods with automatic fallback:
| Platform | SoX | FFmpeg | PowerShell | Status |
|---|---|---|---|---|
| Linux | ✅ | ✅ | ❌ | Stable |
| macOS | ✅ | ✅ | ❌ | Stable |
| Windows | ✅ | ✅ | ✅ | Stable |
npm run setup-audio to install dependenciesnpm run build:python to rebuildFor detailed troubleshooting, see AUDIO_SETUP.md.
Please ensure: - Audio functionality works on your platform - Python integration tests pass - Code follows the existing style
[Your License Here]
For issues and questions: - Check AUDIO_SETUP.md for setup problems - Review GitHub Issues for known problems - Include platform details when reporting bugs
UV Installation Fails: - Check internet connectivity - Try manual UV installation from UV docs - Use custom Python setup as fallback
Auto Setup Verification Fails: - Reset Python setup in settings - Try custom Python setup - Check if antivirus is blocking UV
Dependencies Missing:
- Use the "Install Dependencies" button in custom Python setup
- Manually install: pip install fastapi uvicorn pydantic dspy-ai
- Reset and retry auto setup
MetaKeyAI stores its configuration in:
- Windows: %APPDATA%/metakeyai/
- macOS: ~/Library/Application Support/metakeyai/
- Linux: ~/.config/metakeyai/
This includes: - Python environment and dependencies - UV installation (if using user config option) - Keyboard shortcuts and settings - Spell configurations
When using auto-setup, MetaKeyAI creates a UV project structure:
<config-dir>/python-project/
├── pyproject.toml # Project configuration
├── .python-version # Python version specification
├── uv.lock # Locked dependencies (auto-generated)
├── README.md # Environment documentation
├── .venv/ # Virtual environment
└── src/ # Python source code
├── metakeyai_daemon.py # Main daemon
└── spells/ # Custom spells
The project uses modern Python packaging standards:
- pyproject.toml for dependency specification
- .python-version for Python version pinning
- uv.lock for reproducible builds
- Isolated virtual environment
Core Python dependencies managed by UV: - FastAPI: Web API framework for the Python daemon - Uvicorn: ASGI server for running the API - Pydantic: Data validation and settings management - DSPy: LLM integration and AI capabilities
The application is built using Electron Forge and includes: - Automatic Python environment bundling - Cross-platform binary distribution - Python script packaging and deployment
For Python-related development:
- Use the UV project in <config>/python-project/
- Add new spells to src/spells/
- Test with the integrated daemon API
UV Installation Fails: - Check internet connectivity - Try manual UV installation from UV docs - Use custom Python setup as fallback
Auto Setup Verification Fails: - Reset Python setup in settings - Try custom Python setup - Check if antivirus is blocking UV
Dependencies Missing:
- Use the "Install Dependencies" button in custom Python setup
- Manually install: pip install fastapi uvicorn pydantic dspy-ai
- Reset and retry auto setup
This project is licensed under the GNU General Public License v3.0 or later - see the LICENSE file for details.
$ claude mcp add metakeyai \
-- python -m otcore.mcp_server <graph>