Cette page est affichée en anglais. Une traduction française est en cours.
WorkflowsMay 7, 2026·3 min de lecture

E2B Desktop — Headless Linux Desktop for AI Computer Use

E2B Desktop is a managed cloud Linux desktop with X11, browser, file manager, terminal. Plug into Claude Computer Use or OpenAI's CUA without local Docker.

E2B
E2B · Community
Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Needs Confirmation · 66/100Policy : confirmer
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : New
Point d'entrée
Asset
Commande CLI universelle
npx tokrepo install 8ddcd984-892f-4088-8efe-402414d16f97
Introduction

E2B Desktop is a managed cloud Linux desktop — full X11 environment, Firefox, terminal, file manager — exposed via VNC and an SDK. Drop in as the target environment for Claude Computer Use or OpenAI's CUA without setting up Docker / X11 locally. Best for: production deployments of computer-using AI agents, multi-tenant SaaS where each user gets an isolated desktop. Works with: Python SDK, Claude Computer Use, any agent that drives a screen+keyboard+mouse. Setup time: 5 minutes.


Spawn a desktop sandbox

from e2b_desktop import Sandbox

with Sandbox.create() as desktop:
    # Get the live VNC URL (embed in iframe or watch via VNC viewer)
    print(desktop.stream.get_url())

    # Take a screenshot
    screenshot = desktop.screenshot()
    with open("screenshot.png", "wb") as f:
        f.write(screenshot)

    # Drive mouse + keyboard
    desktop.left_click(500, 300)
    desktop.write("hello world")
    desktop.press("Enter")

    # Launch an app
    desktop.launch("firefox", "https://news.ycombinator.com")

Use with Claude Computer Use

from anthropic import Anthropic
from e2b_desktop import Sandbox

desktop = Sandbox.create()

response = anthropic.beta.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=4096,
    tools=[
        {
            "type": "computer_20241022",
            "name": "computer",
            "display_width_px": desktop.width,
            "display_height_px": desktop.height,
        }
    ],
    messages=[{"role": "user", "content": "Find the top story on HN, screenshot it"}],
    extra_headers={"anthropic-beta": "computer-use-2024-10-22"},
)

# Each tool call from Claude — execute against desktop:
for content in response.content:
    if content.type == "tool_use" and content.input.get("action") == "screenshot":
        ss = desktop.screenshot()
        # ... return base64 to Claude
    elif content.input.get("action") == "left_click":
        x, y = content.input["coordinate"]
        desktop.left_click(x, y)
    # ... handle other actions

Multi-tenant pattern

# Each user gets their own sandbox
def get_user_desktop(user_id):
    sandbox = Sandbox.create(timeout=3600)
    sandbox.set_metadata("user_id", user_id)
    return sandbox

# Reconnect to a running sandbox by ID
sandbox = Sandbox.connect(sandbox_id)

Sessions persist across calls — useful for "agent did some work, returned to the user, now resumes" flows.


FAQ

Q: How is this different from Open Interpreter OS Mode? A: Open Interpreter OS Mode runs on YOUR machine — your screen, your keyboard. E2B Desktop runs in the cloud — agent gets an isolated cloud desktop, your machine is uninvolved. Use OS Mode for personal automation; E2B Desktop for production / multi-tenant SaaS.

Q: Can I install custom apps in the desktop? A: Yes — E2B Desktops use Ubuntu under the hood. Run desktop.commands.run('apt install --yes <package>') or build a custom image with e2b template build for fast cold starts.

Q: Does it support audio / video? A: VNC streams the visual desktop in real time. Audio is not yet supported; video apps work for visual-only output. For audio interactions, layer a separate audio pipeline.


Quick Use

  1. pip install e2b-desktop
  2. Sandbox.create() returns a desktop with desktop.stream.get_url() for VNC
  3. Drive with desktop.left_click(x, y), desktop.write(...), desktop.screenshot()

Intro

E2B Desktop is a managed cloud Linux desktop — full X11 environment, Firefox, terminal, file manager — exposed via VNC and an SDK. Drop in as the target environment for Claude Computer Use or OpenAI's CUA without setting up Docker / X11 locally. Best for: production deployments of computer-using AI agents, multi-tenant SaaS where each user gets an isolated desktop. Works with: Python SDK, Claude Computer Use, any agent that drives a screen+keyboard+mouse. Setup time: 5 minutes.


Spawn a desktop sandbox

from e2b_desktop import Sandbox

with Sandbox.create() as desktop:
    # Get the live VNC URL (embed in iframe or watch via VNC viewer)
    print(desktop.stream.get_url())

    # Take a screenshot
    screenshot = desktop.screenshot()
    with open("screenshot.png", "wb") as f:
        f.write(screenshot)

    # Drive mouse + keyboard
    desktop.left_click(500, 300)
    desktop.write("hello world")
    desktop.press("Enter")

    # Launch an app
    desktop.launch("firefox", "https://news.ycombinator.com")

Use with Claude Computer Use

from anthropic import Anthropic
from e2b_desktop import Sandbox

desktop = Sandbox.create()

response = anthropic.beta.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=4096,
    tools=[
        {
            "type": "computer_20241022",
            "name": "computer",
            "display_width_px": desktop.width,
            "display_height_px": desktop.height,
        }
    ],
    messages=[{"role": "user", "content": "Find the top story on HN, screenshot it"}],
    extra_headers={"anthropic-beta": "computer-use-2024-10-22"},
)

# Each tool call from Claude — execute against desktop:
for content in response.content:
    if content.type == "tool_use" and content.input.get("action") == "screenshot":
        ss = desktop.screenshot()
        # ... return base64 to Claude
    elif content.input.get("action") == "left_click":
        x, y = content.input["coordinate"]
        desktop.left_click(x, y)
    # ... handle other actions

Multi-tenant pattern

# Each user gets their own sandbox
def get_user_desktop(user_id):
    sandbox = Sandbox.create(timeout=3600)
    sandbox.set_metadata("user_id", user_id)
    return sandbox

# Reconnect to a running sandbox by ID
sandbox = Sandbox.connect(sandbox_id)

Sessions persist across calls — useful for "agent did some work, returned to the user, now resumes" flows.


FAQ

Q: How is this different from Open Interpreter OS Mode? A: Open Interpreter OS Mode runs on YOUR machine — your screen, your keyboard. E2B Desktop runs in the cloud — agent gets an isolated cloud desktop, your machine is uninvolved. Use OS Mode for personal automation; E2B Desktop for production / multi-tenant SaaS.

Q: Can I install custom apps in the desktop? A: Yes — E2B Desktops use Ubuntu under the hood. Run desktop.commands.run('apt install --yes <package>') or build a custom image with e2b template build for fast cold starts.

Q: Does it support audio / video? A: VNC streams the visual desktop in real time. Audio is not yet supported; video apps work for visual-only output. For audio interactions, layer a separate audio pipeline.


Source & Thanks

Built by E2B. Licensed under Apache-2.0.

e2b-dev/desktop — ⭐ 1,500+

🙏

Source et remerciements

Built by E2B. Licensed under Apache-2.0.

e2b-dev/desktop — ⭐ 1,500+

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires