mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-29 06:31:32 +00:00
feat: add TUI session orchestrator
Add a first-class active-session orchestrator for the Ink TUI: - list, activate, close, and launch live process-local TUI sessions - hydrate committed and in-flight output when switching sessions - dispatch a new prompt session from the +new row with session-scoped model picks - expose a clickable live-session count in the status chrome - preserve stable row order while initially focusing the current session - support mouse hit-testing for floating orchestrator overlays - add backend and frontend regression coverage for the lifecycle and UI helpers
This commit is contained in:
parent
2fc77c53f0
commit
0a83247e9f
29 changed files with 2048 additions and 105 deletions
|
|
@ -89,7 +89,7 @@ Keybindings match the [Classic CLI](cli.md#keybindings) exactly. The only behavi
|
|||
- **`Cmd+V` / `Ctrl+V`** first tries normal text paste, then falls back to OSC52/native clipboard reads, and finally image attach when the clipboard or pasted payload resolves to an image.
|
||||
- **`/terminal-setup`** installs local VS Code / Cursor / Windsurf terminal bindings for better `Cmd+Enter` and undo/redo parity on macOS.
|
||||
- **Slash autocompletion** opens as a floating panel with descriptions, not an inline dropdown.
|
||||
- **`Ctrl+X`** — when a queued message is highlighted (sent while the agent was still running), delete it from the queue. **`Esc`** cancels editing and unhighlights without deleting.
|
||||
- **`Ctrl+X`** opens the live session switcher. When a queued message is highlighted (sent while the agent was still running), it still deletes that queued message instead. **`Esc`** cancels editing and unhighlights without deleting.
|
||||
- **`Ctrl+G` / `Ctrl+X Ctrl+E`** — open the current input buffer in `$EDITOR` for multi-line / long-prompt composition; save-and-exit sends the contents back as the prompt.
|
||||
|
||||
## Slash commands
|
||||
|
|
@ -99,7 +99,7 @@ All slash commands work unchanged. A few are TUI-owned — they produce richer o
|
|||
| Command | TUI behavior |
|
||||
|---------|--------------|
|
||||
| `/help` | Overlay with categorized commands, arrow-key navigable |
|
||||
| `/sessions` | Modal session picker — preview, title, token totals, resume inline |
|
||||
| `/sessions` (alias `/switch`) | Live session switcher — list open TUI sessions, switch between them, close them, or start another one |
|
||||
| `/model` | Modal model picker grouped by provider, with cost hints |
|
||||
| `/skin` | Live preview — theme change applies as you browse |
|
||||
| `/details` | Toggle verbose tool-call details (global or per-section) |
|
||||
|
|
@ -110,6 +110,31 @@ All slash commands work unchanged. A few are TUI-owned — they produce richer o
|
|||
|
||||
Every other slash command (including installed skills, quick commands, and personality toggles) works identically to the classic CLI. See [Slash Commands Reference](../reference/slash-commands.md).
|
||||
|
||||
## Live session switcher
|
||||
|
||||
Use the live session switcher when you want one terminal to act as a dispatcher for several TUI sessions. It lists only sessions that are currently live in this TUI process; closed sessions remain saved transcripts and can still be reopened with `/resume` or `hermes --tui --resume <id-or-title>`.
|
||||
|
||||
Open it with any of these:
|
||||
|
||||
- `Ctrl+X` from the TUI.
|
||||
- `/sessions` or `/switch`.
|
||||
- `/sessions new` to create a fresh live session immediately.
|
||||
- Click the `N live sessions` count in the status line.
|
||||
|
||||
<img alt="Hermes TUI Session Orchestrator with one live session and a +new row" src="/img/docs/tui-session-orchestrator/session-orchestrator.png" />
|
||||
|
||||
<video controls muted loop playsInline src="/img/docs/tui-session-orchestrator/session-orchestrator-demo.mp4" title="Hermes TUI Session Orchestrator demo" />
|
||||
|
||||
Inside the switcher:
|
||||
|
||||
- `↑` / `↓` move the selection; mouse clicks select rows too.
|
||||
- `Enter` switches to the selected live session.
|
||||
- `Ctrl+D` closes the selected live session.
|
||||
- `Ctrl+N` starts a blank live session.
|
||||
- `Ctrl+R` refreshes the live-session list.
|
||||
- `Esc` closes the switcher.
|
||||
- Select `+new`, type a prompt, and press `Enter` to dispatch a new live session. Press `Tab` first if you want to choose a model just for that new session.
|
||||
|
||||
## LaTeX math rendering
|
||||
|
||||
The TUI's markdown pipeline renders LaTeX math inline: `$E = mc^2$` and `$$\frac{a}{b}$$` render as Unicode-formatted math instead of the raw TeX source. Works for inline and block math; unsupported syntax falls back to showing the literal TeX wrapped in a code span so it remains copyable.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue