- Containerized Desktop - Lightweight XFCE4 desktop on Ubuntu 22.04
- Access Anywhere - VNC and browser-based noVNC remote access
- Unified API - Control all desktop actions through a simple REST API
- Pre-installed Tools - Firefox and other essential applications ready to use
For full documentation, visit docs.bytebot.ai
- Docker installed on your system
# Build the image
./scripts/build.sh
# Run the container
./scripts/run.sh
# Create .env file with your Anthropic API key
echo "ANTHROPIC_API_KEY=your_api_key_here" > infrastructure/docker/.env
# Start all services (Bytebot, agent, UI, databases)
docker-compose -f infrastructure/docker/docker-compose.yml --env-file infrastructure/docker/.env up -d --build
To shut down all services:
docker-compose -f infrastructure/docker/docker-compose.yml --env-file infrastructure/docker/.env down
More information can be found in the Quickstart Guide.
- VNC Client: Connect to
localhost:5900
- Web Browser (noVNC): Navigate to
http://localhost:9990/vnc
- Bytebot Agent API: Available at
http://localhost:9991
- Bytebot Chat UI: Available at
http://localhost:9992
Control Bytebot using the unified computer action API:
The unified API supports the following actions:
Action | Description | Parameters |
---|---|---|
move_mouse |
Move the mouse cursor to a specific position | coordinates: { x: number, y: number } |
click_mouse |
Perform a mouse click | coordinates?: { x: number, y: number } , button: 'left' | 'right' | 'middle' , numClicks?: number , holdKeys?: string[] |
drag_mouse |
Click and drag the mouse from one point to another | path: { x: number, y: number }[] , button: 'left' | 'right' | 'middle' , holdKeys?: string[] |
scroll |
Scroll up, down, left, or right | coordinates?: { x: number, y: number } , direction: 'up' | 'down' | 'left' | 'right' , amount: number , holdKeys?: string[] |
press_key |
Press a keyboard key | key: string , modifiers?: string[] |
type_text |
Type a text string | text: string , delay?: number |
wait |
Wait for a specified duration | duration: number (milliseconds) |
screenshot |
Capture a screenshot of the desktop | None |
cursor_position |
Get the current cursor position | None |
We welcome contributions from the community!
- Fork the repo and create a new branch from the main branch.
- Commit your changes to the branch (please keep commits small and focused).
- Open a pull request with a clear description of the changes.
- Wait for review and address any feedback.
- Once approved, your changes will be merged.
For any questions or feedback, please join our community on Discord.
Bytebot builds on top of nutjs, and is inspired by Anthropic's original computer use demo.
Licensed under the MIT License.
Copyright 2025 Tantl Labs, Inc.