Skip to content

Epic: TUI Command Palette for agent management #572

@bug-ops

Description

@bug-ops

Overview

The TUI is currently read-only — side panels display metrics but offer zero interactivity. Users cannot manage skills, MCP servers, memory, or view config without restarting or editing files manually.

This epic introduces a command palette (: key, vim-like) — a fuzzy-searchable overlay for executing agent management commands directly from the TUI.

Architecture

  • TuiCommand enum + dedicated mpsc channel from TUI → Agent loop
  • AgentEvent::CommandResult variant for responses back to TUI
  • Command palette overlay widget with fuzzy filtering and category prefixes (skill:, mcp:, memory:, view:, config:)
  • Commands registered declaratively for easy extension

Phases

Phase 1: Infrastructure + Read Commands

  • Command channel (TUI → Agent → TUI)
  • Command palette widget (overlay, fuzzy search, navigation)
  • Read-only commands: skill:list, mcp:list, memory:stats, view:cost, view:tools, view:config, view:autonomy

Phase 2: Mutating Commands

  • skill:reload, skill:trust <name> <level>
  • mcp:connect <id>, mcp:disconnect <id>
  • memory:search <query>, memory:embed-missing

Phase 3: Runtime Config

  • Arc<RwLock<>> for mutable config fields
  • config:summarize-output, config:autonomy, config:model
  • Toast/notification widget for feedback

Design doc

.local/plan/tui-command-menu.md

Key findings from research

Subsystem Runtime API exists Priority
MCP servers Full (add/remove/list) High
Skills (reload, trust) Partial (reload yes, trust via SQLite) High
Memory (search, stats) Yes (recall, counts) Medium
Tools (list, permissions) Read-only Medium
Cost tracking In MetricsSnapshot but not rendered Low
Provider switching No runtime API Deferred

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicMilestone-level tracking issuetuiTUI dashboard

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions