Skip to content

Repository files navigation


AgentDesk

Desktops for AI agents 💻
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

fromagentdeskimportDesktop# Create a desktop containerdesktop=Desktop.docker()
# Launch the UI for itdesktop.view(background=True)
# Open a browser to Googledesktop.open_url("https://google.com")
# Take actions on the desktopdesktop.move_mouse(500, 500)
desktop.click()
img=desktop.take_screenshots()

Usage

Create a local desktop

fromagentdeskimportDesktopdesktop=Desktop.docker()
$ agentdesk create --provider docker

*requires docker

Create a remote desktop on Kubernetes

desktop=Desktop.kube()
$ agentdesk create --provider kube

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_screenshots()

Processors

Process images to make them more accessible to LMMs.

Grid

Add a coordinate grid on top of the image

fromagentdesk.processorsimportGridProcessorimg=desktop.take_screenshots()
processor=GridProcessor()
grid_img=processor.process_b64(img)

Community

Come join us on Discord.

Developing

Please open an issue before creating a PR.

Changes to the VM happen in agentd.

About

A desktop for AI agents

Resources

Code of conduct

Contributing

Stars

224 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages