> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cerulion.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cerulion Studio

> The desktop app you watch your robot in: live topics on a stage, the running graph, recordings, Hindsight, and an agent dock. Not open source — contact Cerulion for access.

<Badge icon="lock" color="orange" shape="pill">Early access · Not open source</Badge>

<Info>
  Cerulion Studio is not open source and has no public download. [Book 15 minutes with us](https://calendly.com/lakshay-cerulion/demo?utm_source=docs\&utm_medium=book) to get access. The [Cerulion CLI and runtime](https://github.com/cerulion-inc/cerulion) stay open source — recording, replay, and `--verify` all work without Studio.
</Info>

<Frame>
  <img src="https://mintcdn.com/cerulion-5327fd47/_4rLpGxBaFwuQJ1X/images/studio-hero.webp?fit=max&auto=format&n=_4rLpGxBaFwuQJ1X&q=85&s=643c66afe06cc46211975cb5c81d0068" alt="Conceptual depth camera streaming frames and a detection into a live node graph in a dark robotics lab." width="1672" height="941" data-path="images/studio-hero.webp" />
</Frame>

Cerulion Studio is the desktop app you watch your robot in. It connects to the graphs you run with the open-source `cerulion` CLI, so there is nothing to add to your graph for it: no visualization node, no config file, no script. Check a topic and it renders.

## What you can do in Studio

<CardGroup cols={2}>
  <Card title="Watch live topics" icon="chart-line" color="#0080FF">
    Check a topic in the sidebar and its frames render on the stage.
  </Card>

  <Card title="See the running graph" icon="diagram-project" color="#0080FF">
    The Graph view shows the nodes `cerulion graph run` is running, with each node's rate and liveness.
  </Card>

  <Card title="Watch a remote robot" icon="network-wired" color="#0080FF">
    Robots on your network appear under **Robots**. The robot ships raw bytes; decoding happens on your desk.
  </Card>

  <Card title="Investigate a recording" icon="magnifying-glass-chart" href="/cerulion/hindsight" color="#0080FF">
    The Hindsight screen indexes an MCAP bag and names the moment the run went sideways.
  </Card>
</CardGroup>

## The stage

The stage is where live topics render. Camera frames, detections, and plots from the topics you check share one scene, and they update as the graph publishes.

<Frame caption="The stage: a live camera topic with detector boxes on the cars, and two plots of the detector's output.">
  <img src="https://mintcdn.com/cerulion-5327fd47/_4rLpGxBaFwuQJ1X/images/app-studio-stage.webp?fit=max&auto=format&n=_4rLpGxBaFwuQJ1X&q=85&s=817fd272fda7b1748e077d148f4ffcba" alt="Cerulion Studio stage: five checked topics in the sidebar, a highway camera feed with detector boxes on the cars, and two plots below." width="1600" height="1003" loading="lazy" decoding="async" data-path="images/app-studio-stage.webp" />
</Frame>

You see a fault on the stage while the graph runs. When a detector goes wrong, its boxes stop landing on the objects in the frame.

<Frame caption="The same stage after a detector fault: the boxes no longer sit on the cars.">
  <img src="https://mintcdn.com/cerulion-5327fd47/_4rLpGxBaFwuQJ1X/images/app-studio-drift.webp?fit=max&auto=format&n=_4rLpGxBaFwuQJ1X&q=85&s=473664309611a1ebfae688ea1d304fe6" alt="Cerulion Studio stage showing detector bounding boxes offset from the cars in the camera frame." width="1600" height="1003" loading="lazy" decoding="async" data-path="images/app-studio-drift.webp" />
</Frame>

To attach topics, watch a remote robot, or play a recording onto the stage, see [Visualize a running graph](/cerulion/guides/visualize-in-studio).

## The Graph view

The Graph view (<kbd>⌘</kbd> <kbd>G</kbd>) shows the graph that `cerulion graph run` is running on this machine or on a robot, read from that run's effective graph file. Each node shows its rate and whether it is alive. The view is read-only: you change a graph in its YAML and re-run it.

<Frame caption="The Graph view: the camera, IMU, detector, tracker, and overlay nodes of a running graph, each streaming at its rate.">
  <img src="https://mintcdn.com/cerulion-5327fd47/_4rLpGxBaFwuQJ1X/images/app-studio-graph.webp?fit=max&auto=format&n=_4rLpGxBaFwuQJ1X&q=85&s=ce8e532f70e8b1d41d8473b02ee9a721" alt="Cerulion Studio Graph view: camera and IMU nodes, a detector node, and tracker and overlay nodes, each marked streaming with its rate in Hz." width="1672" height="635" loading="lazy" decoding="async" data-path="images/app-studio-graph.webp" />
</Frame>

## Hindsight and the agent dock

The Hindsight screen (<kbd>⌘</kbd> <kbd>D</kbd>) opens an `.mcap` recording, indexes it on your machine, and names the moment it went sideways, with the messages behind each moment. See [Hindsight](/cerulion/hindsight).

The agent dock (the sparkle icon, top right) is an AI agent you ask questions in, such as "why did the detector drift here?". On the Hindsight screen it answers with Hindsight's tools. Studio checks that each claim cites a real message from the recording, and it refuses an answer it cannot ground.

<Note>
  The agent dock uses your own Anthropic API key, which you add from the key icon in the dock, and it needs a network connection. The rest of Studio does not use it.
</Note>

## Gotchas

* **Studio needs the `cerulion` CLI on your `PATH`.** It drives the same CLI you use in a terminal. [Install the CLI](/cerulion/installation) first, or set its path in the sidebar's settings.
* **Studio needs a Cerulion account.** You sign in when the app opens. A stored session keeps working offline for up to 30 days.
* **Studio is a macOS app.**
* **Studio shows a recording that `cerulion bag play` plays.** Use plain `bag play`, not `--resim`, to pace the stage. Only Cerulion recordings play this way; a ROS 2 or Foxglove sample MCAP does not.
* **The Hindsight screen needs the `hindsight` binary.** It is not inside the Studio app. Studio looks for it on your `PATH` and in the usual install folders, such as `~/.cargo/bin` and `/opt/homebrew/bin`.

## Get access

Studio is available to teams by request. Tell us about your robot and we'll set you up.

<CardGroup cols={1}>
  <Card title="Request access to Studio" icon="calendar" href="https://calendly.com/lakshay-cerulion/demo?utm_source=docs&utm_medium=book" color="#0080FF">
    Book 15 minutes. Bring your robot, your graph, or a recording you want to investigate.
  </Card>
</CardGroup>
