---
title: "A computer your agent can keep."
sidebarTitle: "Introduction"
description: "Run commands, work with files, and pick up where you left off."
---

<div className="assemble-intro">
  Assemble VMs gives your agent a persistent Linux environment through a simple API. Bring your own
  harness or use ours. Your files stay with the session until you delete it.
</div>

<div className="assemble-preview">
  <span className="assemble-preview-label">Development preview</span>
  <span>
    Connect to the hosted API with an operator-issued key and local SDK packages. Customer signup
    and npm publication are pending. Start with the quickstart for the API URL and setup steps.
  </span>
</div>

## Start with your coding agent

Give your agent the [Assemble VMs skill](/agent-setup). It will add the SDK to your project, run a command, and verify that your files survive a pause and reopen.

<Columns cols={2}>
  <Card
    title="Codex · OpenAI"
    icon="openai"
    iconType="brands"
    href="/set-up-with-your-agent#codex"
    cta="Set up with Codex"
    className="assemble-agent-card"
  >
    Connect your project with one copyable prompt.
  </Card>
  <Card
    title="Claude Code"
    icon="claude"
    iconType="brands"
    href="/set-up-with-your-agent#claude-code"
    cta="Set up with Claude"
    className="assemble-agent-card"
  >
    Let Claude build and verify the same integration.
  </Card>
</Columns>

Writing the integration yourself? Follow [Your first session](/quickstart).

## A desktop your agent can drive — and you can watch

Every session is a full computer. Drive its desktop with the computer API, then stream the screen and a live terminal straight into your own product.

![A live session: the streamed desktop with the agent cursor clicking a form, beside a live terminal](/images/live-view.svg)

<Columns cols={2}>
  <Card
    title="Computer actions"
    icon="arrow-pointer"
    href="/concepts/computer-use#computer-actions"
    cta="Drive the desktop"
  >
    Click, type, press keys, scroll, and capture screenshots as session primitives your harness
    exposes as tools.
  </Card>
  <Card
    title="Live streams"
    icon="satellite-dish"
    href="/concepts/computer-use#live-streams"
    cta="Stream desktop and terminal"
  >
    Mint single-use WebSocket tickets for a VNC-compatible desktop view and an xterm-ready
    interactive terminal.
  </Card>
</Columns>

## Bring the harness that works for you

Your harness decides how the agent thinks and acts. Assemble provides the computer it works on.

<Columns cols={3}>
  <Card
    title="Connect remotely"
    icon="plug"
    href="/integrations/remote-harness"
    cta="Use remote tools"
  >
    Connect your agent's file and shell tools to the SDK.
  </Card>
  <Card
    title="Run in the VM"
    icon="terminal"
    href="/integrations/in-vm-harness"
    cta="Connect over SSH"
  >
    Install your CLI agent in a familiar Linux environment.
  </Card>
  <Card
    title="Use our harness"
    icon="wand-magic-sparkles"
    href="/integrations/provided-harness"
    cta="Try the Pi harness"
  >
    Send a task to our Pi harness and stream its progress.
  </Card>
</Columns>

All three work with the same saved session. [Compare the integrations](/choose-your-integration).

## Build on a session

<Columns cols={2}>
  <Card title="TypeScript SDK" icon="code" href="/reference/typescript" horizontal>
    Sessions, files, commands, and agent events.
  </Card>
  <Card title="HTTP API" icon="brackets-curly" href="/api-reference/overview" horizontal>
    Requests, authentication, and streaming.
  </Card>
  <Card title="Command line" icon="terminal" href="/reference/cli" horizontal>
    Work with your sessions from the terminal.
  </Card>
  <Card title="Computer use" icon="arrow-pointer" href="/concepts/computer-use" horizontal>
    Desktop actions, screenshots, and live streams.
  </Card>
  <Card title="Persistence" icon="hard-drive" href="/concepts/persistence" horizontal>
    Understand what survives, what flushes, and when.
  </Card>
</Columns>

A session gives your agent an Assemble VM with persistent files at `/workspace`. The API and shell processes share that working directory. Learn how [sessions](/concepts/sessions) and their [lifecycle](/concepts/lifecycle) work.
