{"id":47364769,"url":"https://github.com/rivet-dev/agent-os","last_synced_at":"2026-04-02T23:10:19.922Z","repository":{"id":347693251,"uuid":"1194337493","full_name":"rivet-dev/agent-os","owner":"rivet-dev","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-29T04:38:07.000Z","size":360,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-29T05:27:56.735Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rivet-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-28T08:03:03.000Z","updated_at":"2026-03-29T02:47:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rivet-dev/agent-os","commit_stats":null,"previous_names":["rivet-dev/agent-os"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rivet-dev/agent-os","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivet-dev%2Fagent-os","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivet-dev%2Fagent-os/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivet-dev%2Fagent-os/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivet-dev%2Fagent-os/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rivet-dev","download_url":"https://codeload.github.com/rivet-dev/agent-os/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivet-dev%2Fagent-os/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31292781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-18T19:00:37.178Z","updated_at":"2026-04-01T23:01:17.408Z","avatar_url":"https://github.com/rivet-dev.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/media/banner.png\" alt=\"agentOS\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  A portable open-source operating system for AI agents.\u003cbr/\u003eNear-zero cold starts (~6 ms), up to 32x cheaper than sandboxes.\u003cbr/\u003ePowered by WebAssembly and V8 isolates.\u003cbr/\u003e\u003cbr/\u003eSupports Pi, Claude Code*, Codex*, Amp*, and OpenCode*\u003cbr/\u003e\u003csub\u003e* coming soon\u003c/sub\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://rivet.dev/docs/agent-os\"\u003eDocumentation\u003c/a\u003e | \u003ca href=\"https://rivet.dev/docs/agent-os/quickstart\"\u003eQuickstart\u003c/a\u003e\n\u003c/p\u003e\n\n\n## Why agentOS\n\n- **Runs inside your process**: No VMs to boot, no containers to pull. Agents start in milliseconds with minimal memory overhead.\n- **Embeds in your backend**: Agents call your functions directly via [host tools](https://rivet.dev/docs/agent-os/tools). No network hops, no complex auth between services.\n- **Granular security**: Deny-by-default permissions for filesystem, network, and process access. The same isolation technology trusted by browsers worldwide.\n- **Deploy anywhere**: Just an npm package. Works on your laptop, Rivet Cloud, Railway, Vercel, Kubernetes, or any container platform.\n- **Open source**: Apache 2.0 licensed. Self-host or use [Rivet Cloud](https://rivet.dev/docs/agent-os/deployment) for managed infrastructure.\n\n### agentOS vs Sandbox\n\nagentOS is a lightweight VM that runs inside your process. Sandboxes are full Linux environments. agentOS integrates agents into your backend with [host tools](https://rivet.dev/docs/agent-os/tools) and granular permissions. Sandboxes give you a full OS for browsers, native binaries, and dev servers.\n\nYou don't have to choose: agentOS works with sandboxes through the [sandbox extension](https://rivet.dev/docs/agent-os/sandbox), spinning up a full sandbox on demand and mounting the sandbox's file system when the workload needs it.\n\n## Quick start\n\n```bash\nnpm install @rivet-dev/agent-os-core @rivet-dev/agent-os-common @rivet-dev/agent-os-pi\n```\n\n```ts\nimport { AgentOs } from \"@rivet-dev/agent-os-core\";\nimport common from \"@rivet-dev/agent-os-common\";\nimport pi from \"@rivet-dev/agent-os-pi\";\n\nconst vm = await AgentOs.create({ software: [common, pi] });\n\n// Create a session and send a prompt\nconst { sessionId } = await vm.createSession(\"pi\", {\n  env: { ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY! },\n});\n\nvm.onSessionEvent(sessionId, (event) =\u003e {\n  console.log(event);\n});\n\nawait vm.prompt(sessionId, \"Write a hello world script to /home/user/hello.js\");\n\n// Read the file the agent created\nconst content = await vm.readFile(\"/home/user/hello.js\");\nconsole.log(new TextDecoder().decode(content));\n\nvm.closeSession(sessionId);\nawait vm.dispose();\n```\n\nagentOS runs Node.js, Python, and shell scripts inside the VM:\n\n```ts\n// Node.js\nawait vm.writeFile(\"/hello.mjs\", 'import fs from \"fs\"; fs.writeFileSync(\"/out.txt\", \"hi\"); console.log(fs.readFileSync(\"/out.txt\", \"utf8\"));');\nawait vm.exec(\"node /hello.mjs\");\n\n// Python\nawait vm.writeFile(\"/hello.py\", 'open(\"/out.txt\", \"w\").write(\"hi\"); print(open(\"/out.txt\").read())');\nawait vm.exec(\"python /hello.py\");\n\n// Bash\nawait vm.exec(\"echo 'hi' \u003e /out.txt \u0026\u0026 cat /out.txt\");\n```\n\nSee the [Quickstart guide](https://rivet.dev/docs/agent-os/quickstart) for the full walkthrough.\n\n## Benchmarks\n\nAll benchmarks compare agentOS against the fastest/cheapest mainstream sandbox providers as of March 2026.\n\n### Cold start\n\n| Percentile | agentOS | Fastest Sandbox (E2B) | Speedup |\n|---|---|---|---|\n| p50 | 4.8 ms | 440 ms | **92x faster** |\n| p95 | 5.6 ms | 950 ms | **170x faster** |\n| p99 | 6.1 ms | 3,150 ms | **516x faster** |\n\n\u003csub\u003eagentOS: median of 10,000 runs on Intel i7-12700KF. Sandbox: E2B.\u003c/sub\u003e\n\n### Memory per instance\n\n| Workload | agentOS | Cheapest Sandbox (Daytona) | Reduction |\n|---|---|---|---|\n| Full coding agent (Pi + MCP + filesystem) | ~131 MB | ~1,024 MB | **8x smaller** |\n| Simple shell command | ~22 MB | ~1,024 MB | **47x smaller** |\n\n\u003csub\u003eSandbox baseline: Daytona minimum (1 vCPU + 1 GiB RAM).\u003c/sub\u003e\n\n### Cost per execution (self-hosted)\n\n| Hardware | Cost/sec (agent workload) | vs Sandbox | \n|---|---|---|\n| AWS ARM | ~$0.0000032/s | **6x cheaper** |\n| AWS x86 | ~$0.0000053/s | **3x cheaper** |\n| Hetzner ARM | ~$0.0000011/s | **17x cheaper** |\n| Hetzner x86 | ~$0.0000013/s | **14x cheaper** |\n\n\u003csub\u003eSandbox baseline: Daytona at $0.0504/vCPU-h + $0.0162/GiB-h. Self-hosted assumes 70% utilization.\u003c/sub\u003e\n\n## Features\n\n### Agents\n- **Multi-agent support**: Run Claude Code, Codex, OpenCode, Amp, Pi, and more with a unified API\n- **[Sessions via ACP](https://rivet.dev/docs/agent-os/sessions)**: Create, manage, and resume agent sessions over the [Agent Communication Protocol](https://agentclientprotocol.com)\n- **Universal transcript format**: One transcript format across all agents for debugging, auditing, and comparison\n- **[Automatic persistence](https://rivet.dev/docs/agent-os/persistence)**: Every conversation is saved and replayable without extra code\n\n### Infrastructure\n- **[Mount anything as a filesystem](https://rivet.dev/docs/agent-os/filesystem)**: S3, Google Drive, SQLite, host directories, or custom backends\n- **[Host tools](https://rivet.dev/docs/agent-os/tools)**: Define JavaScript functions that agents call as CLI commands inside the VM\n- **[Cron](https://rivet.dev/docs/agent-os/cron), [webhooks](https://rivet.dev/docs/agent-os/webhooks), and [queues](https://rivet.dev/docs/agent-os/queues)**: Schedule tasks, receive external events, and serialize work with built-in primitives\n- **[Sandbox extension](https://rivet.dev/docs/agent-os/sandbox)**: Pair with full sandboxes (E2B, Daytona, etc.) for heavy workloads like browsers or native compilation\n\n### Orchestration\n- **[Multiplayer](https://rivet.dev/docs/agent-os/multiplayer)**: Multiple clients observe and collaborate with the same agent in real time\n- **[Agent-to-agent](https://rivet.dev/docs/agent-os/agent-to-agent)**: Agents delegate work to other agents through host-defined tools\n- **[Workflows](https://rivet.dev/docs/agent-os/workflows)**: Chain agent tasks into durable workflows with retries, branching, and resumable execution\n- **[Authentication](https://rivet.dev/docs/agent-os/authentication)**: Integrate with your existing auth model (API keys, OAuth, JWTs)\n\n### Security\n- **[Deny-by-default permissions](https://rivet.dev/docs/agent-os/security)**: Granular control over filesystem, network, process, and environment access\n- **[Programmatic network control](https://rivet.dev/docs/agent-os/networking)**: Allow, deny, or proxy any outbound connection\n- **[Resource limits](https://rivet.dev/docs/agent-os/security)**: Set precise CPU and memory limits per agent\n- **[V8 + WebAssembly isolation](https://rivet.dev/docs/agent-os/architecture)**: Each agent runs in its own isolate with no shared state\n\n## Architecture\n\nagentOS is built on an in-process operating system kernel written in JavaScript. Three runtimes mount into the kernel:\n\n- **WebAssembly**: POSIX utilities (coreutils, grep, sed, etc.) compiled to WASM\n- **V8 isolates**: JavaScript/TypeScript agent code runs in sandboxed V8 contexts\n\nThe kernel manages a virtual filesystem, process table, pipes, PTYs, and a virtual network stack. Everything runs inside the kernel -- nothing executes on the host.\n\nSee the [Architecture docs](https://rivet.dev/docs/agent-os/architecture) for details.\n\n## Registry\n\nBrowse pre-built agents, tools, filesystems, and software packages at the [agentOS Registry](https://rivet.dev/agent-os/registry).\n\n\u003c!-- BEGIN PACKAGE TABLE --\u003e\n### WASM Command Packages\n\n| Package | apt Equivalent | Description | Source | Combined Size | Gzipped |\n|---------|---------------|-------------|--------|---------------|---------|\n| `@rivet-dev/agent-os-codex` | codex | OpenAI Codex integration (codex, codex-exec) | rust | - | - |\n| `@rivet-dev/agent-os-coreutils` | coreutils | GNU coreutils: sh, cat, ls, cp, sort, and 80+ commands | rust | - | - |\n| `@rivet-dev/agent-os-curl` | curl | curl HTTP client | c | - | - |\n| `@rivet-dev/agent-os-diffutils` | diffutils | GNU diffutils (diff) | rust | - | - |\n| `@rivet-dev/agent-os-fd` | fd-find | fd fast file finder | rust | - | - |\n| `@rivet-dev/agent-os-file` | file | file type detection | rust | - | - |\n| `@rivet-dev/agent-os-findutils` | findutils | GNU findutils (find, xargs) | rust | - | - |\n| `@rivet-dev/agent-os-gawk` | gawk | GNU awk text processing | rust | - | - |\n| `@rivet-dev/agent-os-git` | git | git version control *(planned)* | rust | - | - |\n| `@rivet-dev/agent-os-grep` | grep | GNU grep pattern matching (grep, egrep, fgrep) | rust | - | - |\n| `@rivet-dev/agent-os-gzip` | gzip | GNU gzip compression (gzip, gunzip, zcat) | rust | - | - |\n| `@rivet-dev/agent-os-jq` | jq | jq JSON processor | rust | - | - |\n| `@rivet-dev/agent-os-make` | make | GNU make build tool *(planned)* | rust | - | - |\n| `@rivet-dev/agent-os-ripgrep` | ripgrep | ripgrep fast recursive search | rust | - | - |\n| `@rivet-dev/agent-os-sed` | sed | GNU sed stream editor | rust | - | - |\n| `@rivet-dev/agent-os-sqlite3` | sqlite3 | SQLite3 command-line interface | c | - | - |\n| `@rivet-dev/agent-os-tar` | tar | GNU tar archiver | rust | - | - |\n| `@rivet-dev/agent-os-tree` | tree | tree directory listing | rust | - | - |\n| `@rivet-dev/agent-os-unzip` | unzip | unzip archive extraction | c | - | - |\n| `@rivet-dev/agent-os-wget` | wget | GNU wget HTTP client | c | - | - |\n| `@rivet-dev/agent-os-yq` | yq | yq YAML/JSON processor | rust | - | - |\n| `@rivet-dev/agent-os-zip` | zip | zip archive creation | c | - | - |\n\n### Meta-Packages\n\n| Package | Description | Includes |\n|---------|-------------|----------|\n| `@rivet-dev/agent-os-build-essential` | Build-essential WASM command set (standard + make + git + curl) | standard, make, git, curl |\n| `@rivet-dev/agent-os-common` | Common WASM command set (coreutils + sed + grep + gawk + findutils + diffutils + tar + gzip) | coreutils, sed, grep, gawk, findutils, diffutils, tar, gzip |\n\u003c!-- END PACKAGE TABLE --\u003e\n\n## License\n\nApache-2.0\n","funding_links":[],"categories":["TypeScript","Libraries"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivet-dev%2Fagent-os","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frivet-dev%2Fagent-os","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivet-dev%2Fagent-os/lists"}