Skip to content

Agent UI

Agent UI lets an agent display diagrams, dashboards, and interactive panels in its Coral workspace. It is useful when a visual explanation or a small interface is easier to use than a long chat reply. For downloadable reports and files, use Files and artifacts.

Request a panel

  1. Select the live agent you want to handle the request.
  2. Open Agent UI. Describe the panel you want in the request box.
  3. Choose Send request, or press Ctrl+Enter / Command+Enter.

For example:

Show a diagram of the main services in this project, with a short explanation of each dependency.

Coral sends your description together with panel-generation instructions to the selected agent. The request appears in chat as a Coral notice. The form is also available when the agent already has published panels.

Drafts are kept separately for each agent in the current browser tab and survive the panel's refreshes and page reloads. Opening Agent UI or switching agents does not send a draft. Requests are limited to 8,000 bytes, so keep the description focused.

Request sent means Coral delivered the request to the agent's terminal. It does not mean the panel has been built or that the agent has started handling it. Published panels appear in the selected agent's Agent UI home list.

If the form offers Retry request, you can retry the same request. If it says Delivery uncertain, check the agent's chat or terminal before sending again: the original input may already have reached the agent. A warning that delivery could not be recorded can accompany a successful send; do not resend that successful request just to clear the warning.

Open and interact with panels

Select a published panel from the home list. You can expand it or open it in a new tab. Expanding currently reloads the panel, so save important responses before doing so.

Close panel returns to the list without deleting the panel. Select it again to reopen it. Delete panel asks for confirmation and removes the panel and its saved responses. Switching agents returns you to that agent's home list.

A panel may include choices or a form that sends structured responses to its owning agent. Coral reports whether a response was saved and whether the agent was notified. A notification failure does not discard a saved response; the agent can read it later. Sleeping agents are not automatically awakened by panel responses.

What panels can do

Panels are self-contained content shown in a restricted frame. They do not have unrestricted access to Coral or the network. Ask for inline styles, scripts, and embedded images rather than a panel that depends on remote libraries or external API calls.

Publishing supports self-contained HTML, inline SVG, PNG, JPEG, GIF, and WebP. A panel is limited to 2 MiB after image embedding. A panel interaction does not itself complete a task or grant the agent permission for other work.

For agents creating panels directly, the basic publication command is:

coral-agent ui publish --id architecture --title "Architecture" --file diagram.html

Publishing again with the same ID creates a new revision. Agents can inspect published panels and saved responses:

coral-agent ui list
coral-agent ui events --id architecture --after 0

These commands belong in the originating agent's Coral session so the panel appears in the intended workspace. The normal request form supplies the agent with publication instructions; users do not need to run these commands to request a panel.

Panels on the Coral Hub

On a hub, a panel is agent-authored content: treat it like a page from an agent, not like part of Coral. The hub reads it as text and runs it in a sandboxed frame with no network, no storage and no way to reach Coral or your hub session. It can only send the one kind of response message described above, at most about two a second and 100 a minute per panel. Expanding a panel works the same as on the machine. Panels cannot be deleted or opened in their own tab from the hub; the agent that published a panel manages it.

Known limits of the sandbox, which the browser does not let a page block: a panel can cause a DNS lookup (dns-prefetch) and, through WebRTC, send UDP packets to an address of its choosing. Neither can carry your hub session or other Coral data, but a hostile panel could use them to signal out what it was told. The panel stays labelled as agent-authored for that reason; open panels only from agents you trust.

For CLI setup and connection problems, see Getting started and Troubleshooting. See Privacy for how Coral handles data.