← 返回 Skills 市场
eyhn

E2B Desktop

作者 EYHN · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
449
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install e2b-desktop
功能描述
Control E2B Desktop sandboxes (virtual Linux desktops) for computer-use agents. Use when you need to create/manage sandboxed desktop environments, take scree...
使用说明 (SKILL.md)

E2B Desktop Skill

Control a headless Linux desktop (Ubuntu + XFCE) via the e2b-desktop Python SDK. All scripts live in scripts/ and wrap the SDK in bash for easy agent use.

Prerequisites

pip install e2b-desktop
export E2B_API_KEY=e2b_***

State Management

  • start_sandbox.sh saves the sandbox ID to ~/.e2b_state
  • All other scripts auto-load it from there
  • Override anytime with export E2B_SANDBOX_ID=\x3Cid>
  • Sandboxes survive script exit — reconnect with Sandbox.connect(sandbox_id)

Scripts

Script Usage Description
start_sandbox.sh [--resolution 1280x800] [--timeout 300] [--stream] Create sandbox; optionally start VNC stream
kill_sandbox.sh [SANDBOX_ID] Kill sandbox and remove state
screenshot.sh [OUTPUT_FILE] Take screenshot → PNG (default: /tmp/e2b_screenshot.png)
click.sh X Y Left click at coordinates
right_click.sh X Y Right click
double_click.sh X Y Double click
middle_click.sh X Y Middle click
move_mouse.sh X Y Move cursor (no click)
drag.sh X1 Y1 X2 Y2 Click-drag between two points
scroll.sh AMOUNT Scroll (positive=up, negative=down)
type_text.sh "text" Type text at current cursor
press_key.sh KEY [KEY2...] Press key or combo (e.g. ctrl c)
run_command.sh "cmd" Run shell command inside sandbox
open_url.sh URL_OR_PATH Open URL or file in default app
launch_app.sh APP_NAME Launch app (e.g. firefox, vscode)
stream_start.sh [--auth] Start VNC stream; --auth for password-protected
stream_stop.sh (none) Stop VNC stream
get_cursor.sh (none) Print CURSOR_X and CURSOR_Y
get_screen_size.sh (none) Print SCREEN_WIDTH and SCREEN_HEIGHT
list_windows.sh [APP_NAME] List app windows or show active window
wait.sh MILLISECONDS Wait N ms (sandbox-side)

Computer-Use Agent Loop Pattern

SCRIPTS="skills/e2b-desktop/scripts"

# 1. Start sandbox
source \x3C($SCRIPTS/start_sandbox.sh --resolution 1280x800 --stream)
echo "Sandbox: $SANDBOX_ID"
echo "View at: $STREAM_URL"

# 2. Agent loop
while true; do
  # Capture screen
  $SCRIPTS/screenshot.sh /tmp/screen.png

  # Send to LLM, parse action... (your code)
  ACTION=$(llm_decide /tmp/screen.png)

  case "$ACTION" in
    click:*)   IFS=: read -r _ x y \x3C\x3C\x3C "$ACTION"; $SCRIPTS/click.sh $x $y ;;
    type:*)    $SCRIPTS/type_text.sh "${ACTION#type:}" ;;
    key:*)     $SCRIPTS/press_key.sh ${ACTION#key:} ;;
    done)      break ;;
  esac
done

# 3. Clean up
$SCRIPTS/kill_sandbox.sh

Key Notes

  • scroll.sh AMOUNT: positive = scroll up, negative = scroll down (matches desktop.scroll(amount) API)
  • press_key.sh ctrl c: multiple args become a key combo via desktop.press(["ctrl", "c"])
  • run_command.sh exits with the sandbox command's exit code
  • All mouse coordinate scripts accept integer pixel coordinates matching sandbox resolution
  • VNC stream: only one active stream at a time; stop before switching windows
安全使用建议
This skill appears to implement the advertised sandbox control functions, but check these before installing: - Verify the publisher/source and the 'e2b-desktop' Python package on PyPI (or the expected distribution) — the repo/homepage is missing in the metadata. - Provide an API key (E2B_API_KEY) with minimal privileges and rotate it if you later remove the skill; the registry metadata failing to declare it is an oversight. - Be cautious about screenshots, VNC stream URLs, and printed AUTH_KEY values — these are sensitive and could leak data if logged or sent to external services (e.g., the example that sends screenshots to an LLM). - Review who/what can call the scripts (especially run_command.sh) — they allow arbitrary command execution inside the sandbox; ensure the sandboxing/isolation meets your threat model. - If you plan to allow autonomous agent invocation, limit that agent's permissions and monitor for unexpected stream starts or state changes. If you want a stronger assurance, ask the publisher for an official homepage/repo and a signed release of the 'e2b-desktop' SDK or provide the SDK source for review.
功能分析
Type: OpenClaw Skill Name: e2b-desktop Version: 1.0.0 The skill provides powerful capabilities to control a sandboxed Linux desktop, including running arbitrary shell commands (`run_command.sh`), opening arbitrary URLs (`open_url.sh`), and launching applications (`launch_app.sh`) within the sandbox. The `SKILL.md` documentation explicitly demonstrates an agent loop where LLM output is directly parsed and used as arguments for these scripts. While the underlying Python wrappers prevent direct shell injection on the host system, this direct mapping of LLM output to powerful sandbox control actions creates a significant prompt injection vulnerability, allowing a maliciously prompted agent to perform harmful actions or exfiltrate data *from within the sandboxed environment*.
能力评估
Purpose & Capability
Name/description match the included scripts and SDK usage: scripts provide mouse/keyboard, screenshots, run commands, and VNC streaming as advertised. However, the registry metadata lists no required environment variables while the SKILL.md and every script require an E2B_API_KEY (and optionally E2B_SANDBOX_ID). That metadata omission is an inconsistency that could mislead reviewers or automation.
Instruction Scope
Runtime instructions and scripts stay within the sandbox domain: they read/write ~/.e2b_state, use E2B_API_KEY, and call the e2b-desktop SDK to control the VM. They also expose sandbox screenshots, stream URLs and (when requested) stream auth keys, and provide a run_command.sh that executes arbitrary shell commands inside the sandbox. Those behaviors are expected for a desktop-control skill but raise data-exfiltration risk (screenshots/streams/printed auth keys) which the SKILL.md demonstrates by sending screenshots to an LLM in an example.
Install Mechanism
No install spec is included (instruction-only); the SKILL.md asks users to 'pip install e2b-desktop'. The skill itself does not download arbitrary code or use obscure URLs. Risk depends on the external 'e2b-desktop' package provenance (not included here).
Credentials
The scripts require E2B_API_KEY (and may use E2B_SANDBOX_ID / ~/.e2b_state), but the registry metadata declares no required env vars or primary credential. Requiring a service API key is proportionate to the purpose, but the missing declaration is a transparency problem. Also, the skill prints stream auth keys and URLs (sensitive) to stdout which could be captured by whatever calls these scripts.
Persistence & Privilege
always is false and the skill writes only its own state file (~/.e2b_state). It does not request permanent platform-wide privileges or modify other skills. Note: because disable-model-invocation is false (normal default), an agent allowed to invoke skills autonomously could use this skill to run commands in sandboxes and start streams; combine that with the other concerns when granting autonomous permissions.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install e2b-desktop
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /e2b-desktop 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: control E2B cloud Linux desktop with shell scripts for screenshot, mouse/keyboard, VNC stream, and shell commands
元数据
Slug e2b-desktop
版本 1.0.0
许可证
累计安装 1
当前安装数 1
历史版本数 1
常见问题

E2B Desktop 是什么?

Control E2B Desktop sandboxes (virtual Linux desktops) for computer-use agents. Use when you need to create/manage sandboxed desktop environments, take scree... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 449 次。

如何安装 E2B Desktop?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install e2b-desktop」即可一键安装,无需额外配置。

E2B Desktop 是免费的吗?

是的,E2B Desktop 完全免费(开源免费),可自由下载、安装和使用。

E2B Desktop 支持哪些平台?

E2B Desktop 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 E2B Desktop?

由 EYHN(@eyhn)开发并维护,当前版本 v1.0.0。

💬 留言讨论