agent-sandbox

GitHub
1.9k 204 较难 1 次阅读 今天Apache-2.0Agent开发框架
AI 解读 由 AI 自动生成,仅供参考

agent-sandbox 是一个专为 Kubernetes 设计的开源项目,旨在简化隔离性、有状态且单实例工作负载的管理。它特别适合作为 AI 智能体(AI Agent)的运行环境,解决了传统 Kubernetes 资源模型难以兼顾“长期运行”、“状态保持”与“唯一身份”的痛点。

在常见的 Kubernetes 场景中,Deployment 适合无状态服务,StatefulSet 侧重编号式集群,而 agent-sandbox 填补了两者之间的空白。它为每个任务提供一个拥有稳定主机名、网络身份和持久化存储的独立容器环境,就像在 Kubernetes 上构建了一个轻量级的单容器虚拟机。无论是智能体重启还是迁移,其数据和身份都能保持一致,确保任务连续不中断。

此外,agent-sandbox 还提供了丰富的扩展能力,包括可复用的模板定义(SandboxTemplate)、简化的资源申请机制(SandboxClaim)以及预热的资源池(SandboxWarmPool),能显著缩短新环境的启动时间,提升大规模调度效率。

这款工具非常适合需要在 Kubernetes 上部署和管理 AI 智能体、交互式会话或其他长时有状态应用的开发者与研究团队。如果你正在寻找一种声明式、标准化且云原生的方式来运行独立的智能体运行时,agent-sandbox 提供了一个成熟且灵活的解决方案。

使用场景

某电商平台正在构建一套“智能客服代理集群”,每个 AI 客服需要独立维护与特定用户的长对话历史记忆,并具备稳定的网络身份以支持断点续聊。

没有 agent-sandbox 时

  • 身份不稳定:使用标准 Deployment 部署时,Pod 重启后 IP 和主机名变更,导致外部网关无法准确路由到特定的用户会话实例。
  • 状态易丢失:缺乏原生的单例有状态管理,容器意外终止后,内存中的短期上下文丢失,且难以自动挂载专属的持久化存储来恢复历史对话。
  • 运维复杂度高:为了实现“一人一例”的隔离效果,不得不编写复杂的 Operator 或脚本手动管理 Pod 生命周期,无法统一通过声明式 API 控制暂停、恢复或删除。
  • 冷启动延迟大:每次新用户接入都需从零拉取镜像并初始化环境,导致首条回复延迟高达数秒,严重影响用户体验。

使用 agent-sandbox 后

  • 身份固定可靠:利用 Sandbox CRD 为每个 AI 代理分配稳定的主机名和网络身份,无论底层 Pod 如何调度重启,路由始终精准指向同一会话实例。
  • 状态持久固化:原生支持为每个 Sandbox 绑定持久化存储,即使进程重启也能瞬间加载之前的对话记忆,确保服务连续性。
  • 生命周期自动化:通过声明式配置即可轻松实现代理的暂停(节省资源)、恢复及定时销毁,无需定制开发复杂的控制逻辑。
  • 秒级热启动:结合 SandboxWarmPool 扩展组件,预先预热一批空闲沙箱,新用户请求可直接复用,将响应延迟从秒级降低至毫秒级。

agent-sandbox 将原本繁琐的有状态单例管理转化为标准的 Kubernetes 声明式操作,让 AI 代理运行时具备了像虚拟机一样稳定且轻量的运行体验。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes该工具是运行在 Kubernetes 集群上的控制器,而非本地运行的应用程序。它需要预先配置好一个 Kubernetes 集群环境。核心组件通过 kubectl 安装 CRD 和控制器,支持使用 gVisor 或 Kata Containers 等运行时以实现强隔离(可选)。提供 Python SDK 用于编程交互,但具体 Python 版本及依赖库需参考单独的 SDK 文档。
python未说明
Kubernetes
kubectl
agent-sandbox hero image

快速开始

Agent Sandbox logo

Agent Sandbox

GitHub release Apache-2.0 license Go Report Card

官网 · 文档 · DeepWiki · 快速入门 · 示例 · 路线图

agent-sandbox 能够轻松管理隔离的、有状态的单例工作负载,非常适合 AI 代理运行时等用例。

本项目正在 Kubernetes 社区的 SIG Apps 框架下开发一个名为 Sandbox 的自定义资源定义(CRD)及其控制器。其目标是提供一种声明式的标准化 API,用于管理那些需要具备长期运行、有状态、单一实例且身份稳定的容器特性的工作负载,类似于基于 Kubernetes 原语构建的轻量级单容器 VM 体验。

概述

核心:Sandbox

Sandbox CRD 是 agent-sandbox 的核心组件。它提供了一个声明式的 API 来管理具有稳定身份和持久化存储的单个有状态 Pod。这对于不适合 Deployment 的无状态复制模型或 StatefulSet 的编号稳定模型的工作负载非常有用。

Sandbox CRD 的关键特性包括:

  • 稳定的身份: 每个 Sandbox 都有一个稳定的主机名和网络身份。
  • 持久化存储: Sandbox 可以配置为在重启后仍能保留数据的持久化存储。
  • 生命周期管理: Sandbox 控制器会管理 Pod 的生命周期,包括创建、定时删除、暂停和恢复等操作。

扩展功能

extensions 模块提供了额外的 CRD 和控制器,它们基于核心的 Sandbox API 构建,以实现更高级的功能。

  • SandboxTemplate:提供了一种定义可重用模板的方式来创建 Sandbox,从而更容易管理大量相似的 Sandbox。
  • SandboxClaim:允许用户从模板创建 Sandbox,隐藏了底层 Sandbox 配置的细节。
  • SandboxWarmPool:管理一个预热好的 Sandbox Pod 池,可以快速分配给用户,从而减少启动新 Sandbox 所需的时间。

架构

agent-sandbox 遵循 Kubernetes 控制器模式。用户创建一个 Sandbox 自定义资源,而控制器则负责管理底层的运行时资源。

架构图

flowchart TB

    User[用户]

    Claim[SandboxClaim]
    Template[SandboxTemplate]
    Sandbox[Sandbox]

    ClaimController[Claim 控制器]
    Controller[Sandbox 控制器]

    Pod[Sandbox Pod]
    Runtime[Sandbox 运行环境]

    WarmPool[SandboxWarmPool]

    %% 用户路径
    User -->|创建| Sandbox
    User -->|创建| Claim

    %% Claim 工作流程
    Claim -->|引用| Template
    Claim -->|由| ClaimController |协调|
    ClaimController -->|创建| Sandbox

    %% Pod 处理
    ClaimController -->|从| WarmPool |接管 Pod|
    Sandbox -->|由| Controller |协调|
    Controller -->|必要时创建 Pod| Pod

    %% 运行环境
    Pod --> Runtime

    %% 温池
    WarmPool -->|预热的 Pod| Pod

安装

核心组件与扩展功能

您可以通过以下命令安装 agent-sandbox 控制器及其 CRD。

# 将 "vX.Y.Z" 替换为具体的版本标签(例如 "v0.1.0"),请参考
# https://github.com/kubernetes-sigs/agent-sandbox/releases
export VERSION="vX.Y.Z"

# 如果仅安装核心组件:
kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/${VERSION}/manifest.yaml

# 如果安装扩展组件:
kubectl apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/${VERSION}/extensions.yaml

Python SDK

要以编程方式与 agent-sandbox 交互,您可以使用 Python SDK。该客户端库提供了一个高层次的接口来创建和管理 Sandbox。

有关详细的安装和使用说明,请参阅 Python SDK README

配置

对于高级的规模和并发性调优(例如 API QPS 和工作线程数量),请参阅 配置指南

快速入门

安装完控制器后,您可以通过将以下 YAML 应用到集群来创建一个简单的 Sandbox:

apiVersion: agents.x-k8s.io/v1alpha1
kind: Sandbox
metadata:
  name: my-sandbox
spec:
  podTemplate:
    spec:
      containers:
      - name: my-container
        image: <IMAGE>

这将创建一个名为 my-sandbox 的新 Sandbox,并运行您指定的镜像。之后,您可以通过其稳定的主机名 my-sandbox 访问该 Sandbox。

有关更复杂的示例,包括如何使用扩展功能,请参阅 examples/extensions/examples/ 目录。

动机

Kubernetes 非常擅长管理无状态的复制应用(Deployments)以及有状态且编号稳定的 Pod 集合(StatefulSets)。然而,目前越来越需要一种抽象层来处理以下场景:

  • 开发环境: 为开发者提供的隔离、持久化且可通过网络访问的云环境。
  • AI 代理运行时: 用于执行不受信任的、由大语言模型生成代码的隔离环境。
  • Notebook 和科研工具: 适用于 Jupyter Notebook 等工具的持久化单容器会话。
  • 有状态的单 Pod 服务: 托管需要稳定身份但又不想使用 StatefulSet 开销的单实例应用(如构建代理、小型数据库等)。

虽然这些场景可以通过结合 StatefulSet(大小为 1)、Service 和 PersistentVolumeClaim 来近似实现,但这种方法既繁琐又缺乏专门的生命周期管理功能,比如休眠功能。

期望的沙箱特性

我们希望沙箱能够实现厂商无关性,支持多种运行时。关键特性包括:

  • 强隔离性: 支持 gVisor 或 Kata Containers 等不同运行时,以在沙箱与宿主机之间提供更强的安全性和隔离能力,包括内核隔离和网络隔离。这对于运行不可信代码或多租户场景至关重要。
  • 深度休眠: 将状态保存到持久化存储,并可能对沙箱对象进行归档。
  • 自动恢复: 在网络连接恢复时自动重启沙箱。
  • 高效持久化: 弹性且可快速供应的存储。
  • 跨沙箱内存共享: 探索在同一主机上跨沙箱共享内存的可能性,即使这些沙箱主要是异构的。这一能力取决于具体的运行时实现,用户应根据自身的安全和性能需求选择合适的运行时。
  • 丰富的身份与连通性: 探索用户与沙箱的双重身份机制,以及无需为每个沙箱单独创建 Service 的高效流量路由。
  • 可编程性: 鼓励应用程序和代理程序以编程方式调用沙箱 API。

路线图

当前的路线图可以在 roadmap.md 中找到。

社区、讨论、贡献与支持

这是一项由社区驱动的工作,我们欢迎各方合作!

关于 PR 处理速度的说明: 为了保持高效的处理速度并维持清晰的待处理队列,本项目采用过期 PR 管理机制(30 天自动标记为过期,15 天后自动关闭不活跃的 PR),同时允许维护者快速推进或接管已获批准的社区 PR。请阅读我们的 贡献指南,了解完整的代码审查和 PR 处理政策。

AI 辅助代码审查(实验性)

为提升代码审查效率,我们目前正在尝试使用 AI 辅助代码审查,首先采用 GitHub Copilot 作为自动化的一轮审查工具。

我们非常欢迎您对这些自动化审查的质量、相关性和帮助性的反馈!随着流程的迭代优化,我们也计划评估和测试不同的 AI 审查工具,以找到最适合我们项目工作流的方案。

⚠️ 重要贡献提示: 如果您的 PR 中收到了 Copilot 的代码建议,请务必仔细阅读我们的 贡献指南,了解如何正确应用这些建议。直接通过 GitHub UI 提交建议将违反 Kubernetes CLA 的要求。

联系我们

有关如何参与 Kubernetes 社区的信息,请访问 社区页面

您可以联系该项目的维护者:

欢迎您随时提交问题、提出功能建议或贡献代码!

行为准则

参与 Kubernetes 社区需遵守 Kubernetes 行为准则

版本历史

v0.3.102026/04/08
v0.2.12026/03/14
v0.1.12026/02/04
v0.1.02025/11/07
v0.1.0-rc.22025/11/07
v0.1.0-rc.12025/11/04
v0.1.0-rc.02025/10/24

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

AutoGPT

AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。

183.6k|★★★☆☆|今天
Agent语言模型插件

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

161.7k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|4天前
Agent插件