开源项目第172期:agentOS——以库的形式为 AI Agent 提供操作系统,冷启动快 92 倍、内存少 47 倍
英文标题:开源项目第172期:agentOS — 以库的形式给 AI Agent 一个操作系统,冷启动 92x 更快、内存 47x 更少
agentOS 是 Rivet Dev 推出的 npm 形式 AI Agent 运行时,可直接嵌入 Node.js 后端,无需启动外部沙箱、微型虚拟机或容器。它基于 V8 isolate 与 WebAssembly 构建隔离环境,官方基准显示其 p50 冷启动为 4.8ms,较 E2B 快 92 倍;简单 Shell 任务内存约 22MB,较 Daytona 少 47 倍。其核心能力包括宿主函数 bindings、文件系统挂载、细粒度权限控制及基于 ACP 的会话管理,并支持 Pi、Claude Code、Codex 和 OpenCode。对于高并发、低延迟且需要直接访问后端能力的 Agent 应用,agentOS 提供了比完整 Linux 沙箱更轻量的选择;但原生编译、开发服务器和真实浏览器等场景仍更适合完整沙箱。
6.3 KB
中文
引言
“以库的形式为 Agent 提供一个操作系统。冷启动快 92 倍,内存占用少 47 倍,成本比沙箱低 254 倍。”
这是「每日一个开源项目」系列的第 172 篇。今天的项目是 agentOS——一个以 npm 库形式发布的 AI Agent 运行时。它让你能够在自己的 Node.js 后端中运行 AI coding agent,无需启动任何外部沙箱、微型 VM 或容器。
为 AI Agent 提供「执行环境」正在成为一个基础设施问题:E2B、Daytona、Modal 等沙箱服务的冷启动通常需要数百毫秒到数秒,每个实例至少占用 1GB 内存,并按分钟计费。agentOS 的切入点是:如果 Agent 的 VM 由 V8 隔离与 WebAssembly 实现,而不是完整 Linux 环境,那么该 VM 就可以嵌入你的进程中,实现数毫秒冷启动、数十 MB 内存占用,并将成本降低两个数量级。
项目拥有 4,265 颗 Star,采用 Apache 2.0 许可证,由 Rivet Dev 维护。
你会学到什么
- agentOS 的 VM 隔离模型:V8 isolate + WebAssembly,以及它与完整沙箱的核心差异
- 性能基准:与 E2B、Daytona 在冷启动、内存和成本方面的对比数据
- 核心功能:bindings、文件系统挂载、权限控制、通过 ACP 管理 session
- 内置 Agent 支持:Pi、Claude Code、Codex、OpenCode
- 哪些场景适合 agentOS,哪些场景需要完整沙箱
前提知识
- 了解 Node.js / TypeScript 基础
- 对 AI Agent 工具调用有基本认知
- 了解 V8 或 WebAssembly 概念会有帮助,但不是必需条件
项目背景
概述
agentOS 是一个 npm 包(@rivet-dev/agentos)。安装后,你可以在 TypeScript / Node.js 代码中直接创建 VM 实例,并在 VM 内运行 AI Agent;Agent 可通过 bindings 直接调用你定义的 JavaScript 函数,无需经过网络跳转。
其架构决策是:每个 VM 通过一个受信任的 sidecar 进程拥有自己的「内核」——包括虚拟文件系统、进程表、管道、PTY 和虚拟网络栈。所有 guest syscall 都由这个 sidecar 代理,guest 不会直接接触宿主机。guest JavaScript 运行在具备完整 JIT 加速的 V8 isolate 中,编译工具则运行在 WebAssembly 中。多个 VM 共享同一个 sidecar 进程;每新增一个 VM,只需要增加一个 V8 isolate 和对应内核状态,而非新建一个 OS 进程。
项目信息
- 公司:Rivet Dev
- 主语言:Rust(核心运行时)+ TypeScript(SDK)
- 许可证:Apache-2.0
- 官网:agentos-sdk.dev
项目数据
- ⭐ GitHub Stars:4,265+
- 🍴 Forks:214+
- 📄 许可证:Apache-2.0
- 📅 创建时间:2024-02-07
快速上手
npm install @rivet-dev/agentos @agentos-software/pi
创建服务端(server.ts):
import { agentOS, setup } from "@rivet-dev/agentos";
import pi from "@agentos-software/pi";
const vm = agentOS({
software: [pi],
});
export const registry = setup({ use: { vm } });
registry.start();
创建客户端(client.ts):
import { createClient } from "@rivet-dev/agentos/client";
import type { registry } from "./server";
const client = createClient<typeof registry>({
endpoint: "http://localhost:6420",
});
const handle = client.vm.getOrCreate("my-agent");
const conn = handle.connect();
conn.on("sessionEvent", (event) => console.log(event));
await handle.openSession({
agent: "pi",
env: { ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY! },
});
await handle.prompt({
content: [{ type: "text", text: "写一个 hello world 脚本到 /workspace/hello.js" }],
});
const content = await handle.readFile("/workspace/hello.js");
console.log(new TextDecoder().decode(content));
运行:
npx tsx server.ts
npx tsx client.ts
也可以直接在 VM 中执行 Node.js 和 Shell:
await handle.writeFile("/hello.mjs", 'import fs from "fs"; fs.writeFileSync("/out.txt", "hi")');
await handle.exec("node /hello.mjs");
const result = await handle.exec("cat /out.txt");
console.log(result.stdout);
性能基准
这是 agentOS 的核心卖点。以下基准数据来自 2026 年 3 月 30 日的测量。
冷启动时间
| 百分位 | agentOS | 最快沙箱(E2B) | 倍数 |
|---|---|---|---|
| p50 | 4.8 ms | 440 ms | 92x 更快 |
| p95 | 5.6 ms | 950 ms | 170x 更快 |
| p99 | 6.1 ms | 3,150 ms | 516x 更快 |
agentOS 在 Intel i7-12700KF 上测量。E2B 是截至 2026 年 3 月冷启动最快的主流沙箱。
每实例内存占用
| 工作负载 | agentOS | 最便宜沙箱(Daytona) | 倍数 |
|---|---|---|---|
| 完整 coding agent(Pi + MCP + filesystem) | ~131 MB | ~1,024 MB | 8x 更小 |
| 简单 Shell 命令 | ~22 MB | ~1,024 MB | 47x 更小 |
每执行秒成本(自托管,完整 coding agent)
| 宿主机 | agentOS | Daytona | 倍数 |
|---|---|---|---|
| AWS ARM | $0.00000058/s | $0.000018/s | 32x 更便宜 |
| Hetzner ARM | $0.000000066/s | $0.000018/s | 281x 更便宜 |
Daytona 基准:0.0504/vCPU−h+0.0504/vCPU-h + 0.0504/vCPU−h+0.0162/GiB-h(1 vCPU + 1 GiB 最低配置)。
为什么会有如此大的差距:Daytona 等沙箱的最小实例为 1 vCPU + 1 GiB;即使你只运行一条 ls 命令,也必须分配完整实例。agentOS 的 VM 只需要一个 V8 isolate 和相应内核状态,执行简单命令时仅占用 22 MB。
核心功能详解
Bindings:Agent 直接调用你的函数
这是 agentOS 与传统沙箱最根本的架构差异。
在传统沙箱中,Agent 若要访问你的数据或调用你的业务逻辑,只能通过网络 API——沙箱 → HTTP → 你的后端。这意味着凭证需要传入沙箱,会增加延迟,也会增加一个攻击面。
agentOS 的 bindings:
const vm = agentOS({
software: [pi],
bindings: {
get_user_data: async (userId: string) => {
return await db.users.findById(userId);
},
},
});
Agent 在 VM 中执行 get_user_data 123 时,看起来与执行任意 Shell 命令相同,但实际调用的是你在宿主机上定义的 TypeScript 函数。凭证和数据库连接永远不会进入 VM。
文件系统挂载
支持在启动时或运行时进行动态挂载:
const vm = agentOS({
software: [pi],
mounts: [
{ type: "s3", bucket: "my-bucket", mountpoint: "/data" },
{ type: "host", path: "./local-dir", mountpoint: "/workspace" },
{ type: "memory", mountpoint: "/tmp" },
{ type: "gdrive", mountpoint: "/drive" },
],
});
权限控制
网络出口默认拒绝,可按需开放:
const vm = agentOS({
software: [pi],
permissions: {
network: {
outbound: [
{ host: "api.github.com", allow: true },
{ host: "*", allow: false },
],
},
filesystem: {
read: ["/workspace", "/data"],
write: ["/workspace"],
},
},
});
通过 ACP 管理 Sessions
agentOS 通过 ACP(Agent Client Protocol) 管理 Agent 会话:
- 会话自动持久化,无需额外代码
- 可以恢复中断的会话
- 使用统一的 transcript 格式,可跨 Agent 调试和比对
Cron 和 Webhook
registry.cron("0 9 * * *", async () => {
const handle = client.vm.getOrCreate("daily-report");
await handle.openSession({ agent: "pi" });
await handle.prompt({ content: [{ type: "text", text: "生成今日报告" }] });
});
registry.webhook("/github-events", async (req) => {
});
多人协作
多个客户端可以实时观察并协作使用同一个 Agent:
const conn1 = handleA.connect();
const conn2 = handleB.connect();
Agent-to-Agent 委派
可通过 bindings 实现一个 Agent 委派其他 Agent:
const vm = agentOS({
software: [pi, claudeCode],
bindings: {
run_code_review: async (prUrl: string) => {
const reviewHandle = client.vm.getOrCreate(`review-${prUrl}`);
await reviewHandle.openSession({ agent: "claude-code" });
await reviewHandle.prompt({
content: [{ type: "text", text: `Review PR: ${prUrl}` }],
});
return await reviewHandle.getResult();
},
},
});
内置 Agent 注册表
agentOS 提供一个 Registry,并通过 npm 包分发:
| Agent/包 | npm 包名 | 说明 |
|---|---|---|
| Pi | @agentos-software/pi |
主推的通用 coding agent |
| Claude Code | @agentos-software/claude-code |
Anthropic Claude Code(beta) |
| Codex | @agentos-software/codex |
OpenAI Codex(beta) |
| OpenCode | @agentos-software/opencode |
OpenCode(beta) |
常用命令行工具(以 npm 包形式安装):git、ripgrep、jq、sqlite3、duckdb、curl、vim,以及元包 common、build-essential、everything。
POSIX 基础工具(coreutils、sed、grep、gawk、findutils、diffutils、tar、gzip)开箱即用,无需额外安装。
agentOS vs 完整沙箱:如何选择
agentOS 在文档中明确表示:两者并非对立关系,而是互补关系。
| 维度 | agentOS | 完整沙箱(E2B/Daytona) |
|---|---|---|
| 冷启动 | 4.8ms(p50) | 440ms+(p50) |
| 最小内存 | ~22 MB | ~1,024 MB |
| 宿主机进程集成 | ✅(in-process,直接 bindings) | ✗(需要网络 API) |
| 原生二进制编译 | 部分支持(WebAssembly 格式) | ✅(完整 Linux) |
| 浏览器运行 | 通过 Browserbase(beta) | ✅ |
| Dev server 运行 | ✗ | ✅ |
| 成本 | 极低 | 按分钟计费 |
选择 agentOS 的场景:
- Agent 需要调用你后端中的数据库或函数,可通过 bindings 直接调用
- 高并发、高频率的 Agent 任务,低内存占用意味着单机可以运行更多实例
- 对冷启动延迟敏感,例如用户实时等待的场景
- 希望自托管,不愿承担沙箱服务商按时长计费的成本
选择完整沙箱的场景:
- 需要进行原生编译,例如使用 C / C++ / Rust 工具链
- 需要启动完整开发服务器,例如 Node / Python HTTP server
- 需要真实浏览器,而不是 headless API
- 工作负载本身已较重,能够接受沙箱成本
两者配合使用(sandbox mounting):
const vm = agentOS({
software: [pi],
sandbox: { provider: "e2b", mountpoint: "/sandbox" },
});
日常使用轻量级 agentOS VM;当任务需要真实 Linux 环境时,再临时挂载沙箱。
参考资源
官方链接
总结
agentOS 回答了一个非常具体的工程问题:「我想在产品中运行 AI Agent,但不想接受沙箱服务的冷启动延迟、高内存占用和按分钟计费。」它给出的答案是:使用 V8 isolate + WebAssembly 实现一个足够好的 VM,将这个 VM 封装为 npm 库,并直接通过 npm install 集成进自己的后端。
有三个设计决策值得记住:
Bindings 是核心:不是「Agent 调用你的 HTTP API」,而是「Agent 通过 VM 内的 CLI 命令形式,调用你定义的 TypeScript 函数」。凭证无需进入 VM,延迟几乎为零,Agent 的能力范围也完全由你控制。
性能差距具有结构性:完整沙箱的最小实例通常是 1 vCPU + 1 GiB,无论运行何种工作负载,都需要承担这一最低资源成本。V8 isolate 的基础成本则是数十 MB。这并非简单优化带来的差距,而是隔离层选择不同所产生的结构性差异。
它与完整沙箱互补,而非替代:sandbox mounting 功能表明团队理解 agentOS 的边界——当任务需要真实 Linux 环境时,可以将沙箱文件系统挂载进 VM,而不是试图通过 WebAssembly 模拟一个完整操作系统。
如果你正在构建需要 AI Agent 能力的产品,却对沙箱服务的成本和延迟不满意,那么 npm install @rivet-dev/agentos 值得纳入评估范围。
English / 原文
引言
"Give agents an operating system as a library. 92x faster cold starts, 47x less memory, 254x cheaper than sandboxes."
这是「每日一个开源项目」系列的第 172 篇 。今天的项目是 agentOS —— 一个以 npm 库形式发布的 AI agent 运行时,让你在自己的 Node.js 后端里运行 AI coding agent,不需要启动任何外部沙箱、微VM 或容器。
给 AI agent 一个「执行环境」的问题正在变成基础设施问题:E2B、Daytona、Modal 这些沙箱服务的冷启动通常在几百毫秒到几秒,每个实例至少 1GB 内存,按分钟计费。agentOS 的切入点是:如果 agent 的 VM 是用 V8 隔离 + WebAssembly 实现的,而不是一个完整的 Linux 环境,那么这个 VM 可以嵌进你的进程里,冷启动几毫秒,几十 MB 内存,成本降低两个数量级。
4,265 颗 Star,Apache 2.0,由 Rivet Dev 维护。
你会学到什么
- agentOS 的 VM 隔离模型:V8 隔离 + WebAssembly,和完整沙箱的核心差异
- 性能基准:与 E2B、Daytona 的冷启动/内存/成本对比数据
- 核心功能:bindings、文件系统挂载、权限控制、session via ACP
- 内置 agent 支持:Pi、Claude Code、Codex、OpenCode
- 什么场景适合 agentOS,什么场景需要完整沙箱
前提知识
- 了解 Node.js/TypeScript 基础
- 对 AI agent 工具调用有基本认知
- 了解 V8 或 WebAssembly 的概念会有帮助,但不是必须的
项目背景
概述
agentOS 是一个 npm 包(@rivet-dev/agentos),安装后你可以在 TypeScript/Node.js 代码里直接创建 VM 实例,在 VM 里运行 AI agent,agent 通过 bindings 直接调用你定义的 JavaScript 函数,不需要网络跳转。
架构决策:每个 VM 用一个信任的 sidecar 进程拥有自己的「内核」—— 虚拟文件系统、进程表、管道、PTY、虚拟网络栈。所有 guest 的 syscall 都通过这个 sidecar 代理,不直接接触宿主机。guest JavaScript 跑在 V8 isolate(全 JIT 加速),编译工具跑为 WebAssembly。多个 VM 共享一个 sidecar 进程,每增加一个 VM 只需要一个 V8 isolate 加内核状态,而不是一个新的 OS 进程。
项目信息
- 公司 : Rivet Dev
- 主语言 : Rust(核心运行时)+ TypeScript(SDK)
- 许可证 : Apache-2.0
- 官网 : agentos-sdk.dev
项目数据
- ⭐ GitHub Stars: 4,265+
- 🍴 Forks: 214+
- 📄 许可证: Apache-2.0
- 📅 创建时间: 2024-02-07
快速上手
npm install @rivet-dev/agentos @agentos-software/pi
创建服务端(server.ts):
import { agentOS, setup } from "@rivet-dev/agentos";
import pi from "@agentos-software/pi";
const vm = agentOS({
software: [pi],
});
export const registry = setup({ use: { vm } });
registry.start();
创建客户端(client.ts):
import { createClient } from "@rivet-dev/agentos/client";
import type { registry } from "./server";
const client = createClient<typeof registry>({
endpoint: "http://localhost:6420",
});
const handle = client.vm.getOrCreate("my-agent");
const conn = handle.connect();
conn.on("sessionEvent", (event) => console.log(event));
await handle.openSession({
agent: "pi",
env: { ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY! },
});
await handle.prompt({
content: [{ type: "text", text: "写一个 hello world 脚本到 /workspace/hello.js" }],
});
const content = await handle.readFile("/workspace/hello.js");
console.log(new TextDecoder().decode(content));
运行:
npx tsx server.ts
npx tsx client.ts
也可以直接在 VM 里执行 Node.js 和 Shell:
await handle.writeFile("/hello.mjs", 'import fs from "fs"; fs.writeFileSync("/out.txt", "hi")');
await handle.exec("node /hello.mjs");
const result = await handle.exec("cat /out.txt");
console.log(result.stdout);
性能基准
这是 agentOS 的核心卖点,基准数据来自 2026 年 3 月 30 日的测量:
冷启动时间
| 百分位 | agentOS | 最快沙箱(E2B) | 倍数 |
|---|---|---|---|
| p50 | 4.8 ms | 440 ms | 92x 更快 |
| p95 | 5.6 ms | 950 ms | 170x 更快 |
| p99 | 6.1 ms | 3,150 ms | 516x 更快 |
agentOS 在 Intel i7-12700KF 上测量。E2B 是截至 2026 年 3 月冷启动最快的主流沙箱。
每实例内存占用
| 工作负载 | agentOS | 最便宜沙箱(Daytona) | 倍数 |
|---|---|---|---|
| 完整 coding agent(Pi + MCP + filesystem) | ~131 MB | ~1,024 MB | 8x 更小 |
| 简单 Shell 命令 | ~22 MB | ~1,024 MB | 47x 更小 |
每执行秒成本(自托管,完整 coding agent)
| 宿主机 | agentOS | Daytona | 倍数 |
|---|---|---|---|
| AWS ARM | $0.00000058/s | $0.000018/s | 32x 更便宜 |
| Hetzner ARM | $0.000000066/s | $0.000018/s | 281x 更便宜 |
Daytona 基准:0.0504/vCPU−h+0.0504/vCPU-h + 0.0504/vCPU−h+0.0162/GiB-h(1 vCPU + 1 GiB 最低配置)。
为什么会有这么大的差距 :Daytona 等沙箱最小实例是 1 vCPU + 1 GiB,即使你只运行一条 ls 命令,也需要分配整个实例。agentOS 的 VM 只需要一个 V8 isolate 和内核状态,简单命令只用 22 MB。
核心功能详解
Bindings:agent 直接调用你的函数
这是 agentOS 与传统沙箱最根本的架构差异。
传统沙箱里,agent 要访问你的数据或调用你的逻辑,只能通过网络 API —— 沙箱 → HTTP → 你的后端。这意味着凭证要传进沙箱,延迟增加,还多一个攻击面。
agentOS 的 bindings:
const vm = agentOS({
software: [pi],
bindings: {
get_user_data: async (userId: string) => {
return await db.users.findById(userId);
},
},
});
agent 在 VM 里执行 get_user_data 123,就像执行任意 Shell 命令一样,但实际上是调用你在宿主机上定义的 TypeScript 函数。凭证和数据库连接从不进入 VM。
文件系统挂载
支持在启动时或运行时动态挂载:
const vm = agentOS({
software: [pi],
mounts: [
{ type: "s3", bucket: "my-bucket", mountpoint: "/data" },
{ type: "host", path: "./local-dir", mountpoint: "/workspace" },
{ type: "memory", mountpoint: "/tmp" },
{ type: "gdrive", mountpoint: "/drive" },
],
});
权限控制
网络出口默认拒绝,按需开放:
const vm = agentOS({
software: [pi],
permissions: {
network: {
outbound: [
{ host: "api.github.com", allow: true },
{ host: "*", allow: false },
],
},
filesystem: {
read: ["/workspace", "/data"],
write: ["/workspace"],
},
},
});
Sessions via ACP
agentOS 通过 ACP(Agent Client Protocol) 管理 agent 会话:
- 会话自动持久化,无需额外代码
- 可以恢复中断的会话
- 统一的 transcript 格式,跨 agent 调试和比对
Cron 和 Webhook
registry.cron("0 9 * * *", async () => {
const handle = client.vm.getOrCreate("daily-report");
await handle.openSession({ agent: "pi" });
await handle.prompt({ content: [{ type: "text", text: "生成今日报告" }] });
});
registry.webhook("/github-events", async (req) => {
});
多人协作
多个客户端可以实时观察和协作同一个 agent:
const conn1 = handleA.connect();
const conn2 = handleB.connect();
Agent-to-Agent 委派
通过 bindings 实现 agent 委派其他 agent:
const vm = agentOS({
software: [pi, claudeCode],
bindings: {
run_code_review: async (prUrl: string) => {
const reviewHandle = client.vm.getOrCreate(`review-${prUrl}`);
await reviewHandle.openSession({ agent: "claude-code" });
await reviewHandle.prompt({
content: [{ type: "text", text: `Review PR: ${prUrl}` }],
});
return await reviewHandle.getResult();
},
},
});
内置 Agent 注册表
agentOS 有一个注册表(Registry),通过 npm 包形式分发:
| Agent/包 | npm 包名 | 说明 |
|---|---|---|
| Pi | @agentos-software/pi |
主推的通用 coding agent |
| Claude Code | @agentos-software/claude-code |
Anthropic Claude Code(beta) |
| Codex | @agentos-software/codex |
OpenAI Codex(beta) |
| OpenCode | @agentos-software/opencode |
OpenCode(beta) |
常用命令行工具 (作为 npm 包安装): git、ripgrep、jq、sqlite3、duckdb、curl、vim,以及元包 common、build-essential、everything。
POSIX 基础工具(coreutils、sed、grep、gawk、findutils、diffutils、tar、gzip)开箱即用,不需要额外安装。
agentOS vs 完整沙箱:如何选择
agentOS 本身在文档里明确说:二者不是对立关系,而是互补的。
| 维度 | agentOS | 完整沙箱(E2B/Daytona) |
|---|---|---|
| 冷启动 | 4.8ms(p50) | 440ms+(p50) |
| 最小内存 | ~22 MB | ~1,024 MB |
| 宿主机进程集成 | ✅(in-process,直接 bindings) | ✗(需要网络 API) |
| 原生二进制编译 | 部分(WebAssembly 格式) | ✅(完整 Linux) |
| 浏览器运行 | 通过 Browserbase(beta) | ✅ |
| Dev server 运行 | ✗ | ✅ |
| 成本 | 极低 | 按分钟计费 |
选 agentOS 的场景:
- agent 需要调用你后端的数据库或函数(bindings 直接调用)
- 高并发、高频率的 agent 任务(低内存意味着单机跑更多实例)
- 对冷启动延迟敏感(用户实时等待的场景)
- 自托管,不想接受沙箱服务商的账单
选完整沙箱的场景:
- 需要运行原生编译(C/C++/Rust 工具链)
- 需要启动完整开发服务器(Node/Python HTTP server)
- 需要真实浏览器(不是 headless API)
- 工作负载已经很重,沙箱成本可接受
两者配合(sandbox mounting):
const vm = agentOS({
software: [pi],
sandbox: { provider: "e2b", mountpoint: "/sandbox" },
});
平时用轻量 agentOS VM,遇到需要真实 Linux 的任务时临时挂载沙箱。
参考资源
官方链接
总结
agentOS 回答了一个很具体的工程问题:「我想在产品里运行 AI agent,但我不想接受沙箱服务的冷启动延迟、高内存占用和按分钟计费。」它的答案是:用 V8 isolate + WebAssembly 实现一个足够好的 VM,把这个 VM 做成一个 npm 库,让你直接 npm install 进自己的后端。
三个设计决策值得记住:
Bindings 是核心 :不是「agent 调用你的 HTTP API」,而是「agent 调用你定义的 TypeScript 函数,通过 VM 内的 CLI 命令形式」。凭证从不进入 VM,延迟几乎为零,agent 的能力完全由你控制。
性能差距是结构性的 :完整沙箱最小实例是 1 vCPU + 1 GiB,无论你跑什么工作负载都要付这个底价。V8 isolate 的底价是几十 MB。这不是优化出来的差距,而是隔离层选择不同导致的结构性差距。
与完整沙箱互补,不是替代 :sandbox mounting 这个功能说明团队理解 agentOS 的边界:在需要真实 Linux 环境时,把沙箱文件系统挂进 VM,而不是试图用 WebAssembly 模拟一个完整 OS。
如果你正在构建需要 AI agent 能力的产品,但对沙箱服务的成本和延迟不满意,agentOS 的 npm install @rivet-dev/agentos 是值得评估的选项。
探索PrimeSkills —— 精选 AI agent 和技能工具,每一个都经过真实工作流验证。没有炒作,只有真正好用的工具。
访问我的个人主页,获取更多见解和有趣的产品。