AX 是一个声明式编排工具,用于在 Kubernetes 集群中运行大量沙箱化的自主智能体任务。
agent-substrate/substrate
运行在 Kubernetes 上的零信任沙箱运行时,通过快照空闲 Agent 实现多个有状态 Agent 复用少量 Worker。
- Star
- 5,550
- Fork
- 604
- 未关闭 Issue
- 833
- 最近提交
- 13小时前
这是什么?
Agent Substrate 是一个在标准 Kubernetes 上运行大量不可信、多数时间处于空闲状态的 Agent 的运行时。每个 Actor 运行在 gVisor 或 Cloud Hypervisor microVM 沙箱中,拥有独立的计算、网络和存储。Actor 空闲时,其内存与文件系统状态会被快照保存下来,请求到达时再恢复,因此大量 Actor 可以共享一小组常驻 Worker Pod。
安全模型假定每个 Actor 对其他 Actor 都是敌对的。Actor 会获得短期有效的 SPIFFE X.509 身份,网络默认拒绝访问,且无法直接接触凭据。出站凭据由沙箱外的 atenet-egress 网关在已批准的请求中注入,该网关也可替换为自定义策略引擎。项目自称是低约束的运行时而非 Agent SDK,因此可以用 OCI 镜像承载 LangChain、ADK 等框架构建的工作负载。
项目目前处于 1.0 之前阶段,API 可能发生较大变化。仓库包含 kubectl-ate 命令行工具、控制面 API 服务、节点 DaemonSet,以及有状态计数器、多 Agent Claude Code 等示例。
核心功能
- 01每个 Actor 运行在 gVisor 或 Cloud Hypervisor microVM 沙箱中。
- 02空闲 Actor 的内存和文件系统会被快照,并按需恢复。
- 03为每个 Actor 签发 SPIFFE X.509 身份和 JWT。
- 04通过出站网关注入凭据,沙箱内代码无法接触凭据。
- 05默认拒绝网络访问,入站流量经 atenet-router 路由。
- 06基于标准 Kubernetes 运行,并提供 kubectl-ate 命令行工具。
适用场景
- 托管大量有状态的编码 Agent,并在多次会话间保留文件系统状态。
- 为 LLM Agent 运行不可信的工具调用,同时不暴露 API 密钥。
- 将大量多数时间空闲的 Agent 或 MCP 服务器复用到少量 Worker Pod 上。
- 在同一个 Kubernetes 集群中共享 Agent、推理和训练工作负载。
快速上手
- 1
安装 Go、kubectl 和 Docker
- 2
创建 kind 集群和本地镜像仓库
hack/create-kind-cluster.sh - 3
安装 Agent Substrate、PostgreSQL 和 rustfs,然后安装计数器示例
hack/install-ate-kind.sh --deploy-ate-system --credential-provider='{"name":"k8s.io"}' - 4
创建计数器 Actor,并通过路由器发送 HTTP 请求
kubectl ate create actor my-counter-1 -a ate-demo-counter --template counter
使用前须知
- 项目处于 1.0 之前阶段,不保证向后兼容,API 和行为可能发生较大变化。
- 需要 Kubernetes 集群以及 Go、kubectl 和 Docker;运行超过约一千个沙箱的 Linux 主机需要调整内核参数。
- GKE 路径依赖 Google Cloud 资源和 IAM 配置。
- 凭据注入需要先手动授予命名空间策略,Actor 才能读取 Secret。
标签
常见问题
- substrate 是什么?
- 运行在 Kubernetes 上的零信任沙箱运行时,通过快照空闲 Agent 实现多个有状态 Agent 复用少量 Worker。 Agent Substrate 是一个在标准 Kubernetes 上运行大量不可信、多数时间处于空闲状态的 Agent 的运行时。每个 Actor 运行在 gVisor 或 Cloud Hypervisor microVM 沙箱中,拥有独立的计算、网络和存储。Actor 空闲时,其内存与文件系统状态会被快照保存下来,请求到达时再恢复,因此大量 Actor 可以共享一小组常驻 Worker Pod。
- substrate 可以免费使用吗?用的什么许可证?
- substrate 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- substrate 还在维护吗?
- 活跃维护中。substrate 最近一次提交是在 2026年10月19日。
- substrate 适合用来做什么?
- 托管大量有状态的编码 Agent,并在多次会话间保留文件系统状态。 为 LLM Agent 运行不可信的工具调用,同时不暴露 API 密钥。 将大量多数时间空闲的 Agent 或 MCP 服务器复用到少量 Worker Pod 上。 在同一个 Kubernetes 集群中共享 Agent、推理和训练工作负载。
- substrate 怎么安装和运行?
- 安装 Go、kubectl 和 Docker 创建 kind 集群和本地镜像仓库: hack/create-kind-cluster.sh 安装 Agent Substrate、PostgreSQL 和 rustfs,然后安装计数器示例: hack/install-ate-kind.sh --deploy-ate-system --credential-provider='{"name":"k8s.io"}' 创建计数器 Actor,并通过路由器发送 HTTP 请求: kubectl ate create actor my-counter-1 -a ate-demo-counter --template counter
- 在哪里获取 substrate?
- 源代码和安装说明在 GitHub 上:https://github.com/agent-substrate/substrate
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
可自托管的公平代码工作流自动化平台,用于构建 AI 智能体与工作流,支持 1500 多种集成。
Anthropic 开源的 Agent Skills 仓库,收录供 Claude 动态加载的专项任务技能文件夹。
为编码智能体提供跨会话的持久记忆,自动记录会话活动并用 AI 压缩,再把相关上下文注入后续会话。
开源桌面 AI 智能体应用与 Rust 库,可低成本运行大量智能体。
为 Claude Code、Cursor、Codex 等 AI 编程助手提供持久化记忆,自动记录会话并在新会话中注入相关上下文。