kvcache-ai/AgentENV

GitHub: kvcache-ai/AgentENV

AgentENV 是一个基于 Firecracker microVM 的大规模智能体环境运行平台,通过快照、fork、内存 ballooning 等机制实现高密度、低延迟的沙盒编排,专门服务于智能体强化学习训练场景。

Stars: 86 | Forks: 10

.. raw:: html
AgentENV

Running agent environments at scale

|coverage-status| |coverage-report| 📖 `完整文档 `_ ## AgentENV (AENV) 是一个用于大规模运行 agent 环境的平台,为 **Kimi K3** 提供智能体强化学习(RL)训练支持。 ## 🚀 为什么选择 AgentENV - **跨多种环境扩展**:AENV 能够跨多台机器运行大量的 Firecracker 环境并支持多种兼容 OCI 的镜像,通过 overlaybd 按需加载。本地磁盘作为有界缓存,保留热数据并驱逐冷数据,因此镜像大小可以超过磁盘容量,同时在全集群范围内保持快速启动,无需对每台主机进行预热。 - **让空闲环境变得低成本**:基于快照的环境启动或恢复时间不到 50 毫秒,暂停时间不到 100 毫秒。空闲环境可以快速释放 CPU 和内存,并在有新任务到达时重新分配。 - **原生支持快照与 fork**:AENV 增量记录内存和文件系统变更,即使在磁盘频繁修改的情况下也能在 100 毫秒内完成。运行中的环境可以 fork 为多个独立的沙盒,以支持并行的 agent 工作流。快照会持久化到兼容 S3 的对象存储或共享的分布式文件系统中,以防止数据丢失。 ## - **长期保持高性能与高密度**:AENV 通过 ublk 提供高性能 I/O,同时在存储和内存快照数据之间共享宿主机页面缓存。内存 ballooning 机制将可回收的客户机内存交还给宿主机,随着环境运行时间的延长和状态的差异增大,持续维持高超售率。 ## 📋 前置条件 - **Linux 内核 6.8+**;安装脚本额外需要 **Ubuntu 24.04**(有关安装选项,请参阅下方的*快速开始*) ## - 需要 ``/dev/kvm`` 访问权限以执行 Firecracker microVM ## ⚡ 快速开始(单节点) **1. 安装并启动服务** *选项 A —— 安装脚本 (Ubuntu 24.04)* 同时安装服务端和 ``aenv`` CLI,然后将服务端作为 systemd 服务启动: .. code-block:: bash curl -fsSL https://raw.githubusercontent.com/kvcache-ai/AgentENV/main/scripts/install.sh | sudo bash sudo systemctl start aenv *选项 B —— Docker* 设置服务端: .. code-block:: bash curl -fsSL https://raw.githubusercontent.com/kvcache-ai/AgentENV/main/scripts/docker-setup.sh | sudo bash docker pull ghcr.io/kvcache-ai/aenv-server:latest docker run -d --privileged -v /dev:/dev -p 8000:8000 ghcr.io/kvcache-ai/aenv-server:latest 服务端默认可通过 ``http://127.0.0.1:8000`` 访问。 **2. 安装 aenv CLI** *(如果在步骤 1 中使用了选项 A,则跳过此步)* 如果您使用了上述 Docker 方法,或者您在另一台机器上运行 CLI 而不是在服务端上运行,请单独安装。支持在 x86\_64 和 arm64 架构上的 Linux 和 macOS: .. code-block:: bash curl -fsSL https://raw.githubusercontent.com/kvcache-ai/AgentENV/main/scripts/install-cli.sh | bash **3. 认证** .. code-block:: bash aenv auth # AENV 服务器 URL [http://localhost:8000]: http://127.0.0.1:8000 # API key: dummy **4. 拉取模板并运行沙盒** .. code-block:: bash aenv pull ubuntu:22.04 --name ubuntu ## aenv start ubuntu # 启动一个沙盒并附加交互式 shell ## 🗂 部署 有关 Docker Compose / Kubernetes 集群部署和从源码构建的说明, ## 请参阅 📖 `部署 `_ 。 ## 🔌 E2B 兼容性 AgentENV 暴露了兼容 E2B 的 HTTP API。将 ``E2B_API_URL`` 指向您的 服务端,即可使用标准的 E2B Python / TypeScript SDK,无需进行任何代码 修改。详情请参阅 📖 `E2B 集成 `_ ## 以获取设置细节。 ## 🛠 aenv CLI 参考 .. code-block:: bash # Templates aenv pull docker.io/library/ubuntu:latest --name ubuntu # FROM → template aenv template list # alias: aenv template ls # Sandboxes aenv start ubuntu # start + attach interactive shell aenv start ubuntu --detach # start, print sandbox ID, don't attach aenv cn # reattach a shell aenv exec ls -la / # one-shot command aenv ls aenv pause aenv resume aenv timeout 600 # extend TTL to 600 s from now aenv delete # alias: aenv rm ``aenv start`` 接受模板 UUID 或易读的名称/别名。``aenv list`` 在 TTY 环境下输出表格,通过管道操作时输出 JSON;可使用 ``--output table|json`` 覆盖默认输出格式。 .. |coverage-status| image:: https://github.com/kvcache-ai/AgentENV/actions/workflows/coverage.yml/badge.svg?branch=main&event=push :target: https://github.com/kvcache-ai/AgentENV/actions/workflows/coverage.yml :alt: Coverage workflow status .. |coverage-report| image:: https://github.com/kvcache-ai/AgentENV/blob/coverage-data/coverage/badge.svg?raw=1 :target: https://github.com/kvcache-ai/AgentENV/blob/coverage-data/coverage/coverage.json :alt: Latest coverage report
标签:人工智能体, 分布式平台, 可视化界面, 子域名突变, 容器与沙箱, 强化学习, 微虚拟机, 沙箱环境, 漏洞探索, 虚拟化, 请求拦截, 逆向工具, 通知系统