Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
7e4a20e
feat(website): redesign landing page and registry around the virtual …
NicholasKissel Jul 9, 2026
38ba329
feat(website): drop table rows the benchmark charts already measure
NicholasKissel Jul 9, 2026
bbd22e9
feat(website): default benchmarks to the execution workload
NicholasKissel Jul 9, 2026
1f3d871
feat(website): name Eve and Flue in the orchestration section
NicholasKissel Jul 9, 2026
90832dd
perf(website): fix cold-start modal jank
NicholasKissel Jul 9, 2026
193bf03
feat(website): replay per-runtime agent sessions in the execution sec…
NicholasKissel Jul 9, 2026
468f22d
feat(website): fold runtime cards into the session demo and add a fil…
NicholasKissel Jul 9, 2026
d118453
feat(website): add identity section, fix tab semantics and hero logo …
NicholasKissel Jul 9, 2026
35f70e5
feat(website): add stack diagram and name Eve and Flue in the identit…
NicholasKissel Jul 9, 2026
76d8d06
feat(website): make the identity stack show the virtualization archit…
NicholasKissel Jul 9, 2026
213f2f0
feat(website): redraw the identity diagram as nested containment with…
NicholasKissel Jul 9, 2026
1dd8833
fix(website): correct identity section claims about process model and…
NicholasKissel Jul 9, 2026
ff28b50
feat(website): make runtime switching an explicit segmented control
NicholasKissel Jul 10, 2026
7f335e8
feat(website): color underlined links with the site accent
NicholasKissel Jul 10, 2026
e28d3c3
fix(website): finish the agentOS cold-start fill instantly on the sha…
NicholasKissel Jul 10, 2026
b6b9b48
fix(website): give the cold-start modal header proper spacing
NicholasKissel Jul 10, 2026
6db75d2
fix(website): draw the agentOS handscript as an honest pen reveal
NicholasKissel Jul 10, 2026
edacbbe
feat(website): simplify the agent stack diagram and steady the regist…
NicholasKissel Jul 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions website/.astro/content-modules.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,17 @@ export default new Map([
["src/content/docs/docs/approvals.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fapprovals.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/authentication.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fauthentication.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/architecture.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Farchitecture.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/benchmarks.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fbenchmarks.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/bindings.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fbindings.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/core.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcore.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/browser.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fbrowser.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/benchmarks.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fbenchmarks.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/cost-evaluation.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcost-evaluation.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/crash-course.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcrash-course.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/core.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcore.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/cron.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcron.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/debugging.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fdebugging.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/deployment.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fdeployment.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/filesystem.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Ffilesystem.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/index.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Findex.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/deployment.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fdeployment.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/debugging.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fdebugging.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/js-runtime.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fjs-runtime.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/limitations.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Flimitations.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/llm-credentials.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fllm-credentials.mdx&astroContentModuleFlag=true")],
Expand All @@ -31,13 +32,13 @@ export default new Map([
["src/content/docs/docs/security-model.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fsecurity-model.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/sessions.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fsessions.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/software.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fsoftware.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/system-prompt.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fsystem-prompt.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/versus-sandbox.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fversus-sandbox.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/webhooks.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fwebhooks.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/system-prompt.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fsystem-prompt.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/agents/codex.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fagents%2Fcodex.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/workflows.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fworkflows.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/agents/claude.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fagents%2Fclaude.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/agents/codex.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fagents%2Fcodex.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/agents/custom.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fagents%2Fcustom.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/workflows.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fworkflows.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/agents/opencode.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fagents%2Fopencode.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/agents/pi.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fagents%2Fpi.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/architecture/agent-sdk-snapshots.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Farchitecture%2Fagent-sdk-snapshots.mdx&astroContentModuleFlag=true")],
Expand All @@ -49,8 +50,8 @@ export default new Map([
["src/content/docs/docs/architecture/packages-and-command-resolution.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Farchitecture%2Fpackages-and-command-resolution.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/architecture/posix-syscalls.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Farchitecture%2Fposix-syscalls.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/architecture/processes.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Farchitecture%2Fprocesses.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/architecture/sessions-persistence.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Farchitecture%2Fsessions-persistence.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/custom-software/building-wasm.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcustom-software%2Fbuilding-wasm.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/custom-software/definition.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcustom-software%2Fdefinition.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/architecture/sessions-persistence.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Farchitecture%2Fsessions-persistence.mdx&astroContentModuleFlag=true")],
["src/content/docs/docs/custom-software/publishing.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fdocs%2Fcustom-software%2Fpublishing.mdx&astroContentModuleFlag=true")]]);

2 changes: 1 addition & 1 deletion website/.astro/data-store.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion website/public/docs/docs/agents/custom.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Register the package on the server with `software`. Sessions are then created fr
import { agentOS, setup, defineSoftware } from "@rivet-dev/agentos";

const myAgent = defineSoftware({
packageDir, // the packaged agent directory; its agentos-package.json carries the agent block
packagePath, // the packed agent .aospkg; its embedded manifest carries the agent block
});

const vm = agentOS({ software: [myAgent] });
Expand Down
4 changes: 1 addition & 3 deletions website/public/docs/docs/browser.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,4 @@ browse cloud sessions list # list cloud browser sessions
browse cloud projects list # list Browserbase projects
```

## Interactive browsing

`browse` also has an [interactive driver mode](https://docs.browserbase.com/integrations/skills/browse-cli) (`browse open`, `browse click`, `browse fill`, …) that keeps a daemon running between commands. For interactive automation, run `browse` (or Playwright/Puppeteer) inside a sandbox via [Sandbox Mounting](/docs/sandbox).
The [interactive driver mode](https://docs.browserbase.com/integrations/skills/browse-cli) (`browse open`, `browse click`, …) is not supported inside the VM yet ([#1631](https://github.com/rivet-dev/agentos/issues/1631)). For interactive automation, run `browse` inside a sandbox via [Sandbox Mounting](/docs/sandbox).
33 changes: 14 additions & 19 deletions website/public/docs/docs/core.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ npm install @rivet-dev/agentos-core

## Boot a VM

Define the actor on the server:

Then drive it from a typed client:
Create a VM and drive it directly — no actor runtime, no client/server split. `AgentOs.create()` boots the VM in-process and returns a handle you call directly:

## Sidecar process

Expand All @@ -45,19 +43,21 @@ For advanced cases the core package exposes explicit sidecar handles so you can

## Processes

Long-running process output is delivered over the live `processOutput` / `processExit` events on a connection rather than per-pid callbacks:
Long-running process output is delivered through the `onStdout`/`onStderr` callbacks you pass to `spawn`, and exit through `onProcessExit(pid, …)`:

## Agent sessions

`createSession` returns a session record. All session operations take its `sessionId`. Session events and permission requests are delivered over the live connection (`sessionEvent` / `permissionRequest`):
`createSession` resolves to a session record; all session operations take its `sessionId`. Session events and permission requests are delivered through per-session callbacks (`onSessionEvent` / `onPermissionRequest`):

Subscribe to `sessionEvent` before sending a prompt so you do not miss the live stream. Persisted history can be read back later with `getSessionEvents()`.
Register `onSessionEvent` right after `createSession` so you do not miss the live stream — core session events are live-only and are not replayed.

## Networking

`fetch(port, request)` reaches a server running inside the VM:

## Cron jobs

Cron jobs run an `"exec"` command or a `"session"` prompt on a schedule. Fired jobs are surfaced over the live `cronEvent` connection:
Cron jobs run an `"exec"` command or a `"session"` prompt on a schedule. Fired jobs are surfaced through the `onCronEvent` callback:

## Mounts

Expand All @@ -66,21 +66,16 @@ Configure filesystem backends at boot time.
Native mount plugins (host directories, S3, etc.) are passed via `plugin`, each
identified by an `id` and a `config` object.

## `agentOS()` configuration reference

When you use the [`agentOS()` actor](/docs/quickstart), all VM configuration is passed to the factory as a single flat object. This is the consolidated config block to copy and adapt:
## Configuration reference

The top-level fields are documented inline above. See [Mounts](#mounts), [Software](/docs/software), and (for the hooks) [Approvals](/docs/approvals).
All VM configuration is passed to `AgentOs.create()` as a single flat object. This is the consolidated config block to copy and adapt. The [`agentOS()` actor](/docs/quickstart) accepts the same options and layers persistence, sleep/wake, and preview URLs on top:

### Lifecycle hooks
The top-level fields are documented inline above. See [Mounts](#mounts) and [Software](/docs/software).

`onPermissionRequest(sessionId, request)` fires when an agent requests permission. `onSessionEvent(sessionId, event)` is a server-side hook called once for every session event: unlike the client-side `sessionEvent` connection subscription, it runs in the actor for every event regardless of connected clients, making it the place for server-side logging, persistence, or side effects.
### Session events

### Timeouts
With the core package, session events and permission requests are observed per-session on the `AgentOs` instance. `onSessionEvent(sessionId, event)` fires once for every session event; `onPermissionRequest(sessionId, request)` fires when an agent requests permission. Both are live-only callbacks — register them right after `createSession`:

| Setting | Default | Description |
|---------|---------|-------------|
| Action timeout | 15 minutes | Maximum time for any single action |
| Sleep grace period | 15 minutes | Time before sleeping after all activity stops |
### Timeouts and sleep

These are set internally by the `agentOS()` factory and cannot be overridden per-call. See [Persistence & Sleep](/docs/persistence) for details on the sleep lifecycle.
Action timeouts and automatic sleep/wake are features of the [`agentOS()` actor](/docs/quickstart), not the core package. A core VM stays alive until you call `dispose()`. See [Persistence & Sleep](/docs/persistence) for the actor's sleep lifecycle.
Loading
Loading