全栈应用服务器

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

    AI Agents

    最近更新时间: 2026-04-30 16:22:05

    概述

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

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

    模板列表

    模板名称 内置 CLI 主要认证环境变量 文档
    claude Claude Code CLI(Anthropic) ANTHROPIC_API_KEY(可选 ANTHROPIC_BASE_URL Claude Code
    codex OpenAI Codex CLI OPENAI_API_KEY Codex
    opencode OpenCode CLI(多供应商) ANTHROPIC_API_KEY / OPENAI_API_KEY / GEMINI_API_KEY OpenCode
    amp Sourcegraph Amp CLI AMP_API_KEY Amp

    共同特性

    所有 AI Agent 模板均具备以下共性,使用方式高度一致:

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

    通用使用模式

    四个模板的典型调用流程一致,差异主要体现在 CLI 命令本身:

    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、流式事件格式、会话/线程管理、定制系统提示等细节请参见各子文档。

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