Prodular UI

Agent orb

AIPro

The presence of a voice agent: AI color turning inside a sphere, faster while it listens, thinks and talks, and swelling with the loudness of the voice.

npx prodular-ui add agent-orb

Part of Prodular UI Pro. Preview and read the docs freely, install with a license. See pricing

Voice agent

Switch the state. The orb turns faster as the agent gets busier and follows the loudness while it listens or talks. The loudness is simulated here.

Listening

Sizes

sm 24px for a status pill, default 40px, lg 64px and xl 96px for a voice screen.

sm
default
lg
xl
Relay is talking

Anatomy

<AgentOrb state={state} level={level} size="xl" />

Guidance

Use it when

  • Use it as the face of a voice agent: on a call screen, a voice mode, or a pill that says the agent is talking.
  • Show one orb per agent, in the place people look while they talk to it.
  • Pair it with words: a caption of what it heard or is saying, and a way to stop it.

Avoid

  • Text chat. A streaming Response and the AI mark already show that a model is writing.
  • Using it as a spinner for work that is not a voice conversation.
  • Several orbs on one screen. It stops meaning that someone is listening.

Rules for AI agents

Published in llms-full.txt, the registry and the MCP server, so coding agents follow them when they build with this component.

  • Pass state on every change: listening while the microphone is open, thinking between the end of speech and the first audio out, talking while audio plays, idle otherwise.
  • Drive level from real audio: RMS of the microphone while listening, of the speech output while talking, from 0 to 1, about 15 times a second. Leave it at 0 in idle and thinking.
  • The orb announces its state through its label. Also show a text caption, and keep a visible stop or mute control next to it.
  • Use size sm inside pills and headers, xl on a full voice screen. Do not change its colors; it uses the AI tokens.

API

AgentOrb

PropTypeDefaultDescription
state"idle" | "listening" | "thinking" | "talking""idle"Sets the speed and the spoken label. Exposed as data-state.
levelnumber0Loudness from 0 to 1. Grows the orb by up to 8%.
size"sm" | "default" | "lg" | "xl""default"24, 40, 64 or 96px.
labelstringAccessible label. Defaults to the state, for example "Assistant is listening".

Installation

The Prodular UI CLI adds the source to components/ui with everything it depends on. In a project that already uses shadcn/ui, the shadcn CLI installs it from the Prodular registry too. See Installation for the first setup.

npx prodular-ui add agent-orb# or, with the registry in components.jsonnpx shadcn@latest add @prodular/agent-orb