bytebot-ai / bytebot
- Π²ΡΠΎΡΠ½ΠΈΠΊ, 19 Π°Π²Π³ΡΡΡΠ° 2025β―Π³. Π² 00:00:03
Bytebot is a self-hosted AI desktop agent that automates computer tasks through natural language commands, operating within a containerized Linux desktop environment.
An AI that has its own computer to complete tasks for you
π Website β’ π Documentation β’ π¬ Discord β’ π Twitter
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 by date" 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 50 invoice PDFs and create a summary report"
"Analyze this 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-...
Enterprise deployment guide β
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