Documentation v0.30.0

TUI Guide

Single bubbletea textarea (internal/runtime/tui); slash commands open transient popups that close cleanly back to the prompt.

Shortcuts

Key Action
Enter Send the current input. While a run is in flight it queues the text as a steer message instead, delivered to the running loop
Alt+Enter Insert a newline
/ Begin slash-command filter (popup picker — Up / Down to navigate, Tab / Enter to autocomplete into the textarea, Esc to dismiss)
Up / Down Walk input history when the cursor is on the first / last line (per-session input_history file)
Esc Dismiss the active popup, or — while running — open the cancel-confirmation popup
Ctrl+C Exit TUI (daemon keeps running)

Single-key toggles fire only when the input is empty and no run is active:

Key Action
Shift+Tab Toggle auto mode ([safe][auto])
Shift+F Toggle fast mode — the header shows [fast] while enabled
Shift+T Toggle command mode (input runs as a shell command in the current workDir)
Shift+U Live provider usage / balance
Shift+M List configured models
Shift+W / Shift+S Cycle the dispatcher model backward / forward
Shift+A / Shift+D Cycle the reasoning level down / up

Popups use Ctrl+S to confirm, Enter for a newline, and Esc to cancel.

The TUI auto-tails the active session's action.log (foreign-process writes prefixed with in warn-purple). Single-session view only.

Modes

The current mode renders at the bottom-left of the TUI:

Auto mode is session-local and resets when the TUI restarts; it can also be set at launch via agen --allow-all. Fast mode is process-local and is not persisted to config.json.

Slash commands

Command Description
/model Add / remove a provider · pick the session, dispatcher, or summary model
/mcp Add / remove / reconnect an MCP server · global or session scope
/switch Switch the current session via a picker
/new Create a session (name conflict-checked)
/dangerous remove-session · allow-skill (mark a skill always-allow) · allow-cmd (append a binary to the command allowlist)
/memory compact · reset · summary — manage session memory
/bot Edit / rename the current session — name and description (persona)
/discord Enable / disable the Discord bot (gateway validated on enable)
/telegram Enable / disable the Telegram bot (getMe validated on enable)
/voice Enable / disable voice-message handling (Gemini TTS)
/kuradb Enable / disable / update / start / stop KuraDB RAG
/admin-channel Set / clear the relay for new-chat verification codes — pick an authorized chat or tg@<id> / dc@<id>
/cron Add / remove / edit a recurring scheduled task
/task Add / remove / edit a one-shot scheduled task
/sched-<name> Manually dispatch an existing scheduler skill body. Filtered by session — only skills bound to the current session's task / cron entries appear
/update Fetch the latest release, rebuild, and quit the TUI (re-attach with agen)
/resume Reload the visible transcript — last 100 entries from action.log
/log Open the raw action.log in $PAGER (fallback less)
/usage Per-model token usage — 24 h / 7 d / 28 d
/pending List / resume interrupted tasks — error recovery and ask_user resume
/sudo Enable / disable elevated mode — bypasses the command allowlist, auto-expires after 1 h
/key Update / rotate a keychain value, picked from the recorded key list
/clear Clear the visible transcript — memory untouched
/exit Exit the TUI (daemon keeps running)

Loaded skills appear in the same picker below the built-in commands, labeled with their source; scheduler skills (/sched-<name>) follow them.

中文