TUI & Dashboard
Layout
The terminal UI has four main regions:
- Conversation view (center) — segments: user prompts, assistant responses, tool cards, system notifications, lifecycle events
- Instrument panel (right) — CIC telemetry: context bar, memory gauge, tool history, active model
- Editor (bottom) — multi-line input with history, slash command palette
- Footer (bottom bar) — engine block (provider/model/route), inference panel (context composition with bucket legend), live tools strip with per-tool runtimes, and session token totals (cumulative input/output tokens)
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 tag header, markdown highlighting |
| ToolCard | Collapsible card: tool name + glyph, args summary, result preview |
| SystemNotification | System messages (compaction, errors) |
| LifecycleEvent | Single-line status: turn separators, state changes |
| TurnSeparator | Thin horizontal rule between turns |
SegmentMeta
Every segment carries metadata stamped at creation time — visible as a dim header line on assistant responses:
claude-sonnet-4-6 · anthropic · victory · think:medium Fields: model ID, provider, capability tier, thinking level, active persona, turn number, estimated tokens, context fill percentage.
Tool Cards
Each tool call renders as a compact card with the tool name (glyph + label), a one-line args summary, and a collapsible result preview. 53 tools are mapped to distinctive glyphs.
- Collapsed — shows tool name, args summary, first 12 lines of result
- Expanded — shows full result (up to 200 lines) with syntax highlighting
- Error cards — red separator, formatted error message
- JSON results are automatically pretty-printed with
serde_json
Expansion
| Key | Behavior |
|---|---|
Ctrl+O | Pin/unpin: expands the nearest tool card and locks it visible. Press again to unpin and collapse. |
Tab | Toggle expand on nearest tool card (when editor is empty). Backward compatibility. |
Esc | Unpin any pinned segment. |
Instrument Panel
The right-side instrument panel (CIC — Command Information Center) shows real-time telemetry:
- Context bar — braille-character density bar showing context fill in real provider token counts (not a character-count estimate). Bucket legend identifies composition zones (cached / input / output / reasoning). Per-turn token stats row below shows last-turn input/output tokens.
- Memory gauge — active facts, working memory pins, injected count
- Tool history — recent tool calls with glyph labels and timing
- Thinking/context telemetry — the panel emphasizes real context and memory state over ornamental effects
Toggle focus mode with /focus to expand the instrument panel.
Sidebar Navigation
Press Ctrl+D to enter sidebar navigation mode. The dashboard border turns
accent-colored and keyboard input routes to the design tree:
| Key | Action |
|---|---|
Ctrl+D | Toggle sidebar navigation mode |
Up / k | Navigate up in the tree |
Down / j | Navigate down in the tree |
Left / h | Collapse node |
Right / l | Expand node |
Enter | Focus the selected node (inject its context into the agent) |
Home / End | Jump to first / last node |
Esc | Exit sidebar mode |
Nodes show status icons, open question counts, priority badges, and OpenSpec bindings. The tree is sorted by actionability: implementing nodes first, then blocked, decided, exploring, and seed.
Visual Style
The TUI uses the Alpharius theme — a teal-dominant dark palette:
- All borders use rounded corners (╭╮╰╯) — no square corners anywhere
- Teal accent ramp for intensity-dependent elements
- IBM Plex Mono (or system monospace) for code
- Tomorrow (Google Fonts) for UI chrome
Mouse
Mouse capture is on by default. Scroll events pan the conversation; click-drag does not
select text in this mode. To select and copy text with your terminal's native selection, press
Ctrl+M to toggle mouse scroll off. Press again to re-enable. Esc no longer
silently disables mouse mode.
Press Ctrl+Y to copy the currently selected conversation segment as plain text
to the system clipboard.
Editor
The operator input area is a wrapped multiline editor rather than an infinitely wrapping single line. It supports cursor navigation, visible cursor placement, prompt history, and proportional height growth as your prompt wraps.
- Enter sends the prompt
- Shift+Enter inserts a newline
- Arrow keys navigate within wrapped input and prompt history
- Visible cursor shows the real insertion point instead of guessing by wrap position
Web Dashboard
/dash Opens a live web dashboard in your browser that connects over WebSocket. Shows real-time conversation, tool calls, memory state, design tree status, and session telemetry. Useful for remote monitoring, screen sharing, or when you want a wider viewport.