An AI that has its own computer to complete tasks for you
🌐 Website • 📚 Documentation • 💬 Discord • 𝕏 Twitter
Deutsch | Español | français | 日本語 | 한국어 | Português | Русский | 中文
https://github.com/user-attachments/assets/f271282a-27a3-43f3-9b99-b34007fdd169
https://github.com/user-attachments/assets/72a43cf2-bd87-44c5-a582-e7cbe176f37f
A desktop agent is an AI that has its own computer. Unlike browser-only agents or traditional RPA tools, Bytebot comes with a full virtual desktop where it can:
Think of it as a virtual employee with their own computer who can see the screen, move the mouse, type on the keyboard, and complete tasks just like a human would.
When AI has access to a complete desktop environment, it unlocks capabilities that aren't possible with browser-only agents or API integrations:
Give Bytebot a task like "Download all invoices from our vendor portals and organize them into a folder" and it will:
Upload files directly to Bytebot's desktop and it can:
Bytebot isn't limited to web interfaces. It can:
Just click and add your AI provider API key.
Option 2: Docker Compose
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
# Add your AI provider key (choose one)
echo "ANTHROPIC_API_KEY=sk-ant-..." > docker/.env
# Or: echo "OPENAI_API_KEY=sk-..." > docker/.env
# Or: echo "GEMINI_API_KEY=..." > docker/.env
docker-compose -f docker/docker-compose.yml up -d
# Open http://localhost:9992
Bytebot consists of four integrated components:
"Go to Wikipedia and create a summary of quantum computing" "Research flights from NYC to London and create a comparison document" "Take screenshots of the top 5 news websites"
"Read the uploaded contracts.pdf and extract all payment terms and deadlines" "Process these 5 invoice PDFs and create a summary report" "Download and analyze the latest financial report and answer: What were the key risks mentioned?"
"Download last month's bank statements from our three banks and consolidate them" "Check all our vendor portals for new invoices and create a summary report" "Log into our CRM, export the customer list, and update records in the ERP system"
import requests
# Simple task
response = requests.post('http://localhost:9991/tasks', json={
'description': 'Download the latest sales report and create a summary'
})
# Task with file upload
files = {'files': open('contracts.pdf', 'rb')}
response = requests.post('http://localhost:9991/tasks',
data={'description': 'Review these contracts for important dates'},
files=files
)
# Take a screenshot
curl -X POST http://localhost:9990/computer-use \
-H "Content-Type: application/json" \
-d '{"action": "screenshot"}'
# Click at specific coordinates
curl -X POST http://localhost:9990/computer-use \
-H "Content-Type: application/json" \
-d '{"action": "click_mouse", "coordinate": [500, 300]}'
Use one of the deployment methods above to get Bytebot running.
Use the Desktop tab in the UI to:
Create tasks in natural language and watch Bytebot complete them using the configured desktop.
Bytebot is built with:
Use any AI provider through our LiteLLM integration:
Deploy on Kubernetes with Helm:
# Clone the repository
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
# Install with Helm
helm install bytebot ./helm \
--set agent.env.ANTHROPIC_API_KEY=sk-ant-...
We welcome contributions! Whether it's:
Please:
Bytebot is open source under the Apache 2.0 license.
Give your AI its own computer. See what it can do.
Built by Tantl Labs and the open source community