
An AI that has its own computer to complete tasks for you
🌐 Website • 📚 Documentation • 💬 Discord • 𝕏 Twitter
Deutsch | Español | français | 日本語 | 한국어 | Português | Русский | 中文
bytebot_github_login.mp4
bytebot_uc_2.mp4
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 into a folder" 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 a folder
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:9992Bytebot 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 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"
importrequests# Simple taskresponse=requests.post('http://localhost:9991/tasks', json={
'description': 'Download the latest sales report and create a summary'
})
# Task with file uploadfiles= {'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:
# 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-...- 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.