[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77702":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},77702,"substrate","agent-substrate\u002Fsubstrate","agent-substrate","Agent Substrate: the core system",null,"Go",510,93,13,60,0,3,40,479,19,9.92,"Other",false,"main",[],"2026-06-12 02:03:44","# Agent Substrate\n\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n\nNOTE: This is not an officially supported Google product. This project is not\neligible for the [Google Open Source Software Vulnerability Rewards Program](https:\u002F\u002Fbughunters.google.com\u002Fopen-source-security).\n\n## What is Agent Substrate?\n\nAgent substrate is a system built on top of Kubernetes which manages agent-like\nworkloads to achieve higher scale and efficiency than Kubernetes alone can\noffer, with lower latency.  It builds on top of Kubernetes features like\nPods and Pod autoscaling, but takes the Kubernetes control-plane out of the\ncritical path to achieve lower latency.\n\nIt can run on any Kubernetes cluster and does not inhibit “regular” use of\nKubernetes in any way. Kubernetes provides the infrastructure provisioning and\nmanagement for all types of workloads, while Agent Substrate provides\nagent-specific scheduling and control.\n\nAt its core, Agent Substrate maps a larger set of “actors” (applications such\nas agents) onto a smaller set of ready “workers” (Kubernetes Pods), relying on\nthe fact that agent-like applications tend to be idle most of the time to\nachieve heavy multiplexing.  It provides functionality to manage an actor’s\nlifecycle (e.g. create\u002Fdestroy, suspend\u002Fresume), to assign actors to workers in real\ntime, and to route incoming traffic to them.\n\nAgent Substrate is intended to be a low-opinion system.  The workloads it\nmanages don't have to be literal AI agents, but those are the best example of\nthe kind of applications it is designed for.  It is not an SDK for building\nagents, but rather a system for running them at scale.\n\n## Demo\n\n[![Agent Substrate Demo](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FZEzkCFJkzjY\u002Fhq1.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZEzkCFJkzjY)\n\n*Watch the Agent Substrate cluster multiplex ~250 stateful actor sessions across just 8 physical pods.*\n\nThis demo highlights the core developer experience and \"Agentic Infrastructure\" capabilities of Substrate:\n\n1.  **Instant Session Teleport:** High-performance suspend and resume of actors onto any available worker in the pool with sub-second activation.\n2.  **State Persistence:** Persistent working memory (volatile RAM) and filesystem state preserved perfectly across hibernation cycles via full-state snapshots.\n3.  **Agent Swarm Multiplexing:** Demonstrates 30x+ oversubscription by \"juggling\" a large registry of stateful actors onto a small pool of shared physical pods.\n\nTo reproduce this demo in your own cluster, please refer to the detailed walkthroughs in the **[Counter Demo](demos\u002Fcounter\u002FREADME.md)** and **[Secret Agent Demo](demos\u002Fagent-secret\u002FREADME.md)**.\n\nFor more videos and walkthroughs, visit our YouTube channel: **[agent-substrate](https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCN9PPqlTtVxlcpbQ-NWpfZQ)**.\n\n## Framework Agnostic & Compatibility\n\nAgent Substrate is designed to be **framework and agent harness agnostic**. Because it manages standard OCI containers at the kernel level (via gVisor), it can host agents built on any stack.\n\n*   **Agent Development Kit (ADK):** Native support for ADK-compatible session identity and persistent working memory.\n*   **LangChain:** Ideal execution environment for long-running, stateful LangChain agents and sandboxed tool-calling.\n*   **Claude Code & CodeX:** Support for high-density, stateful coding environments that preserve terminal and filesystem state across sessions.\n*   **Model Context Protocol (MCP):** Deploy secure, sandboxed MCP servers as Substrate Actors to provide durable tools for any LLM.\n\n## Ecosystem & Examples\n\n*   **[Agent Executor](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fax):** A distributed agent runtime that demonstrates building a secure, hyper-scalable agent harness on Agent Substrate (see the [announcement blog](https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fproducts\u002Fai-machine-learning\u002Fagent-executor-googles-distributed-agent-runtime) and [integration guide](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fax\u002Fblob\u002Fmain\u002Fmanifests\u002FREADME.md)).\n\n## Status and compatibility\n\nAgent Substrate is currently in VERY early development.  It is not ready for\nproduction use, and the APIs are almost guaranteed to change.  We are not\nmaking any guarantees about backward compatibility at this stage, and\neverything in this project may be changed.\n\n### Supported Kubernetes Releases\n\nCurrently we aim to support the [latest stable release](https:\u002F\u002Fkubernetes.io\u002Freleases\u002F) of Kubernetes, and the previous minor release.\n\n## Community\n\nFor announcements, technical discussions, and community support, please join\nthe **[ate-dev](https:\u002F\u002Fgroups.google.com\u002Fg\u002Fate-dev)** Google Group.\n\n## Developing\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on contributing to\nthe project.  We welcome contributions of all kinds, but the project is VERY\nyoung.  Our immediate focus is on building out the core system and demos, so we\nmay not be able to review or merge contributions that don't align with those\ngoals in the near term.\n\n## Quickstart (Development)\n\nTo quickly set up the complete environment:\n\n1. Make sure you have [`kind`](https:\u002F\u002Fkind.sigs.k8s.io\u002F), [`kubectl`](https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Ftasks\u002Ftools\u002F), and [`docker`](https:\u002F\u002Fwww.docker.com\u002F) installed and configured on your dev machine.\n\n2. Run the following steps:\n```shell\n# create cluster and local registry\nhack\u002Fcreate-kind-cluster.sh\n\n# install ate, valkey, rustfs\nhack\u002Finstall-ate-kind.sh --deploy-ate-system\n\n# install counter demo\nhack\u002Finstall-ate-kind.sh --deploy-demo-counter\n\n# install kubectl-ate\ngo install .\u002Fcmd\u002Fkubectl-ate\n\n# create a counter actor and demo it\nkubectl ate create actor my-counter-1 --template ate-demo-counter\u002Fcounter\nkubectl port-forward -n ate-system svc\u002Fatenet-router 8000:80 &\ncurl -X POST -H \"Host: my-counter-1.actors.resources.substrate.ate.dev\" -i http:\u002F\u002Flocalhost:8000\u002F\n```\n\n### GKE Quickstart (Development)\n\n1. Create and configure your environment file:\n   ```bash\n   cp hack\u002Fate-dev-env.sh.example .ate-dev-env.sh\n\n   # Edit .ate-dev-env.sh to match your project and preferences, then source it:\n   source .ate-dev-env.sh\n   ```\n\n2. Enable application-default credentials for gcloud:\n   ```bash\n   gcloud auth application-default login --project=${PROJECT_ID}\n   ```\n\n3. Provision the required GCP resources (GKE cluster, Redis, GCS, and IAM bindings):\n   ```bash\n   go run .\u002Fcmd\u002Fsetup --all\n   ```\n\n4. Deploy the Agent Substrate system to your cluster (remember to navigate back to root directory of this repo before running the following commands):\n   ```bash\n   .\u002Fhack\u002Finstall-ate.sh --deploy-ate-system\n   ```\n\n5. You can then deploy the sample applications. See [demos\u002Fcounter\u002FREADME.md](demos\u002Fcounter\u002FREADME.md) or [demos\u002Fsandbox\u002FREADME.md](demos\u002Fsandbox\u002FREADME.md) for detailed walkthroughs.\n   ```bash\n   .\u002Fhack\u002Finstall-ate.sh --deploy-demo-counter\n   ```\n\n#### Custom Setup and Deployment\n\nYou can run individual setup steps to create GCP resources as needed. See `go run .\u002Fcmd\u002Fsetup --help` for available options. For example:\n```bash\ngo run .\u002Fcmd\u002Fsetup --create-cluster\ngo run .\u002Fcmd\u002Fsetup --create-gvisor-node-pool\n```\n\nSimilarly, you can deploy or cleanup specific Agent Substrate components using the installation script. See `.\u002Fhack\u002Finstall-ate.sh --help` for all options.\n```bash\n# Re-deploy only ate-apiserver of the ATE system\n.\u002Fhack\u002Finstall-ate-kind.sh --deploy-ate-apiserver\n\n# Delete everything (core system and all demos)\n.\u002Fhack\u002Finstall-ate-kind.sh --delete-all\n```\n\n#### Tearing down resources\n\nIf you need to delete the resources created by the setup script, you can use the provided script `hack\u002Fteardown.sh`. This script will delete resources in the reverse order of creation and handles partial failures gracefully.\n\n```bash\n.\u002Fhack\u002Fteardown.sh --all\n```\n\nOr run individual teardown steps as needed (see `.\u002Fhack\u002Fteardown.sh` for available options).\n\n## Demos\n\nWe provide several sample applications demonstrating Agent Substrate's capabilities:\n\n1. **[Counter Demo](demos\u002Fcounter\u002FREADME.md)**: A stateful Go HTTP server demonstrating state preservation across suspends\u002Fresumes, and dynamic CRD routing.\n2. **[Sandbox Demo (Antigravity)](demos\u002Fsandbox\u002FREADME.md)**: A secure, sandboxed execution environment (running Alpine Linux) that allows arbitrary shell execution while preserving filesystem state across sessions.\n3. **[Claude Code Multiplex](demos\u002Fclaude-code-multiplex\u002FREADME.md)**: Demonstrates oversubscribing physical hardware by multiplexing multiple Claude Code agents onto a limited pool of workers.\n4. **[Secret Agent](demos\u002Fagent-secret\u002FREADME.md)**: Highlights Substrate's \"Zero-Idle\" self-suspension and re-animation of volatile process memory.\n\n### Documentation & Guides\n* [API Configuration Guide](docs\u002Fapi-guide.md): Detailed reference for configuring WorkerPools, ActorTemplates, Secrets, and Volumes.\n* [Full CLI Documentation](cmd\u002Fkubectl-ate\u002FREADME.md): Installation and usage for `kubectl-ate`.\n* [Observability Guide](docs\u002Fobservability.md): Guide to actor logging, metrics, and distributed tracing.\n\n## Tour\n\n### Commands\n\n* `cmd\u002Fservers\u002Fateapi`: The core control plane API server exposing gRPC endpoints to manage actor and worker lifecycles.\n* `cmd\u002Fservers\u002Fatelet`: A node-level DaemonSet that supervises physical worker pods, coordinates snapshotting, and manages state transfers.\n* `cmd\u002Fservers\u002Fatecontroller`: A Kubernetes controller that reconciles WorkerPool and ActorTemplate custom resources.\n* `cmd\u002Fservers\u002Fatenet`: A combined networking controller providing DNS, Envoy routing, and proxy sidecars.\n* `cmd\u002Fservers\u002Fateom-gvisor`: An interior-pod helper running inside sandboxed worker pods to execute `runsc` checkpoint and restore commands.\n* `cmd\u002Fservers\u002Fpodcertcontroller`: A \"polyfill\" that provides Pod Certificate signers that\n  will eventually ship in upstream Kubernetes (with different names).\n* `cmd\u002Fkubectl-ate`: A CLI tool for managing Agent Substrate resources. See its [README](cmd\u002Fkubectl-ate\u002FREADME.md).\n* `cmd\u002Fsetup`: A provisioning utility to set up the necessary GCP infrastructure resources (GKE, GCS, IAM).\n* `demos\u002F`: Sample applications demonstrating Agent Substrate capabilities.\n","Agent Substrate 是一个基于Kubernetes构建的核心系统，旨在管理和调度类似代理的工作负载以实现更高的扩展性和效率。它利用了Kubernetes的Pods和自动伸缩功能，但通过将Kubernetes控制平面移出关键路径来降低延迟。核心功能包括映射大量“演员”（如代理应用）到较少的就绪“工作者”（Kubernetes Pods），支持生命周期管理、实时分配及流量路由。特别适合需要处理大量空闲状态应用且对响应时间有较高要求的场景，例如大规模运行AI代理。该系统保持低侵入性设计，兼容任何Kubernetes集群，并不干扰其常规使用。",2,"2026-06-11 03:55:54","CREATED_QUERY"]