AgentDesk
Desktops for AI agents :computer:
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
AgentDesk provides full-featured desktop environments which can be programatically controlled by AI agents.
Spin them up locally or in the cloud.
▶ Built on [agentd](https://github.com/agentsea/agentd) a runtime daemon which exposes a REST API for interacting with the desktop.
▶ Implements the [DeviceBay Protocol](https://github.com/agentsea/devicebay).
## Installation
```
pip install agentdesk
```
## Quick Start
```python
from agentdesk import Desktop
# Create a desktop container
desktop = Desktop.docker()
# Launch the UI for it
desktop.view(background=True)
# Open a browser to Google
desktop.open_url("https://google.com")
# Take actions on the desktop
desktop.move_mouse(500, 500)
desktop.click()
img = desktop.take_screenshots()
```
## Usage
### Create a local desktop
```python
from agentdesk import Desktop
desktop = Desktop.docker()
```
```bash
$ agentdesk create --provider docker
```
_\*requires [docker](https://www.docker.com/)_
### Create a remote desktop on Kubernetes
```python
desktop = Desktop.kube()
```
```bash
$ agentdesk create --provider kube
```
### View the desktop in the UI
```python
desktop.view()
```
```bash
$ agentdesk view old_mckinny
```
_\*requires docker_
### List desktops
```python
Desktop.find()
```
```bash
$ agentdesk get
```
### Delete a desktop
```python
Desktop.delete("old_mckinny")
```
```bash
$ agentdesk delete old_mckinny
```
### Use the desktop
```python
desktop.open_url("https://google.com")
coords = desktop.mouse_coordinates()
desktop.move_mouse(500, 500)
desktop.click()
desktop.type_text("What kind of ducks are in Canada?")
desktop.press_key('Enter')
desktop.scroll()
img = desktop.take_screenshots()
```
### Processors
Process images to make them more accessible to LMMs.
#### Grid
Add a coordinate grid on top of the image
```python
from agentdesk.processors import GridProcessor
img = desktop.take_screenshots()
processor = GridProcessor()
grid_img = processor.process_b64(img)
```
## Community
Come join us on [Discord](https://discord.gg/hhaq7XYPS6).
## Developing
Please open an issue before creating a PR.
Changes to the VM happen in [agentd](https://github.com/agentsea/agentd).