Documentation Index Fetch the complete documentation index at: https://docs.bytebot.ai/llms.txt
Use this file to discover all available pages before exploring further.
Choose Your Deployment Method
Bytebot can be deployed in several ways depending on your needs:
Railway (Easiest)
Docker Compose
Kubernetes/Helm
Desktop Only
☁️ One-click Deploy on Railway
Visit the Template
Click the Deploy Now button in the Bytebot template on Railway.
Add Anthropic Key
Enter either your ANTHROPIC_API_KEY, OPENAI_API_KEY, or GEMINI_API_KEY for the bytebot-agent resource.
Deploy & Launch
Hit Deploy . Railway will build the stack, wire the services together via private networking and output a public URL for the UI. Your agent should be ready within a couple of minutes!
🐳 Self-host with Docker Compose Prerequisites
Docker ≥ 20.10
Docker Compose
4GB+ RAM available
AI API key from one of these providers:
🚀 2-Minute Setup Get your self-hosted AI desktop agent running with just three commands:
Clone and Configure
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
# Configure your AI provider (choose one):
echo "ANTHROPIC_API_KEY=your_api_key_here" > docker/.env # For Claude
# echo "OPENAI_API_KEY=your_api_key_here" > docker/.env # For OpenAI
# echo "GEMINI_API_KEY=your_api_key_here" > docker/.env # For Gemini
Start the Agent Stack
docker-compose -f docker/docker-compose.yml up -d
This starts all four services:
Bytebot Desktop : Containerized Linux environment
AI Agent : LLM-powered task processor (supports Claude, GPT, or Gemini)
Chat UI : Web interface for interaction
Database : PostgreSQL for persistence
Open the Chat Interface
Navigate to http://localhost:9992 to access the Bytebot UI. Two ways to interact:
Tasks : Enter task descriptions to have Bytebot work autonomously
Desktop : Direct access to the virtual desktop for manual control
Try asking:
“Open Firefox and search for the weather forecast”
“Take a screenshot of the desktop”
“Create a text file with today’s date”
First time? The initial startup may take 2-3 minutes as Docker downloads
the images. Subsequent starts will be much faster.
🎯 What You Just Deployed You now have a complete AI desktop automation system with: 🔐 Password Manager Support : Bytebot can handle authentication automatically when you install a password manager extension. See our password management guide for setup instructions.
AI Agent
Understands natural language
Plans and executes tasks
Adapts to errors
Works autonomously
Virtual Desktop
Full Ubuntu environment
Browser, office tools
File system access
Application support
Task Interface
Create and manage tasks
Real-time desktop view
Conversation history
Takeover mode
REST APIs
Programmatic control
Task management API
Direct desktop access
MCP protocol support
🚀 Your First Tasks Now let’s see Bytebot in action! Try these example tasks: Simple Tasks (Test the Basics)
Take a Screenshot “Take a screenshot of the desktop”
Open Browser “Open Firefox and go to google.com”
Create File “Create a text file called ‘hello.txt’ with today’s date”
System Info “Check the system information and tell me the OS version”
Advanced Tasks (See the Power)
Web Research “Find the top 5 AI news stories today and create a summary document”
Data Extraction “Go to hacker news, find the top 10 stories, and save them to a CSV file”
Document Processing “Upload a PDF contract and extract all payment terms and deadlines”
Multi-Step Workflow “Search for ‘machine learning tutorials’, open the first 3 results in tabs, and take screenshots of each”
Accessing Your Services Service URL Purpose Tasks UI http://localhost:9992 Main interface for interacting with the agent Agent API http://localhost:9991/tasks REST API for programmatic task creation Desktop API http://localhost:9990/computer-use Low-level desktop control API MCP SSE http://localhost:9990/mcp Connect MCP clients for tool access
☸️ Deploy with Helm See our Helm deployment guide for Kubernetes installation. 🖥️ Desktop Container Only If you just want the virtual desktop without the AI agent: # Using pre-built image (recommended)
docker-compose -f docker/docker-compose.core.yml pull
docker-compose -f docker/docker-compose.core.yml up -d
Or build locally: docker-compose -f docker/docker-compose.core.yml up -d --build
Access the desktop at http://localhost:9990/vnc
Managing Your Agent
View Logs
Monitor what your agent is doing:
# All services
docker-compose -f docker/docker-compose.yml logs -f
# Just the agent
docker-compose -f docker/docker-compose.yml logs -f bytebot-agent
Stop Services
docker-compose -f docker/docker-compose.yml down
Update to Latest
docker-compose -f docker/docker-compose.yml pull
docker-compose -f docker/docker-compose.yml up -d
Reset Everything
Remove all data and start fresh:
docker-compose -f docker/docker-compose.yml down -v
Quick API Examples
Create a Task via API
# Simple task
curl -X POST http://localhost:9991/tasks \
-H "Content-Type: application/json" \
-d '{
"description": "Search for flights from NYC to London next month",
"priority": "MEDIUM"
}'
# Task with file upload
curl -X POST http://localhost:9991/tasks \
-F "description=Read this contract and summarize the key terms" \
-F "priority=HIGH" \
-F "[email protected] "
Direct Desktop Control
# Take a screenshot
curl -X POST http://localhost:9990/computer-use \
-H "Content-Type: application/json" \
-d '{"action": "screenshot"}'
# Type text
curl -X POST http://localhost:9990/computer-use \
-H "Content-Type: application/json" \
-d '{"action": "type_text", "text": "Hello, Bytebot!"}'
Troubleshooting
Check Docker is running and you have enough resources: docker info
docker-compose -f docker/docker-compose.yml logs
Can't connect to tasks UI
Ensure all services are running: docker-compose -f docker/docker-compose.yml ps
All services should show as “Up”.
Agent errors or no response
Check your API key is set correctly: cat docker/.env
docker-compose -f docker/docker-compose.yml logs bytebot-agent
Ensure you’re using a valid API key from Anthropic, OpenAI, or Google.
📚 Next Steps
Using the UI Learn how to create and manage tasks effectively
Takeover Mode Take control when you need to guide Bytebot
LiteLLM Integration Use any LLM provider with Bytebot
API Integration Automate Bytebot with your applications
🔧 Configuration Options
Environment Variables
# Choose one AI provider:
ANTHROPIC_API_KEY = sk-ant-... # For Claude models
OPENAI_API_KEY = sk-... # For GPT models
GEMINI_API_KEY = ... # For Gemini models
# Optional: Use specific models
ANTHROPIC_MODEL = claude-3-5-sonnet-20241022 # Default
OPENAI_MODEL = gpt-4o
GEMINI_MODEL = gemini-1.5-flash
# Change default ports if needed
# Edit docker-compose.yml ports section:
# bytebot-ui:
# ports:
# - "8080:9992" # Change 8080 to your desired port
# To use multiple LLM providers, use the proxy setup:
docker-compose -f docker/docker-compose.proxy.yml up -d
# This includes a pre-configured LiteLLM proxy