๐ค Open-source AI automation for everyone, powered by local LLMs
Installation โข Documentation โข Examples โข Contributing โข Community
DesktopAutoPilotX is your computer's new co-pilot โ a free, open-source AI automation system that sees, understands, and interacts with your desktop just like you do. No cloud services, no API keys, just pure local AI power.
- ๐ง True AI Vision: Powered by LLaVA and Llama 2 for intelligent screen understanding
- ๐ฏ Context-Aware: Finds and interacts with UI elements naturally, no pixel coordinates needed
- ๐ Transparent: Real-time visualization and detailed logging of all actions
- ๐ก๏ธ Secure: Runs 100% locally - your data never leaves your machine
- ๐ Self-Learning: Gets smarter with each task it handles
- Python 3.11+
- PostgreSQL
- Ollama with LLaVA and Llama 2 models
- Git
- Poetry (Python package manager)
# Clone the repo
git clone https://github.com/0xSG/DesktopAutoPilotX.git
cd DesktopAutoPilotX
# Install dependencies using Poetry
poetry install
# Activate the virtual environment
poetry shell
# Set up environment variables
cp .env.example .env
# Edit .env with your settings
# Initialize database
flask db upgrade
# Launch
python main.py# Install development dependencies
poetry install --with dev,test,docs
# Install pre-commit hooks
poetry run pre-commit install
# Run tests
poetry run pytest
# Run type checking
poetry run mypy .
# Format code
poetry run black .
poetry run ruff .# Build and run using Docker Compose
docker compose up -dDesktopAutoPilotX/
โโโ src/
โ โโโ desktop_autopilot/
โ โโโ core/ # Core automation engine
โ โโโ models/ # AI model integrations
โ โโโ vision/ # Screen analysis components
โ โโโ utils/ # Utility functions
โโโ tests/ # Test suite
โโโ docs/ # Documentation
โโโ examples/ # Example scripts
โโโ docker/ # Docker configurations
โโโ pyproject.toml # Project dependencies and config
โโโ README.md # You are here
from desktop_autopilot import AutoPilot
pilot = AutoPilot()
# Example 1: Web Automation
@pilot.task
async def search_github():
"""Search for a repository on GitHub."""
await pilot.browser.open("https://github.com")
await pilot.keyboard.type("DesktopAutoPilotX")
await pilot.keyboard.press("Enter")
# Example 2: Desktop App Automation
@pilot.task
async def process_images():
"""Batch process images in a folder."""
await pilot.app.launch("PhotoEditor")
await pilot.folder.select("~/Pictures/batch")
await pilot.vision.wait_for("Process All")
await pilot.mouse.click()More examples in our cookbook ๐
Configure your AI providers in config/providers.toml:
[ollama]
base_url = "http://localhost:11434"
models = ["llava", "llama2"]
timeout = 30
[local]
model_path = "/path/to/models"
device = "cuda"
[api]
base_url = "https://api.example.com/v1"
timeout = 10# Required
DATABASE_URL=postgresql://user:pass@localhost:5432/dbname
FLASK_SECRET_KEY=your-secret-key
# Optional
LOG_LEVEL=INFO
OLLAMA_BASE_URL=http://localhost:11434- ๐ฌ Join our Discord
- ๐ฆ Follow on X (Twitter)
- ๐ Read our blog
We believe great software is built together! Check out our Contributing Guidelines to get started.
- Fork the repository
- Create a new branch:
git checkout -b feature-name - Make your changes
- Run tests:
poetry run pytest - Format code:
poetry run black . && poetry run ruff . - Commit:
git commit -m "feat: add new feature" - Push:
git push origin feature-name - Open a Pull Request
DesktopAutoPilotX is MIT licensed, as found in the LICENSE file.
Made with โค๏ธ by the DesktopAutoPilotX Community


