
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:
- Use any application (browsers, email clients, office tools, IDEs)
- Download and organize files with its own file system
- Log into websites and applications using password managers
- Read and process documents, PDFs, and spreadsheets
- Complete complex multi-step workflows across different programs
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:
- Open the browser
- Navigate to each portal
- Handle authentication (including 2FA via password managers)
- Download the files to its local file system
- Organize them into folders
- Generate reports or summaries as needed
Upload files directly to Bytebot's desktop and it can:
- Read entire PDFs into its context
- Extract data from complex documents
- Cross-reference information across multiple files
- Create new documents based on analysis
- Handle formats that APIs can't access
Bytebot isn't limited to web interfaces. It can:
- Use desktop applications like text editors, VS Code, or email clients
- Run scripts and command-line tools
- Install new software as needed
- Configure applications for specific workflows
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:
- Virtual Desktop: A complete Ubuntu Linux environment with pre-installed applications
- AI Agent: Understands your tasks and controls the desktop to complete them
- Task Interface: Web UI where you create tasks and watch Bytebot work
- APIs: REST endpoints for programmatic task creation and desktop control
- Natural Language Tasks: Just describe what you need done
- File Uploads: Drop files onto tasks for Bytebot to process
- Live Desktop View: Watch Bytebot work in real-time
- Takeover Mode: Take control when you need to help or configure something
- Password Manager Support: Install 1Password, Bitwarden, etc. for automatic authentication
- Persistent Environment: Install programs and they stay available for future tasks
"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:
- Install additional programs you need
- Set up password managers for authentication
- Configure applications with your preferences
- Log into websites you want Bytebot to access
Create tasks in natural language and watch Bytebot complete them using the configured desktop.
- Invoice processing and data extraction
- Multi-system data synchronization
- Report generation from multiple sources
- Compliance checking across platforms
- Automated UI testing
- Cross-browser compatibility checks
- Documentation generation with screenshots
- Code deployment verification
- Competitive analysis across websites
- Data gathering from multiple sources
- Document analysis and summarization
- Market research compilation
Bytebot is built with:
- Desktop: Ubuntu 22.04 with XFCE, Firefox, VS Code, and other tools
- Agent: NestJS service that coordinates AI and desktop actions
- UI: Next.js application for task management
- AI Support: Works with Anthropic Claude, OpenAI GPT, Google Gemini
- Deployment: Docker containers for easy self-hosting
- Data Privacy: Everything runs on your infrastructure
- Full Control: Customize the desktop environment as needed
- No Limits: Use your own AI API keys without platform restrictions
- Flexibility: Install any software, access any systems
Use any AI provider through our LiteLLM integration:
- Azure OpenAI
- AWS Bedrock
- Local models via Ollama
- 100+ other providers
Deploy on Kubernetes with Helm:
helm repo add bytebot https://charts.bytebot.ai
helm install bytebot bytebot/bytebot \
--set agent.env.ANTHROPIC_API_KEY=sk-ant-...
Enterprise deployment guide β
- Discord: Join our community for help and discussions
- Documentation: Comprehensive guides at docs.bytebot.ai
- GitHub Issues: Report bugs and request features
We welcome contributions! Whether it's:
- π Bug fixes
- β¨ New features
- π Documentation improvements
- π Translations
Please:
- Check existing issues first
- Open an issue to discuss major changes
- Submit PRs with clear descriptions
- Join our Discord to discuss ideas
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