Skip to main content
General

Quickstart

Set up an agentOS actor, create a session, and run your first coding agent.

Use this pre-built prompt to get started faster.
Prefer to read code? Clone the example repository.View on GitHub
OSClientJS · Browser · BackendServerOS= agentOS VM
  1. Install

    • @rivet-dev/agentos — Actor framework with built-in persistence and orchestration
    • @agentos-software/piPi coding agent. Claude Code, Codex, and OpenCode install the same way.
    npm install @rivet-dev/agentos @agentos-software/pi
    
  2. Create the server

    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();
    
  3. Create the client

    The client can be any public frontend or another backend. The same vm actor is reachable from a plain Node script, a browser/React app, or a separate server.

  4. Run it

    Start the server, then run the client in a second terminal:

    # Terminal 1: start the server
    npx tsx server.ts
    
    # Terminal 2: run the client
    npx tsx client.ts
    

    With the server running, open http://localhost:6420/ui to watch the VM in the inspector: the live transcript, the filesystem, and its processes.

  5. Customize

    Now that you have a working agent, customize it to fit your needs:

  6. Deploy

    By default, agentOS runs locally with npx rivetkit dev — no infrastructure needed. To run in production, deploy to any of these targets:

    By default, Rivet stores actor state on the local file system.

    To scale Rivet in production, pick how much of it you want to run yourself:

    If you are running your own workers, follow the guide for your hosting provider:

agentOS is in preview and the API is subject to change. If you run into issues, please report them on GitHub or join our Discord.

Direct VM API

The same @rivet-dev/agentos package also exports AgentOs.create() for direct VM control without the actor lifecycle, multiplayer, or orchestration layer.

See the direct VM API documentation for reference.