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 a runtime daemon which exposes a REST API for interacting with the desktop.
▶ Implements the DeviceBay Protocol.
Installation
pip install agentdesk
Quick Start
from agentdesk import Desktop
# Create a local VM
desktop = Desktop.local()
# 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_screenshot()
Usage
Create a local desktop
from agentdesk import Desktop
desktop = Desktop.local()
$ agentdesk create --provider qemu
*requires qemu
Create a remote desktop on GCE
desktop = Desktop.gce()
$ agentdesk create --provider gce
Create a remote desktop on EC2
desktop = Desktop.ec2()
$ agentdesk create --provider ec2
View the desktop in the UI
desktop.view()
$ agentdesk view old_mckinny
*requires docker
List desktops
Desktop.find()
$ agentdesk get
Delete a desktop
Desktop.delete("old_mckinny")
$ agentdesk delete old_mckinny
Use the desktop
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_screenshot()
Processors
Process images to make them more accessible to LMMs.
Grid
Add a coordinate grid on top of the image
from agentdesk.processors import GridProcessor
img = desktop.take_screenshot()
processor = GridProcessor()
grid_img = processor.process_b64(img)
Examples
Drawing Bot
See how to use a web-based drawing app with AgentDesk in our notebook.
GPT-4V
See how to use GPT-4V with AgentDesk in our notebook or agent.
Community
Come join us on Discord.
Developing
Please open an issue before creating a PR.
Changes to the VM happen in agentd.
Release files for agentdesk_dg 0.2.93
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentdesk_dg-0.2.93.tar.gz | 34.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentdesk_dg-0.2.93-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.0 kB
Release files / agentdesk_dg-0.2.93.tar.gz
| Download URL | agentdesk_dg-0.2.93.tar.gz |
|---|---|
| Size | 34.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6934a3cb111de5fae3232ca96cc70d3abe3a0cee723cfb0312566802f2cd54e2
|
|
BLAKE2b-256 checksum How to use checksums |
b0e8edf6defc845a2be0abf21f94549656755d96067a8b9ff469ca4d54ea0456
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.5 Darwin/23.6.0
|
Release files / agentdesk_dg-0.2.93-py3-none-any.whl
| Download URL | agentdesk_dg-0.2.93-py3-none-any.whl |
|---|---|
| Size | 43.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
10755d581f27d4b2ce8e86a68c5234ac1fd4527381df0e84e00f21f3c76efe25
|
|
BLAKE2b-256 checksum How to use checksums |
beeb946faf61d07aef10e90ae4b3858bc195b6f2bf6aff7e066c9f484cf8ecf8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.5 Darwin/23.6.0
|