β οΈ AI Generated Content WarningThis README is AI-generated and incomplete. We're still working on proper documentation. Please check back later for comprehensive setup and usage instructions.
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 |
- Download the file for your platform
- Install/extract and run the application
- The app will automatically set up Python environment on first launch
- Start voice recording and AI processing!
MetaKeyAI can automatically set up Python using UV, a fast Python package manager. UV provides several advantages:
- Automatic Python Installation: UV can install and manage Python versions for you
- Fast Dependency Resolution: Significantly faster than pip
- Isolated Environments: Each project gets its own clean environment
- Cross-Platform: Works consistently on Windows, macOS, and Linux
- Click "Auto Setup" in the Python settings
- Choose "Install UV to User Config" to keep UV within MetaKeyAI's configuration
- UV will automatically:
- Install itself to your MetaKeyAI config directory
- Install a compatible Python version (3.11)
- Create an isolated project environment
- Install all required dependencies (FastAPI, DSPy, etc.)
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:
- Click "Custom Python"
- MetaKeyAI will auto-discover Python installations
- Select your preferred Python and install missing dependencies
- π€ Voice Recording: Record and transcribe voice using multiple audio backends
- π Clipboard Management: Advanced clipboard history with navigation
- π Python Spells: Execute custom Python scripts with DSPy integration
- π Auto-Environment: Automatic Python environment management via UV
- π Cross-Platform: Works on Windows, macOS, and Linux
# 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:
- Development:
uv run python src/python_scripts/metakeyai_daemon.py
- Production:
uv run --project resources python src/python_scripts/metakeyai_daemon.py
- β‘ Fast: 10-100x faster than pip
- π Reliable: Deterministic dependency resolution
- π― Simple: Single tool for all Python needs
- π Cross-platform: Works identically on all systems
We've eliminated PyInstaller in favor of UV's native execution:
- β Smaller distribution size
- β Faster builds
- β Better debugging
- β Easier maintenance
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:
- UV Installation: Prompts user to install UV if needed
- Environment Setup: Creates isolated Python environment
- Dependency Management: Installs all required packages
- Runtime Execution: Runs Python components via UV
The app supports multiple audio recording methods:
- SoX (preferred)
- FFmpeg (fallback)
- PowerShell Speech (Windows fallback)
Audio dependencies are installed automatically via npm run setup-audio
.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
[Your License Here]
Powered by UV π - The next-generation Python package manager
- Voice recording and audio processing
- Python integration with DSPy
- Cross-platform support (Windows, macOS, Linux)
- Real-time audio visualization
- AI spell system for text processing
- Clone the repository
- Install dependencies:
npm install
- Set up audio dependencies:
npm run setup-audio
- Build the Python environment:
npm run build:python
- Run the application:
npm start
MetaKeyAI 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:
- SoX (Recommended) - Cross-platform audio processing
- FFmpeg - Universal multimedia framework
- PowerShell - Windows-specific fallback
- Native APIs - Platform-specific implementations (future)
Platform | SoX | FFmpeg | PowerShell | Status |
---|---|---|---|---|
Linux | β | β | β | Stable |
macOS | β | β | β | Stable |
Windows | β | β | β | Stable |
- Audio recording not working: Run
npm run setup-audio
to install dependencies - Python environment issues: Run
npm run build:python
to rebuild - Permission errors: Ensure proper file permissions for binaries
For detailed troubleshooting, see AUDIO_SETUP.md.
- Fork the repository
- Create a feature branch
- Make your changes
- Test on your platform
- Submit a pull request
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
- Restart the application after Python setup changes
- Check the console logs for detailed error messages
- Reset configuration if settings become corrupted
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 pinninguv.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
- Fork the repository
- Create a feature branch
- Make your changes
- Test with both auto and custom Python setups
- Submit a pull request
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
- Restart the application after Python setup changes
- Check the console logs for detailed error messages
- Reset configuration if settings become corrupted
This project is licensed under the GNU General Public License v3.0 or later - see the LICENSE file for details.