← Otto Developer Guideotto-canvas

User guide: Side Canvas, Ask and Agents
Specs: Side Canvas

components/otto-canvas/ is the Agents panel in Otto’s side canvas: a prompt field over the list of otto-agents sessions, in one frosted item of the column that slides in from the right edge. It is an app in architecture.toml, and runs as its own process, an otto-kit app started by the compositor from [[exec_once]] in the shipped config. The compositor owns the column; otto-canvas is a client that places one item in it through the otto-canvas-v1 protocol. It does no agent work itself: it hands each request and each opened session to otto-launcher.

otto-canvas: an otto-kit app placing the Agents panel in the compositor’s side canvas, listing sessions while shown and handing work to the launcher

The column, its protocol, height sharing and this panel’s drawing are described in depth on Side canvas; this page is the structural overview.

How it runs

src/main.rs is the whole app, a Sessions value run by otto-kit’s AppRunner.

The keys (arrows, Tab, Ctrl+N/P and the page keys to walk the rows, the field editing keys) and the row painting come from otto-agents-kit, so the panel behaves like the launcher’s agents mode.

Dependencies

Going deeper