agentdesk


Nameagentdesk JSON
Version 0.2.112 PyPI version JSON
download
home_pageNone
SummaryA desktop for AI agents
upload_time2024-12-06 21:35:08
maintainerNone
docs_urlNone
authorPatrick Barker
requires_python<4.0,>=3.10
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- PROJECT LOGO -->
<br />
<p align="center">
  <!-- <a href="https://github.com/agentsea/skillpacks">
    <img src="https://project-logo.png" alt="Logo" width="80">
  </a> -->

  <h1 align="center">AgentDesk</h1>

  <p align="center">
    Desktops for AI agents &nbsp; :computer:
    <br />
    <a href="https://docs.hub.agentsea.ai/agentdesk/intro"><strong>Explore the docs »</strong></a>
    <br />
    <br />
    <a href="https://youtu.be/exoOUUwFRB8">View Demo</a>
    ·
    <a href="https://github.com/agentsea/agentdesk/issues">Report Bug</a>
    ·
    <a href="https://github.com/agentsea/agentdesk/issues">Request Feature</a>
  </p>
  <br>
</p>

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_screenshot()
```

## 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
```

### Create a remote desktop on GCE

```python
desktop = Desktop.gce()
```

```bash
$ agentdesk create --provider gce
```

### Create a remote desktop on EC2

```python
desktop = Desktop.ec2()
```

```bash
$ agentdesk create --provider ec2
```

### 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_screenshot()
```

### 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_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](./examples/drawing/demo.ipynb).

### GPT-4V

See how to use GPT-4V with AgentDesk in our [notebook](./examples/gpt4v/note.ipynb) or [agent](./examples/gpt4v/main.py).

## 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).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "agentdesk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Patrick Barker",
    "author_email": "patrickbarkerco@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/32/07/1dbe48a6ebd417a23f8f9ef667ca9e95581396dabaf819707833f5e88606/agentdesk-0.2.112.tar.gz",
    "platform": null,
    "description": "<!-- PROJECT LOGO -->\n<br />\n<p align=\"center\">\n  <!-- <a href=\"https://github.com/agentsea/skillpacks\">\n    <img src=\"https://project-logo.png\" alt=\"Logo\" width=\"80\">\n  </a> -->\n\n  <h1 align=\"center\">AgentDesk</h1>\n\n  <p align=\"center\">\n    Desktops for AI agents &nbsp; :computer:\n    <br />\n    <a href=\"https://docs.hub.agentsea.ai/agentdesk/intro\"><strong>Explore the docs \u00bb</strong></a>\n    <br />\n    <br />\n    <a href=\"https://youtu.be/exoOUUwFRB8\">View Demo</a>\n    \u00b7\n    <a href=\"https://github.com/agentsea/agentdesk/issues\">Report Bug</a>\n    \u00b7\n    <a href=\"https://github.com/agentsea/agentdesk/issues\">Request Feature</a>\n  </p>\n  <br>\n</p>\n\nAgentDesk provides full-featured desktop environments which can be programatically controlled by AI agents. \nSpin them up locally or in the cloud.\n\n\u25b6 Built on [agentd](https://github.com/agentsea/agentd) a runtime daemon which exposes a REST API for interacting with the desktop.\n\n\u25b6 Implements the [DeviceBay Protocol](https://github.com/agentsea/devicebay).\n\n## Installation\n\n```\npip install agentdesk\n```\n\n## Quick Start\n\n```python\nfrom agentdesk import Desktop\n\n# Create a desktop container\ndesktop = Desktop.docker()\n\n# Launch the UI for it\ndesktop.view(background=True)\n\n# Open a browser to Google\ndesktop.open_url(\"https://google.com\")\n\n# Take actions on the desktop\ndesktop.move_mouse(500, 500)\ndesktop.click()\nimg = desktop.take_screenshot()\n```\n\n## Usage\n\n### Create a local desktop\n\n```python\nfrom agentdesk import Desktop\n\ndesktop = Desktop.docker()\n```\n\n```bash\n$ agentdesk create --provider docker\n```\n\n_\\*requires [docker](https://www.docker.com/)_\n\n\n### Create a remote desktop on Kubernetes\n\n```python\ndesktop = Desktop.kube()\n```\n\n```bash\n$ agentdesk create --provider kube\n```\n\n### Create a remote desktop on GCE\n\n```python\ndesktop = Desktop.gce()\n```\n\n```bash\n$ agentdesk create --provider gce\n```\n\n### Create a remote desktop on EC2\n\n```python\ndesktop = Desktop.ec2()\n```\n\n```bash\n$ agentdesk create --provider ec2\n```\n\n### View the desktop in the UI\n\n```python\ndesktop.view()\n```\n\n```bash\n$ agentdesk view old_mckinny\n```\n\n_\\*requires docker_\n\n### List desktops\n\n```python\nDesktop.find()\n```\n\n```bash\n$ agentdesk get\n```\n\n### Delete a desktop\n\n```python\nDesktop.delete(\"old_mckinny\")\n```\n\n```bash\n$ agentdesk delete old_mckinny\n```\n\n### Use the desktop\n\n```python\ndesktop.open_url(\"https://google.com\")\n\ncoords = desktop.mouse_coordinates()\n\ndesktop.move_mouse(500, 500)\n\ndesktop.click()\n\ndesktop.type_text(\"What kind of ducks are in Canada?\")\n\ndesktop.press_key('Enter')\n\ndesktop.scroll()\n\nimg = desktop.take_screenshot()\n```\n\n### Processors\n\nProcess images to make them more accessible to LMMs.\n\n#### Grid\n\nAdd a coordinate grid on top of the image\n\n```python\nfrom agentdesk.processors import GridProcessor\n\nimg = desktop.take_screenshot()\n\nprocessor = GridProcessor()\ngrid_img = processor.process_b64(img)\n```\n\n## Examples\n\n### Drawing Bot\n\nSee how to use a web-based drawing app with AgentDesk in our [notebook](./examples/drawing/demo.ipynb).\n\n### GPT-4V\n\nSee how to use GPT-4V with AgentDesk in our [notebook](./examples/gpt4v/note.ipynb) or [agent](./examples/gpt4v/main.py).\n\n## Community\n\nCome join us on [Discord](https://discord.gg/hhaq7XYPS6).\n\n## Developing\n\nPlease open an issue before creating a PR.\n\nChanges to the VM happen in [agentd](https://github.com/agentsea/agentd).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A desktop for AI agents",
    "version": "0.2.112",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "711ed50bc71f535b25ec29faae60ae3ec7e52c8f5acd5602b9f0e57da4d45233",
                "md5": "635ce5f8fbb8efb69eccdd09d902599c",
                "sha256": "b3ca62b9bfc707ed2c01b72b8c07641fda8fa30d8c26a4533b0887b54e613451"
            },
            "downloads": -1,
            "filename": "agentdesk-0.2.112-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "635ce5f8fbb8efb69eccdd09d902599c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 66577,
            "upload_time": "2024-12-06T21:35:06",
            "upload_time_iso_8601": "2024-12-06T21:35:06.085575Z",
            "url": "https://files.pythonhosted.org/packages/71/1e/d50bc71f535b25ec29faae60ae3ec7e52c8f5acd5602b9f0e57da4d45233/agentdesk-0.2.112-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32071dbe48a6ebd417a23f8f9ef667ca9e95581396dabaf819707833f5e88606",
                "md5": "82a05f913e17efdf368aec5e84619a45",
                "sha256": "b485c209e3e96e7bc3567f7eabd138a853e93cb58e761600c893245d69d594cd"
            },
            "downloads": -1,
            "filename": "agentdesk-0.2.112.tar.gz",
            "has_sig": false,
            "md5_digest": "82a05f913e17efdf368aec5e84619a45",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 52337,
            "upload_time": "2024-12-06T21:35:08",
            "upload_time_iso_8601": "2024-12-06T21:35:08.030377Z",
            "url": "https://files.pythonhosted.org/packages/32/07/1dbe48a6ebd417a23f8f9ef667ca9e95581396dabaf819707833f5e88606/agentdesk-0.2.112.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-06 21:35:08",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "agentdesk"
}
        
Elapsed time: 0.37436s