dsh-e2b/packages/e2b/e2b官方

175.3kStar19.0kFork0Issue752Watching

为 DeepSeek Harness provider 适配器提供共享的 E2B 沙箱生命周期管理,让 ctx.e2b 在文件系统和子进程适配器间共享同一个远程 Linux 工作目录和进程环境

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科

此插件是大仓库 deepseek-ai/deepseek-harness 的子包,星数与活跃度统计的是整个仓库。

语言
TypeScript
License
MIT
分支
master
ai-agentscordisdshdsh-plugin

安装

$ dsh plugin --profile web add npm:@deepseek-ai/dsh-e2b

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 deepseek-ai/deepseek-harness/packages/e2b/e2b:先查看仓库 https://github.com/deepseek-ai/deepseek-harness 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

English | 中文

Shared lifecycle owner for one E2B sandbox. The filesystem and subprocess adapters inject ctx.e2b, await its single SDK handle, and therefore inhabit the same remote Linux working tree and process world. The package pins e2b@2.29.1; the family map lists the opt-in composition.

Configuration

- id: e2b
  name: '@deepseek-ai/dsh-e2b'
  config:
    cwd: /home/user/workspace
    timeoutMs: 300000

- id: subprocess-e2b
  name: '@deepseek-ai/dsh-subprocess-e2b'

- id: fs-e2b
  name: '@deepseek-ai/dsh-fs-e2b'

apiKey is optional and otherwise reads E2B_API_KEY; the key configures the host SDK connection and is never installed in the sandbox. cwd defaults to /home/user/workspace and must be an absolute POSIX path. timeoutMs defaults to five minutes and controls the sandbox lifetime; expiry deletes the sandbox.

Lifecycle and ownership

Construction starts one sandbox creation. Before resolving getSandbox(), the service creates cwd and the private cwd/.dsh-e2b adapter-state directory, verifies that the reserved path is a real directory rather than a symlink or another file type, then sets it to mode 0700. Each adapter-internal E2B command shell receives a fresh randomized root-level HOME, so the SDK's fixed login shell does not resolve profile files from the mutable user home before the control command.

Disposal first prevents new handle acquisition, then awaits setup and deletes the sandbox. A SandboxNotFoundError means expiry or another owner already deleted it and is accepted as quiescence. Initial directory setup failure makes one deletion attempt; the configured E2B timeout bounds a second failure. Provider plugins must load after this owner and dispose before it.

Model Experience

None, as this shared runtime owner registers no model-visible context; provider adapters and their consumers own any rendered effects.

KV Cache effect

No direct invalidation; this package does not contribute request tokens.

Known Limitations and Deferred Work

  • This is not a whole-harness runtime — Cordis services, agent/session state, session logs, LLM requests, skills, and SDK-side buffers stay in the host process.
  • Sandbox state is ephemeral — disposal and timeout delete the sandbox; reconnect, pause/leave retention, templates, volumes, and snapshots are outside this POC.
  • No deployment platform is configured — network policy, host-workspace synchronization, and sandbox discovery are outside this POC.
  • cwd is a resolution convention, not containment — adapters and commands can address other sandbox paths; E2B network access retains the base image's policy.

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/deepseek-ai/deepseek-harness/packages/e2b/e2b)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录
dsh-e2b/packages/e2b/e2b — DeepSeek Harness 插件 | deepseek-plugin.org