OpenComputer

    Firebase for agents.

    Write an agent as a TypeScript function, deploy it live in seconds. Your keys never enter the runtime.

    Read the docs →
    agent.ts
    import { useModel, useTool, useMcpServer } from "@opencomputer/agent";
    import { openCleanupPullRequest } from "./tools/github.js";
    
    export default function Agent() {
      useModel("anthropic/claude-sonnet-4.6");
      useMcpServer(unleashMcp);           // read flag state
      useTool(openCleanupPullRequest);    // one PR per stale flag
      return "Find stale flags in code, open a PR to remove each.";
    }

    A real agent: it finds stale feature flags still referenced in code and opens a cleanup PR for each.

    Managed

    Batteries included.

    Keys it uses but never sees

    Each secret is bound to one origin and injected after the request leaves the sandbox. The agent can open a PR; it can't read the token, and can't send it anywhere else.

    tools/github.ts
    export const githubPat = defineConnection({
      origin: https://api.github.com",     // only ever here
      headers: { Authorization: bearer(useSecret("GITHUB_PAT")) },
    });
    egress
    POST /repos/acme/app/pulls  (open cleanup PR)
    Authorization: Bearer ••••••••

    Deploy it, then leave it running

    Give it a schedule and it runs itself. Sessions, streaming, MCP, and Slack are handled.

    schedules/weekday-hygiene.ts
    export default defineSchedule({
      cron: "0 9 * * 1-5",        // weekdays, 9am
      dispatch: { payload: { dryRun: true } },
    });
    terminal
    $ opencomputer deploy
    ✓ live · runs weekdays, opens PRs, never sees the token

    Or drop a layer.

    Agents run on OpenComputer sandboxes: full Linux microVMs with checkpoint, fork, and live resize. Bringing your own harness or runtime? Use the sandbox directly. Same compute, you own the loop.

    Agents managed
    egress · sessions · streaming · schedules
    Sandboxes
    microVM · checkpoint · fork · resize
    sandbox.ts
    const box = await Sandbox.create();   // a full Linux microVM
    await box.exec("your-harness --run"); // your loop, your rules
    await box.checkpoint("ready");         // fork or restore anytime

    Pricing

    Pay for what runs.

    Start with $10 in credits. After that, stay on pay-as-you-go or pick a plan for included tokens and compute. Overage is billed as PAYG.

    PAYG
    Usage

    Pay as you go

    • No monthly commitment
    • Tokens and compute at usage rates
    • Scale to zero when idle
    Start
    10×Popular
    $20/mo

    Tokens and compute included

    • Monthly tokens included
    • Compute included
    • Bring your own key, Codex, or Claude subscription
    • Overage billed as PAYG
    Get 10×
    20×
    $200/mo

    For heavier workloads

    • A larger monthly allowance
    • Compute included
    • Overage billed as PAYG
    Get 20×
    Enterprise
    Custom

    On your terms

    • Your own cloud or VPC, self-hosted connections
    • Volume pricing and higher limits
    • SSO, audit log, priority support
    Talk to us

    Compute is included on the 10× and 20× plans. On PAYG, and for bare sandboxes, it's billed at cost. Bring your own key, or a Codex / Claude subscription, on the 10× plan.

    I just want compute →