dsh-agentenv-sandbox:AgentENV E2B 沙箱

DeepSeek Harness(DSH)采用插件化架构。在 Agent 开发中,本地文件系统和子进程是常见的执行载体,但这带来了一定的安全隐患。DSH 插件 dsh-agentenv-sandbox 解决了这个问题,它将 Harness 进程的文件操作和命令执行能力迁移到远程环境,通过 AgentENV 提供的 Firecracker microVM 后端来运行。

插件介绍

该插件是 DeepSeek Harness 的 AgentENV/E2B 执行世界 bundle。它负责替换 DSH 内置的本地文件系统和子进程提供程序,使用官方的 Harness E2B 适配器,并运行在 AgentENV 的 microVM 后端之上。安装后,Bash 命令、文件工具、持久化终端以及 LSP 进程将共享同一个远程 Linux 世界。

  • 所有者:ztting01
  • 分类:admin-security
  • 许可证:MIT
  • 核心价值:在 microVM 环境中安全地执行 Agent 操作。

核心功能

  1. 提供程序替换:将本地文件系统和子进程提供程序替换为 E2B 适配器,Agent 的所有操作通过 ctx.fs 和 ctx.subprocess 发送到远程。
  2. 运行环境:基于 AgentENV Firecracker microVM 后端。
  3. 支持能力:支持 Bash 命令、文件工具、持久化终端、LSP 进程。
  4. 版本兼容:与 DeepSeek Harness 0.1.0-rc.7、E2B 2.29.1、AgentENV 0.1.0 和 0.1.3 兼容。
  5. 环境要求:需要 Node.js 22.19+ 或 24+ 环境。

安装与配置

此插件不包含 AgentENV 和 DeepSeek Harness 的安装脚本,也不自动构建模板。它要求用户预先完成 AgentENV 和 Harness 的部署,并构建好模板。

1. 环境与前置条件

  • 操作系统:仅支持 WSL 2 或 Linux。原生 Windows 不支持(DSH 会拒绝启动)。
  • Node.js:版本需在 22.19.0 以上或 24.0.0 以上。
  • 依赖:必须预先安装并运行 DeepSeek Harness 和 AgentENV。

2. 构建模板

在使用插件前,需要先构建一个 AgentENV 模板。该插件包含一个 sandbox/Dockerfile,定义了 Node.js 24、Bash、Git 等工具环境。

# 在 AgentENV 安装并认证后,从插件根目录运行
aenv build ./sandbox/Dockerfile --name dsh-agentenv-node24 --cpu 2 --memory 4096

3. 配置环境变量

在启动 Harness 进程的 shell 中,必须设置以下环境变量以连接到本地或远程的 AgentENV 服务。

export AENV_API_KEY='<agentenv-api-key>'
export E2B_API_URL=http://127.0.0.1:8000
export E2B_SANDBOX_URL="$E2B_API_URL"
export E2B_API_KEY="$AENV_API_KEY"
export AENV_TEMPLATE_ID=dsh-agentenv-node24

4. 安装插件

下载预编译的 release 包并添加到 Harness 的 web profile。

curl -LO https://github.com/ztting01/dsh-agentenv-sandbox/releases/download/v0.1.5/dsh-agentenv-sandbox-0.1.5.tgz
dsh plugin --profile web add "$PWD/dsh-agentenv-sandbox-0.1.5.tgz"
dsh --profile web --dump-config

注意事项

  • 失败关闭机制:该插件采用“失败关闭”策略。如果 AgentENV 创建、设置或工作区上传失败,远程提供程序将无法加载,且不会回退到主机执行。这保证了隔离性。
  • 宿主机依赖:DSH 进程本身、模型调用、Cordis 服务、会话持久化等仍保留在宿主机;只有通过适配器的操作会进入 microVM。
  • 纯代码插件限制:纯代码插件无法直接访问 Node.js 原生的 fs 或 child_process,必须通过适配器进行。
  • 版本锁定:当前版本在 DeepSeek Harness 0.1.0-rc.7 上测试通过,请确保版本匹配。

总结

dsh-agentenv-sandbox 是将 DSH 本地执行环境替换为远程隔离环境的标准方案。它通过 E2B 适配器和 AgentENV microVM,让 Agent 在更安全、可持久化的沙箱中运行 Bash 和文件操作。部署时需注意前置依赖的安装和模板的构建,并确保在 WSL 2 或 Linux 环境下运行。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜