Open Computer Use is an open-source platform that gives AI agents real computer control through browser automation, terminal access, and desktop interaction. Built for developers who want to create truly autonomous AI workflows.
Unlike traditional AI assistants that only talk about tasks, Open Computer Use enables AI agents to actually perform them by:
- 🌐 Browsing the web like a human (search, click, fill forms, extract data)
- 💻 Running terminal commands and managing files
- 🖱️ Controlling desktop applications with full UI automation
- 🤖 Multi-agent orchestration that breaks down complex tasks
- 🔄 Streaming execution with real-time feedback
- 🎯 100% open-source and self-hostable
"Computer use" capabilities similar to Anthropic's Claude Computer Use, but fully open-source and extensible.
AI agent searching, navigating, and interacting with websites autonomously
Executing commands, managing files, and running complex workflows
Complex tasks broken down and executed by specialized agents
Human-in-the-loop control and intelligent collaboration
|
|
|
|
┌─────────────────────────────────────────────────────────────────┐ │ Frontend (Next.js 15) │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Chat UI │ │ Model │ │ VM │ │ │ │ Components │ │ Selection │ │ Management │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ Backend API (FastAPI) │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Multi-Agent Executor Service │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ │ │ Planner │→ │ Browser │→ │ Terminal │ │ │ │ │ │ Agent │ │ Agent │ │ Agent │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ WebSocket │ │ Database │ │ Billing │ │ │ │ VM Control │ │ Service │ │ Service │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ Docker VM (Ubuntu 22.04 + XFCE) │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ Chrome Browser │ Terminal │ Desktop Apps │ Tools │ │ │ └──────────────────────────────────────────────────────────┘ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ WebSocket Agent Server (Port 8080) │ │ │ │ VNC Server (Port 5900) │ │ │ └──────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────┘
- Node.js 20+ and npm
- Python 3.10+ and pip
- Docker and Docker Compose
- Supabase account (free tier works)
- API keys for AI providers (OpenAI, Anthropic, etc.)
git clone https://github.com/LLmHub-dev/open-computer-use.git cd open-computer-use
- Go to Supabase and create a new project
- Wait for the project to finish setting up
- Go to Project Settings → API to get your keys
Execute the schema to create all required tables:
# Option A: Using Supabase Dashboard # 1. Go to SQL Editor in your Supabase dashboard # 2. Copy contents of supabase/schema.sql # 3. Paste and run the SQL # Option B: Using Supabase CLI (recommended) npm install -g supabase supabase login supabase link --project-ref your-project-ref supabase db push
Or manually run the schema file:
psql -h db.your-project.supabase.co -U postgres -d postgres -f supabase/schema.sql
This creates all necessary tables:
- 👤 Users & Auth: users, user_preferences, user_keys
- 💬 Chat System: chats, messages, chat_participants, chat_attachments
- 🤖 AI Agents: machine_sessions, machine_usage, machine_ai_actions
- 💳 Billing: user_credits, credit_transactions, stripe_customers, subscription_plans
- 📊 Projects: projects, user_machines, machine_snapshots
# Frontend cp .env.example .env # Edit .env with your configuration # Backend cp backend/.env.example backend/.env # Edit backend/.env with your configuration
Supabase (Required)
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key-from-supabase-dashboard SUPABASE_SERVICE_ROLE=your-service-role-key-from-supabase-dashboard
Security Keys (Required)
# Generate with: openssl rand -hex 32 ENCRYPTION_KEY=your-generated-32-byte-hex-string CSRF_SECRET=your-generated-32-byte-hex-string
Google Search API (Required for web search)
GOOGLE_SEARCH_KEY=your-google-api-key GOOGLE_SEARCH_CX=your-custom-search-engine-id
Get these from Google Cloud Console:
- Enable Custom Search API
- Create API key
- Create Custom Search Engine at programmablesearchengine.google.com
AI Provider Keys (Choose at least one)
# OpenAI OPENAI_API_KEY=sk-... # Anthropic ANTHROPIC_API_KEY=sk-ant-... # Azure OpenAI (Optional) AZURE_OPENAI_ENDPOINT=https://your-endpoint.openai.azure.com/ AZURE_OPENAI_API_KEY=your-key AZURE_OPENAI_DEPLOYMENT=your-deployment-name AZURE_OPENAI_API_VERSION=2024-02-15-preview
Azure Container Instances (Optional - for cloud VM deployment)
AZURE_SUBSCRIPTION_ID=your-subscription-id AZURE_RESOURCE_GROUP=your-resource-group AZURE_TENANT_ID=your-tenant-id AZURE_CLIENT_ID=your-client-id AZURE_CLIENT_SECRET=your-client-secret AZURE_CONTAINER_REGISTRY=your-registry.azurecr.io AZURE_DESKTOP_IMAGE=your-registry.azurecr.io/ai-desktop:latest
Stripe (Optional - for billing)
STRIPE_API_KEY=sk_test_... STRIPE_WEBHOOK_SECRET=whsec_... NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
# Frontend npm install # Backend cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt cd ..
Option A: Using Docker (Recommended)
# Start all services docker-compose up --build # Access the application # Frontend: http://localhost:3000 # Backend: http://localhost:8001
Option B: Manual Start
# Terminal 1: Frontend npm run dev # Terminal 2: Backend cd backend python main.py # Terminal 3: AI Desktop (if needed) docker-compose -f docker-compose.ai-desktop.yml up --build
- Open http://localhost:3000
- Sign up / Log in with Supabase Auth
- Start a new chat
- Try a command: "Search for the latest AI news and summarize the top 3 articles"
- Watch your AI agent work! 🎉
Connect your own API keys and switch between providers mid-conversation:
- ✅ OpenAI (GPT-4, GPT-4 Turbo, GPT-3.5)
- ✅ Anthropic (Claude 3.5 Sonnet, Claude 3 Opus)
- ✅ Google (Gemini Pro, Gemini 1.5)
- ✅ Azure OpenAI (Enterprise deployments)
- ✅ xAI (Grok models)
- ✅ Mistral AI (Mistral Large, Mixtral)
- ✅ Perplexity (Online models)
- ✅ OpenRouter (Access to 100+ models)
All API keys are encrypted and stored securely. You maintain full control over your AI costs and usage.
Watch your agents work in real-time with:
- 📊 Task progress indicators
- 🛠️ Tool call visualization
- 📸 Live screenshots from VM
- 💬 Streaming responses
- 📋 Detailed execution logs
The AI automatically:
- Analyzes your request
- Breaks down into subtasks
- Assigns to specialized agents
- Executes with full context
- Reports detailed results
Each agent session runs in an isolated Docker container:
- 🔒 Sandboxed execution environment
- 🔄 Ephemeral containers (no data persistence)
- 🌐 Network isolation options
- 📊 Resource limits and monitoring
|
|
|
|
|
|
- Framework: Next.js 15 (App Router, React 19)
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: Radix UI, shadcn/ui
- State Management: Zustand
- AI SDK: Vercel AI SDK
- Database: Supabase (Auth + Postgres)
- Payments: Stripe
- Framework: FastAPI (Python 3.10+)
- Async Runtime: asyncio, uvicorn
- WebSocket: websockets library
- AI Providers: openai, anthropic, google-generativeai
- Search: Google Custom Search API
- Caching: Redis (optional)
- Image Processing: Pillow, ImageMagick
- Containerization: Docker, Docker Compose
- VM Environment: Ubuntu 22.04 LTS + XFCE
- Browser: Google Chrome (with remote debugging)
- Automation: Selenium, Playwright, PyAutoGUI
- Cloud: Azure Container Instances (optional)
We love contributions! Here's how you can help:
Open an issue with:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Screenshots or logs
- Check if it's already requested
- Open a new issue with the
enhancement
label - Describe your use case and proposed solution
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Write tests if applicable
- Commit:
git commit -m 'Add amazing feature'
- Push:
git push origin feature/amazing-feature
- Open a Pull Request
Please read our Contributing Guide for detailed guidelines.
- Multi-VM orchestration (parallel agents)
- Advanced workflow builder (visual programming)
- Marketplace for custom agents
- Windows and macOS VM support
- Mobile app (iOS/Android)
- Plugin system for custom tools
- Collaborative agent sessions
- Advanced analytics dashboard
- Enterprise SSO support
- Self-hosted cloud deployment guides
- Voice control integration
- Video understanding capabilities
- Agent memory and learning
- Multi-modal agent interactions
- Community agent templates
Vote on features: Feature Requests
Metric | Value |
---|---|
Average Task Completion | ~45 seconds |
Concurrent Sessions | 50+ (per server) |
Browser Navigation | ~2s per page |
Tool Call Latency | <500ms |
VM Startup Time | ~15 seconds |
Memory per Session | ~2GB |
Benchmarks measured on: 4 CPU cores, 8GB RAM, SSD storage
Open Computer Use gives AI agents significant autonomy. Please use responsibly:
- ✅ Do: Automate repetitive tasks, research, testing, content creation
- ❌ Don't: Violate terms of service, spam, scrape without permission
- 🔒 Security: Never share credentials, use isolated environments
- 📋 Compliance: Follow data protection laws (GDPR, CCPA, etc.)
- 🤝 Ethics: Respect website robots.txt and rate limits
Read our Responsible Use Guidelines for more details.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Apache License 2.0 Copyright (c) 2025 Open Computer Use Contributors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Built with amazing open-source projects:
- Next.js - The React Framework
- FastAPI - Modern Python web framework
- Supabase - Open source Firebase alternative
- Vercel AI SDK - AI toolkit for TypeScript
- Radix UI - Unstyled, accessible components
- Anthropic - Inspiration from Claude Computer Use
- Docker - Containerization platform
Special thanks to all our contributors! 💙
- 💬 Discord: Join our community server
- 🐦 Twitter: Follow @llmhub_dev
- 📧 Email: prateek@llmhub.dev
- 🐛 Issues: GitHub Issues
- 💡 Discussions: GitHub Discussions
Made with ❤️ by the Open Computer Use community