全栈应用服务器

  • 全栈应用服务器 > 使用指南 > 沙箱服务概述 > AI Agents

    AI Agents

    最近更新时间: 2026-09-17 14:47:49

    概述

    AI Agents 是平台预构建的一组编码代理运行环境,已内置主流编码代理 CLI 及其依赖工具链,可在隔离的沙箱环境中以无头方式驱动 AI 完成代码生成、改造、调试与 git 协作。每个运行环境都具备完整的文件系统、终端和 git 访问能力,开箱即可与现有 SDK / qshell / 密钥注入规则配合使用。

    镜像内不内置任何 API key,所有认证信息通过沙箱创建时的 envs 注入,或通过密钥注入规则在出站链路上由平台改写,避免真实密钥落到沙箱进程的环境变量里。

    模板列表

    模板名称内置 CLI主要认证环境变量文档
    `opencode`OpenCode CLI(多供应商)`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `GEMINI_API_KEY`OpenCode
    `amp`Sourcegraph Amp CLI`AMP_API_KEY`Amp
    `grok`xAI Grok Build CLI`XAI_API_KEY`(可选 `GROK_XAI_API_BASE_URL`)Grok Build
    `pi`Pi coding agent CLI(多供应商)`ANTHROPIC_API_KEY` / `OPENAI_API_KEY` / `GEMINI_API_KEY`Pi
    `deepseek-harness`DeepSeek Harness Web UI`DEEPSEEK_API_KEY` + `DSH_WEB_PASSWORD`DeepSeek Harness

    编码代理模板共同特性

    OpenCode、Amp、Grok Build 和 Pi 六款编码代理模板具备以下核心共性,使用方式高度一致;结构化输出、会话管理等扩展能力以各子文档为准:

    • 预装基础工具:Node.js 24.x、git、ripgrep、vim、GitHub CLI,以及 pnpm/tsx/vite 等前端脚手架,可直接克隆仓库、运行脚本、提交 diff。
    • 无头执行:每款 CLI 都支持非交互模式(-p / exec / run / -x),可在 sandbox.commands.run() 中一次性触发并获取结果。
    • 运行状态输出:可通过 SDK 的 onStdout 获取实时命令输出;部分 CLI 还支持 JSONL 事件流,便于程序化消费工具调用与执行状态。
    • Git 仓库集成:配合 sandbox.git.clone() 直接在沙箱内拉取目标仓库,让代理在真实代码上完成改动并通过 git diff 审阅。
    • 密钥注入支持:通过创建 anthropic / openai / gemini 类型的注入规则,可以让真实密钥仅留在平台侧,沙箱内的 CLI 只持有占位符。

    DeepSeek Harness 是独立的 Web UI 模板,使用方式和认证流程见DeepSeek Harness

    通用使用模式

    编码代理模板的典型调用流程一致,差异主要体现在 CLI 命令本身;deepseek-harness 额外提供浏览器 Web UI 和登录验证:

    import { Sandbox } from 'e2b'
    
    // 1. 创建沙箱并注入认证
    const sandbox = await Sandbox.create('<template>', {
      envs: { /* 对应模板的 API key */ },
      timeoutMs: 600_000,
    })
    
    // 2. (可选)克隆目标仓库
    await sandbox.git.clone('https://github.com/your-org/your-repo.git', {
      path: '/home/user/repo',
      username: 'x-access-token',
      password: process.env.GITHUB_TOKEN,
      depth: 1,
    })
    
    // 3. 以无头模式驱动代理
    const result = await sandbox.commands.run(
      `cd /home/user/repo && <agent-cli> "<prompt>"`,
    )
    
    // 4. 审阅结果并销毁沙箱
    console.log(result.stdout)
    await sandbox.kill()
    

    具体 CLI flag、流式事件格式、会话/线程管理、定制系统提示等细节请参见各子文档。

    以上内容是否对您有帮助?