如何使用 Novita Sandbox 部署和托管 Claude Agent SDK

如何使用 Novita Sandbox 部署和托管 Claude Agent SDK

2026 年,AI 领域已迎来一个决定性的转折点:从实验性智能向工业化执行的转变。当第一波 AI 聚焦于对话时,当前时代则由“自主行动”所定义。

随着 Claude Agent SDK 的发布,范式已从无状态 API 转向有状态、持久的运行时。开发者不再满足于仅能生成代码的智能体——他们需要能够自主执行、调试和迭代的系统。与每次请求后都会“遗忘”的传统 LLM 不同,Claude Agent SDK 现在维持着一个连续的推理循环,编写代码、实时调试并管理复杂的文件系统。

然而,一个关键缺口依然存在:基础设施。要从演示阶段迈向生产级的数字劳动力,智能体不仅需要智能——还需要安全、可扩展、高性能且经济实惠的环境来执行工作。

了解如何使用 Novita Sandbox 在生产环境中部署和托管 Claude 智能体。Novita Sandbox 是一个兼容 E2B 的云执行环境,以经济高效的企业级基础设施弥合了这一差距。

💡 准备好开始构建了吗?
Novita 提供了一个完整、生产就绪的 Claude Agent SDK 示例,包含交互式 CLI、工具实现和最佳实践。 克隆仓库 并在几分钟内运行你的第一个智能体。

核心优势:专为 Anthropic 打造

1. 真正的“零重构”迁移

Novita 提供了一个完全兼容的 Anthropic API 端点。只需更改一个 baseURL,即可为你现有的 Claude 驱动应用赋予真实的执行能力。

  • 原生集成:直接使用 @anthropic-ai/sdk——无需学习新框架。
  • 无缝切换:兼容所有 Beta 功能,包括 context-managementthinking 模式。
import Anthropic from "@anthropic-ai/sdk";

// 只需修改 baseURL 即可无缝切换到 Novita
const anthropic = new Anthropic({
  baseURL: "https://api.novita.ai/anthropic",
  apiKey: process.env.NOVITA_API_KEY,
});

// 所有 Anthropic SDK 用法保持不变
const response = await anthropic.messages.create({
  model: "zai-org/glm-4.7",
  max_tokens: 4096,
  messages: [{ role: "user", content: "Hello, World!" }],
});

2. 云端隔离的“沙盒实验室”

Novita Sandbox 提供即时启动的 Linux 环境,支持文件系统访问、网络通信和后台进程:

  • 安全隔离:每个请求在独立的沙盒中运行,防止代码污染。
  • 全栈能力:内置 Node.js、Python 和 Jupyter 环境,支持动态 npmpip 安装。
  • 即时预览:一键公开 HTTPS 端口暴露——立即查看生成的页面。
import { Sandbox } from "novita-sandbox/code-interpreter";

// 在几秒内创建一个隔离的云环境
const sandbox = await Sandbox.create({ timeoutMs: 10 * 60 * 1000 });

// 写入文件
await sandbox.files.write("index.html", "<h1>Hello from Sandbox!</h1>");

// 启动后台服务并获取公开 URL
const handle = await sandbox.commands.run("npx http-server -p 3000", { background: true });
const publicUrl = `https://${sandbox.getHost(3000)}`;

console.log(`🌐 预览 URL: ${publicUrl}`);

3. 上下文自愈与智能感知

利用 Claude 的工具使用能力,智能体可以:

  • 自适应与修复:当运行时错误发生时,智能体看到 stderr 并自动重写代码。
  • 优化记忆:结合 contextManagement 策略,系统自动清除旧代码块以保持专注。
// 启用 context-management Beta 功能
// 参考:https://platform.claude.com/docs/en/build-with-claude/context-editing
const response = await anthropic.beta.messages.create({
  model: "zai-org/glm-4.7",
  max_tokens: 4096,
  betas: ["context-management-2025-06-27"],
  contextManagement: {
    edits: [
      {
        type: "clear_tool_uses_20250919",
        trigger: { type: "input_tokens", value: 10000 },  // 超过 10k tokens 时触发清理
        keep: { type: "tool_uses", value: 2 },            // 保留最近 2 次工具调用
        clear_tool_inputs: true,                          // 同时清除工具输入
      },
    ],
  },
  tools: TOOLS,
  messages: conversationHistory,
});

工作原理:当对话上下文超过设定阈值时,API 会自动清除较早的工具调用结果,同时保留最近的关键信息。这可以防止“记忆污染”导致智能体性能下降。

使用场景:无限可能

场景 Novita Sandbox 带来的价值
交互式 Web 实验室 一句话生成 React/Tailwind 页面;即时预览。
智能数据分析 动态运行 Python,使用 Pandas 和 Matplotlib 生成图表。
AI 自动化测试 在隔离环境中运行测试脚本;自动捕获并修复错误。
个性化 IDE 后端 为每个用户提供独立的云执行器——零运维开销。
自愈代码工作流 在闭环中测试生成的 API 代码,确保交付前正确运行。

快速开始:三步构建交互式智能体

无需复杂配置——Novita 让开发变得简单。

第一步:最小化安装

npm install @anthropic-ai/sdk novita-sandbox dotenv open

第二步:智能 API 密钥集成

项目包含交互式密钥引导。即使没有环境变量,程序也会在启动时提示你:

// agent_en.ts 内部逻辑
if (!agent.hasApiKey()) {
  const apiKey = await promptForApiKey(rl);
  agent.setApiKey(apiKey);
}

第三步:一键启动交互式 CLI

运行 npm run agent-en 进入交互模式。只需输入你的需求,兼容 Anthropic 的模型将负责生成代码、运行服务并打开浏览器。

npm run agent-en

核心代码解析

📌 工具定义:赋予 AI “物理能力”

const TOOLS: Anthropic.Beta.Messages.BetaTool[] = [
  {
    name: "write_file",
    description: "在沙盒中创建或修改文件",
    input_schema: {
      type: "object",
      properties: {
        path: { type: "string", description: "文件路径,例如 index.html" },
        content: { type: "string", description: "完整文件内容" },
      },
      required: ["path", "content"],
    },
  },
  {
    name: "get_preview_url",
    description: "启动 Web 服务器并获取预览 URL(如果服务器已在运行,则返回现有 URL)",
    input_schema: { type: "object", properties: {} },
  },
];

📌 智能体循环:持续处理直至任务完成

async chat(userMessage: string): Promise<void> {
  // 每次用户输入时刷新沙盒超时
  await this.refreshSandboxTimeout();
  
  this.messages.push({ role: "user", content: userMessage });

  // 智能体循环——持续处理直到没有工具调用
  let continueLoop = true;
  while (continueLoop) {
    const { response, assistantContent } = await this.streamResponse();
    this.messages.push({ role: "assistant", content: assistantContent });

    // 处理工具调用
    const { hasToolUse, toolResults } = await this.processToolCalls(assistantContent);

    if (hasToolUse && toolResults.length > 0) {
      this.messages.push({ role: "user", content: toolResults });
      continueLoop = true;  // 存在工具调用,继续循环
    } else {
      continueLoop = false; // 无工具调用,结束
    }

    if (response.stop_reason === "end_turn") {
      continueLoop = false;
    }
  }
}

📌 服务自愈:智能检测与自动重启

private async handleGetPreviewUrl(): Promise<string> {
  // 验证进程是否实际存活
  if (this.previewUrl && this.serverHandle) {
    const processAlive = await this.checkServerProcessAlive();
    if (!processAlive) {
      console.log(`⚠️ 服务器进程已退出,正在重启...`);
      this.serverHandle = null;
      this.previewUrl = null;
    }
  }

  // 启动新服务器
  this.serverHandle = await this.sandbox.commands.run(
    `npx -y http-server . -p ${CONFIG.serverPort} -c-1`,
    { background: true }
  );

  // 获取公开 URL 并执行健康检查
  const host = this.sandbox.getHost(CONFIG.serverPort);
  this.previewUrl = `https://${host}`;
  
  await waitForServer(this.previewUrl, maxRetries, intervalMs);
  await openBrowser(this.previewUrl);
  
  return `预览 URL: ${this.previewUrl}`;
}

探索完整示例

Novita 提供了一个功能完整的 Claude Agent SDK 示例,包含生产就绪的代码模式。该示例演示了:

  • 交互式 CLI 界面,支持流式响应
  • 完整的工具实现(文件操作、代码执行、Web 服务器管理)
  • 上下文管理,带自动清理
  • 错误处理和重试逻辑
  • 服务健康检查,带自动重启
  • 多轮对话,保持持久状态

GitHub 仓库Novita-CollabHub/examples/claude-agent

使用示例快速开始:

# 克隆仓库
git clone https://github.com/novitalabs/Novita-CollabHub.git
cd Novita-CollabHub/examples/claude-agent

# 安装依赖
npm install

# 设置你的 API 密钥
export NOVITA_API_KEY=your_api_key_here

# 运行交互式智能体
npm run agent-en

多轮对话演示

以下是一个完整的多轮对话示例,展示了智能体如何根据用户反馈迭代优化页面:

第一轮:构建一个待办事项应用

用户输入:构建一个待办事项应用

构建一个待办事项应用

第二轮:改为星露谷物语风格

用户输入:改为星露谷物语风格

改为星露谷物语风格

第三轮:添加更多功能

用户输入:添加更多功能

添加更多功能

结论

在生产环境中部署 Claude Agent SDK 需要传统云平台无法提供的基础设施。Novita Sandbox 提供了一个生产就绪的基础设施,与 Claude Agent SDK 无缝集成,通过以下方式为你的智能体提供在物理世界中工作所需的“双手”:

  • 兼容 E2B 的云执行环境,可与现有工具无缝集成
  • 原生 Anthropic 兼容端点,零重构——只需更改 baseURL
  • 安全容器隔离,用于执行不受信任的代码
  • 即时预配置运行时,快速启动
  • 公开 URL 暴露,用于生成的 Web 应用
  • 后台进程管理,支持长时间运行的服务

立即开始构建有状态的 AI 智能体:

Novita AI 是领先的 AI 云平台,为开发者提供易于使用的 API 以及经济实惠、可靠的 GPU 基础设施,用于构建和扩展 AI 应用。