| version | alpha | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | elizaOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| description | Agent-first product UI for elizaOS apps, dynamic views, voice setup, trace surfaces, and runtime gates. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| colors |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| typography |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| rounded |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| spacing |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| components |
|
elizaOS UI is agent-first operational software. The product should feel like a capable local agent is already present, not like a dashboard the user has to learn before anything works.
The main design job is to remove decisions, not decorate them. First-run should get the user to a talking/running agent quickly, then let the agent reveal setup choices through contextual generative UI.
Use dark surfaces, high-contrast text, and one clear action accent. The default app accent is orange. The first-run runtime gate may use yellow/gold for the immersive launch moment, but it should not leak into every settings or operational surface.
Success, warning, and danger colors are only for status. Do not use them as decorative palette drivers.
Use Poppins for headings and labels. Use Open Sans for readable body copy. Use mono labels only for runtime/terminal/diagnostic affordances where the technical tone is intentional.
Do not scale type with viewport width. Keep letter spacing at 0 by default; only use wide tracking for short uppercase runtime labels.
Mobile first-run screens must respect safe areas and keep the primary action reachable without scrolling. Avoid vertically centering compact cards low on tall phone screens. Place onboarding/runtime cards in the upper-middle of the viewport unless the content genuinely needs centered composition.
Product surfaces should be dense, calm, and useful. Avoid landing-page hero layouts inside the app. Avoid nested cards. Use full-width bands or direct layouts for page structure, and reserve cards for repeated items, modals, and framed tools.
Use borders and subtle shadows instead of heavy glass effects. Runtime gate zine panels may use hard-edged shadows, clipped corners, and high contrast. Main app surfaces should stay quieter.
Use 4px to 8px radius for most interface elements. Icon buttons and tool controls may be square or circular when that matches the control metaphor. Do not use pill styling by default.
Primary buttons are for the next concrete action. Secondary buttons are for alternate paths. Advanced paths belong behind disclosure when they are not needed for the common case.
Generated UI, dynamic views, trace views, terminal output, file trees, Git diffs, and voice timelines should render through reusable packages/ui components. They should not execute capabilities directly.
Do boot into the smallest useful experience.
Do use the agent to explain and perform setup when possible.
Do keep voice and runtime setup short, direct, and recoverable.
Do keep bottom actions inside the safe area and visibly tappable on phone screens.
Do not show old wizard screens, provisioning dashboards, or static setup detours when a direct runtime action can proceed.
Do not ask the user to understand deployment mechanics before the agent works.
Do not hide failed capability or backend states behind onboarding copy.
Do not let visual components call filesystem, terminal, Git, model, sandbox, or Remote APIs directly.