pi-extension-e2b

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

pi-extension-e2b

E2B cloud sandbox integration for pi. Redirects all tool execution (bash, read, write, edit, ls, find, grep) to an E2B cloud sandbox, giving the agent a full Linux environment with internet access — completely isolated from your local machine.

Install

pi install npm:pi-extension-e2b

Setup

Set your E2B API key:

export E2B_API_KEY=your_key_here

Requirements

  • pi >=0.80.0
  • e2b SDK v2 requires Node >=20.18.1 when pi runs under Node
  • Custom templates built with envd <0.2.0 must be rebuilt; v2 sandboxes are secure by default

Usage

pi --e2b                          # Create new sandbox (no file sync)
pi --e2b --e2b-sync              # Create new sandbox and sync local files
pi --e2b --e2b-persist           # Pause sandbox on session end or timeout
pi --e2b --e2b-template custom    # Use a custom E2B template
pi --e2b --e2b-sandbox <id>       # Reconnect to an existing sandbox

Commands

Command Description
/e2b Show sandbox status & info
/e2b-upload Upload local file(s) to the sandbox
/e2b-download Download file(s) from the sandbox
/e2b-pause Pause the sandbox and restore local tools
/e2b-list List pi-created sandboxes; reconnect or kill one
/e2b-reconnect Connect to an existing sandbox by ID

Persistence

With --e2b-persist, the sandbox is paused instead of killed when the session ends or its timeout fires. Use /e2b-reconnect <id> or /e2b-list to resume it later; /e2b-list can also kill paused sandboxes. Paused sandboxes retain their state but accrue E2B storage charges until they are killed.

Keyboard Shortcut

Ctrl+Shift+E — Toggle E2B sandbox on/off mid-session. With --e2b-persist, disabling pauses the sandbox instead of killing it.

LLM-Callable Tools

Tool Description
e2b_port_url Get the public URL for a port running in the sandbox

How It Works

When enabled, the extension replaces all 7 built-in pi tools (bash, read, write, edit, ls, find, grep) with E2B-backed implementations that execute in the remote sandbox. New sandboxes are tagged with app=pi-e2b and the local project name for listing. File sync uses git archive (or tar fallback) to upload your project. A keepalive timer extends the sandbox timeout automatically.

License

MIT