2025-04-21 23:56:21 -04:00
<div align="center">
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
<img src="docs/images/bytebot-logo.png" width="500" alt="Bytebot Logo">
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
# Bytebot: Open-Source AI Desktop Agent
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
**An AI that has its own computer to complete tasks for you **
2025-04-19 19:07:46 -04:00
2025-07-30 23:31:56 -04:00
[](https://railway.com/deploy/bytebot?referralCode=L9lKXQ)
[](https://github.com/bytebot-ai/bytebot/tree/main/docker)
[](LICENSE)
[](https://discord.com/invite/d9ewZkWPTP)
[🌐 Website ](https://bytebot.ai ) • [📚 Documentation ](https://docs.bytebot.ai ) • [💬 Discord ](https://discord.com/invite/d9ewZkWPTP ) • [𝕏 Twitter ](https://x.com/bytebot_ai )
2025-04-19 19:07:46 -04:00
</div>
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
---
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
## What is a Desktop Agent?
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
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:
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
- 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
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
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.
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
## Why Give AI Its Own Computer?
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
When AI has access to a complete desktop environment, it unlocks capabilities that aren't possible with browser-only agents or API integrations:
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
### Complete Task Autonomy
2025-06-19 16:03:20 -04:00
2025-07-30 23:31:56 -04:00
Give Bytebot a task like "Download all invoices from our vendor portals and organize them by date" and it will:
2025-06-19 16:03:20 -04:00
2025-07-30 23:31:56 -04:00
- 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
2025-06-19 16:03:20 -04:00
2025-07-30 23:31:56 -04:00
### Process Any Document
2025-06-19 16:03:20 -04:00
2025-07-30 23:31:56 -04:00
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
2025-06-19 16:03:20 -04:00
2025-07-30 23:31:56 -04:00
### Use Real Applications
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
Bytebot isn't limited to web interfaces. It can:
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
- 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
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
## Quick Start
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
### Deploy in 2 Minutes
**Option 1: Railway (Easiest) **
[](https://railway.com/deploy/bytebot?referralCode=L9lKXQ)
Just click and add your AI provider API key.
**Option 2: Docker Compose **
2025-06-18 15:58:21 -04:00
``` bash
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
2025-07-08 00:32:54 -04:00
2025-07-30 23:31:56 -04:00
# 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
2025-06-18 15:58:21 -04:00
2025-07-02 16:43:46 -04:00
docker-compose -f docker/docker-compose.yml up -d
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
# Open http://localhost:9992
2025-06-18 15:58:21 -04:00
```
2025-07-30 23:31:56 -04:00
[Full deployment guide → ](https://docs.bytebot.ai/quickstart )
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
## How It Works
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
Bytebot consists of four integrated components:
2025-07-08 00:32:54 -04:00
2025-07-30 23:31:56 -04:00
1. **Virtual Desktop ** : A complete Ubuntu Linux environment with pre-installed applications
2. **AI Agent ** : Understands your tasks and controls the desktop to complete them
3. **Task Interface ** : Web UI where you create tasks and watch Bytebot work
4. **APIs ** : REST endpoints for programmatic task creation and desktop control
2025-07-08 00:32:54 -04:00
2025-07-30 23:31:56 -04:00
### Key Features
2025-07-08 00:32:54 -04:00
2025-07-30 23:31:56 -04:00
- **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
2025-07-08 00:32:54 -04:00
2025-07-30 23:31:56 -04:00
## Example Tasks
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
### Basic Examples
2025-06-18 15:58:21 -04:00
```
2025-07-30 23:31:56 -04:00
"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"
2025-06-18 15:58:21 -04:00
```
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
### Document Processing
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
```
"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?"
```
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
### Multi-Application Workflows
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
```
"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"
```
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
## Programmatic Control
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
### Create Tasks via API
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
``` python
import requests
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
# Simple task
response = requests . post ( ' http://localhost:9991/tasks ' , json = {
' description ' : ' Download the latest sales report and create a summary '
} )
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
# 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
)
```
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
### Direct Desktop Control
2025-04-15 01:32:20 -04:00
2025-02-03 13:19:36 -05:00
``` bash
2025-07-30 23:31:56 -04:00
# 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]}'
2025-06-18 15:58:21 -04:00
```
2025-07-30 23:31:56 -04:00
[Full API documentation → ](https://docs.bytebot.ai/api-reference/introduction )
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
## Setting Up Your Desktop Agent
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
### 1. Deploy Bytebot
2025-04-26 23:26:59 -04:00
2025-07-30 23:31:56 -04:00
Use one of the deployment methods above to get Bytebot running.
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
### 2. Configure the Desktop
2025-04-17 23:19:48 -04:00
2025-07-30 23:31:56 -04:00
Use the Desktop tab in the UI to:
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
- Install additional programs you need
- Set up password managers for authentication
- Configure applications with your preferences
- Log into websites you want Bytebot to access
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
### 3. Start Giving Tasks
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
Create tasks in natural language and watch Bytebot complete them using the configured desktop.
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
## Use Cases
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
### Business Process Automation
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
- Invoice processing and data extraction
- Multi-system data synchronization
- Report generation from multiple sources
- Compliance checking across platforms
2025-06-18 15:58:21 -04:00
### Development & Testing
2025-07-30 23:31:56 -04:00
- Automated UI testing
- Cross-browser compatibility checks
- Documentation generation with screenshots
- Code deployment verification
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
### Research & Analysis
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
- Competitive analysis across websites
- Data gathering from multiple sources
- Document analysis and summarization
- Market research compilation
2025-04-17 23:19:48 -04:00
2025-07-30 23:31:56 -04:00
## Architecture
2025-04-26 23:26:59 -04:00
2025-07-30 23:31:56 -04:00
Bytebot is built with:
2025-04-26 23:26:59 -04:00
2025-07-30 23:31:56 -04:00
- **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
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
## Why Self-Host?
2025-04-15 01:32:20 -04:00
2025-07-30 23:31:56 -04:00
- **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
2025-04-15 01:32:20 -04:00
2025-07-30 23:31:56 -04:00
## Advanced Features
2025-04-15 01:32:20 -04:00
2025-07-30 23:31:56 -04:00
### Multiple AI Providers
2025-04-15 01:32:20 -04:00
2025-07-30 23:31:56 -04:00
Use any AI provider through our [LiteLLM integration ](https://docs.bytebot.ai/deployment/litellm ):
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
- Azure OpenAI
- AWS Bedrock
- Local models via Ollama
- 100+ other providers
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
### Enterprise Deployment
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
Deploy on Kubernetes with Helm:
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
``` bash
2025-08-03 20:33:54 -04:00
# Clone the repository
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
# Install with Helm
helm install bytebot ./helm \
2025-07-30 23:31:56 -04:00
--set agent.env.ANTHROPIC_API_KEY= sk-ant-...
```
2025-06-02 21:17:46 -07:00
2025-07-30 23:31:56 -04:00
[Enterprise deployment guide → ](https://docs.bytebot.ai/deployment/helm )
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
## Community & Support
2025-06-18 15:58:21 -04:00
2025-07-30 23:31:56 -04:00
- **Discord**: [Join our community ](https://discord.com/invite/d9ewZkWPTP ) for help and discussions
- **Documentation**: Comprehensive guides at [docs.bytebot.ai ](https://docs.bytebot.ai )
- **GitHub Issues**: Report bugs and request features
2025-06-28 00:01:05 -04:00
2025-07-30 23:31:56 -04:00
## Contributing
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
We welcome contributions! Whether it's:
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
- 🐛 Bug fixes
- ✨ New features
- 📚 Documentation improvements
- 🌐 Translations
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
Please:
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
1. Check existing [issues ](https://github.com/bytebot-ai/bytebot/issues ) first
2. Open an issue to discuss major changes
3. Submit PRs with clear descriptions
4. Join our [Discord ](https://discord.com/invite/d9ewZkWPTP ) to discuss ideas
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
## License
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
Bytebot is open source under the Apache 2.0 license.
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
---
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
<div align="center">
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
**Give your AI its own computer. See what it can do. **
2025-02-03 13:19:36 -05:00
2025-07-30 23:31:56 -04:00
[](https://railway.com/deploy/bytebot?referralCode=L9lKXQ)
2025-04-10 17:39:29 -04:00
2025-07-30 23:31:56 -04:00
<sub>Built by [Tantl Labs ](https://tantl.com ) and the open source community</sub>
2025-06-18 15:58:21 -04:00
</div>