TUI & Dashboard
Layout
The terminal UI has three main regions:
- Conversation view (center) — user prompts, assistant responses, tool cards, system notifications, lifecycle events
- Editor (bottom) — wrapped multiline input with history and slash-command palette
- Status footer (bottom bar) — ambient runtime telemetry. Expands into a unified console when deeper instrumentation is active.
Presentation levels
Omegon 0.28 separates presentation density from runtime authority. Changing the presentation level changes what the interface projects; it does not change the selected model, tool permissions, runtime posture, or what evidence is retained.
| Level | Purpose | Visible detail |
|---|---|---|
| Om | Quiet, outcome-first default | One primary live activity, durable operation outcomes, essential status, and Workbench only when attention is required |
| Active | Bounded execution awareness | Current workflow tree, progress, selected child states, and the active Workbench slice |
| Full | Persistent operational evidence | Complete tool and lifecycle evidence, richer telemetry, and all operational surfaces |
/ui om # Quiet outcome-first projection
/ui active # Bounded live workflow detail
/ui full # Complete operational evidencePress Ctrl+G to cycle through the three levels. The selected level is persisted in profile settings. Legacy lean and slim presentation values migrate to Om.
Activity, outcomes, and evidence
Running tools and subordinate workflows appear as transient activity. When an operation terminates, Om and Active replace that activity with one durable success, failure, or cancellation outcome. Full preserves the underlying command arguments, results, and lifecycle milestones. Default transcript and session exports are presentation-independent, so switching the screen to Om never discards archival evidence; evidence-inclusive export uses the canonical Full projection.
Segments
The conversation is rendered as a sequence of typed segments, each with metadata:
| Segment Type | Rendering |
|---|---|
| UserPrompt | Your input, right-aligned with > gutter |
| AssistantText | Response with teal │ gutter, meta header, and markdown highlighting |
| ToolCard | Collapsible card: tool name, args summary, and result preview |
| SystemNotification | System messages such as compaction and errors |
| LifecycleEvent | Single-line status changes and turn transitions |
| TurnSeparator | Thin horizontal rule between turns |
Segment metadata
Assistant responses carry a dim metadata header stamped at creation time, for example:
provider:model · provider · grade B · think:mediumFields include model ID, provider, model grade intent, thinking level, and other runtime details.
Tool cards
Each tool call renders as a compact card with the tool name, one-line args summary, and a collapsible result preview.
- Collapsed — tool name, args summary, and a short result preview
- Expanded — larger result body with formatting where appropriate
- Error cards — explicit error styling instead of pretending failure is normal output
Expansion
| Key | Behavior |
|---|---|
Ctrl+O | Pin or unpin the nearest tool card |
Tab | Toggle expand on the nearest tool card when the editor is empty |
Esc | Unpin any pinned segment or close the active popup |
Status footer
The footer is an operator instrument panel, not decorative chrome. It is meant to answer “what engine am I actually on, what state is it in, and how much runway do I have?”
- Context — context class, fill percentage, and token-aware usage display
- Engine — provider identity, selected model, grade, state, session totals, and optional limit telemetry
- Memory — durable fact counts and working-memory activity
- System — runtime health, versions, and related state
In the engine panel specifically:
- provider = concrete runtime backend identity, such as
OpenAI/Codex,Anthropic/Claude, orOllama Cloud - model = selected runtime model
- grade / state / session = runtime posture and current session runway
- limit = upstream quota or bucket telemetry, when the provider exposes it
That separation is intentional. The default split-footer engine panel is operator-first: provider, model, runtime posture, and session stay visible, while bucket/version/path noise is demoted. A Codex bucket name in the limit row is provider telemetry, not a second model selector.
Sidebar navigation
Press Ctrl+D to enter sidebar navigation mode and steer the design tree directly.
| Key | Action |
|---|---|
Ctrl+D | Toggle sidebar mode |
Up / k | Navigate up |
Down / j | Navigate down |
Left / h | Collapse node |
Right / l | Expand node |
Enter | Focus the selected node |
Esc | Exit sidebar mode |
Mouse
In om / slim mode, mouse capture is off by default so terminal-native selection and paste work immediately. In full omegon mode, mouse capture is on by default. Toggle pane mouse handling with /mouse on or /mouse off, and use/warp, /shackle, and /unshackle to move between slim and full runtime posture. Press Ctrl+Y to copy the selected conversation segment as plain text.
Image attachments
Attached images are represented by compact rows associated with the originating user prompt. Double-click a collapsed image row to expand all image attachments for that prompt; double-click an expanded image to collapse the prompt's images again. Mouse capture must be enabled for this interaction. Prompt navigation treats the image rows as part of their parent prompt rather than as independent turns.
Editor
The input area is a real wrapped multiline editor with visible cursor placement, prompt history, proportional height growth, and semantic edit actions shared by TUI, ACP, and future frontend surfaces. Character, word, replacement, clear, attachment, typed text, and paste operations move through the sharedUiAction seam instead of binding behavior to frontend key events.
- Enter sends the prompt
- Shift+Enter inserts a newline
- Arrow keys navigate text and history
- Meta / Alt word bindings move and edit by word where the terminal reports those keys reliably
- Paste inserts through the same text path as typed characters, including large-paste collapse behavior
- History recall preserves the draft you were editing and clears recall state once you modify recalled input
- Mouse wheel scrolls the pane it is hovering over (conversation or dashboard), not prompt history recall
Browser surface
/auspex openLaunches Omegon's primary browser surface. If the local compatibility bridge is not running yet, Omegon starts it first and then hands the browser launch off to Auspex.
/dash remains available as the local compatibility/debug command for the in-process browser surface. It is useful for demos, wider live inspection, and compatibility testing, but it is not the primary operator-facing launch path.