diff --git a/AGENTS.md b/AGENTS.md index 83c32cc80..40d612309 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -64,7 +64,7 @@ hermes-agent/ │ ├── src/components/ # Ink components (branding, markdown, prompts, pickers, etc.) │ ├── src/hooks/ # useCompletion, useInputHistory, useQueue, useVirtualHistory │ └── src/lib/ # Pure helpers (history, osc52, text, rpc, messages) -├── tui_gateway/ # Python JSON-RPC backend for Ink TUI +├── tui_gateway/ # Python JSON-RPC backend for the TUI │ ├── entry.py # stdio entrypoint │ ├── server.py # RPC handlers and session logic │ ├── render.py # Optional rich/ANSI bridge @@ -194,7 +194,7 @@ if canonical == "mycommand": ## TUI Architecture (ui-tui + tui_gateway) -The Ink TUI is a full replacement for the PT CLI, activated via `hermes --tui` or `HERMES_TUI=1`. +The TUI is a full replacement for the PT CLI, activated via `hermes --tui` or `HERMES_TUI=1`. ### Process Model diff --git a/hermes_cli/main.py b/hermes_cli/main.py index cc2bf55d9..560b95adf 100644 --- a/hermes_cli/main.py +++ b/hermes_cli/main.py @@ -843,7 +843,7 @@ def _ensure_tui_node() -> None: def _make_tui_argv(tui_dir: Path, tui_dev: bool) -> tuple[list[str], Path]: - """Ink TUI: --dev → tsx src; else node dist (HERMES_TUI_DIR or ui-tui, build when stale).""" + """TUI: --dev → tsx src; else node dist (HERMES_TUI_DIR or ui-tui, build when stale).""" _ensure_tui_node() def _node_bin(bin: str)-> str: @@ -925,7 +925,7 @@ def _make_tui_argv(tui_dir: Path, tui_dev: bool) -> tuple[list[str], Path]: return [node, str(root / "dist" / "entry.js")], root def _launch_tui(resume_session_id: Optional[str] = None, tui_dev: bool = False): - """Replace current process with the Ink TUI.""" + """Replace current process with the TUI.""" tui_dir = PROJECT_ROOT / "ui-tui" env = os.environ.copy() @@ -5236,7 +5236,7 @@ For more help on a command: "--tui", action="store_true", default=False, - help="Launch the Ink-based terminal UI instead of the classic REPL" + help="Launch the modern TUI instead of the classic REPL" ) parser.add_argument( "--dev", @@ -5349,7 +5349,7 @@ For more help on a command: "--tui", action="store_true", default=False, - help="Launch the Ink-based terminal UI instead of the classic REPL" + help="Launch the modern TUI instead of the classic REPL" ) chat_parser.add_argument( "--dev", diff --git a/tui_gateway/server.py b/tui_gateway/server.py index 262f9abb0..6e9249ae7 100644 --- a/tui_gateway/server.py +++ b/tui_gateway/server.py @@ -1985,7 +1985,7 @@ def _cli_exec_blocked(argv: list[str]) -> str | None: return "bare `hermes` is interactive — use `/hermes chat -q …` or run `hermes` in another terminal" a0 = argv[0].lower() if a0 == "setup": - return "`hermes setup` needs a full terminal — run it outside the Ink UI" + return "`hermes setup` needs a full terminal — run it outside the TUI" if a0 == "gateway": return "`hermes gateway` is long-running — run it in another terminal" if a0 == "sessions" and len(argv) > 1 and argv[1].lower() == "browse": diff --git a/website/docs/getting-started/quickstart.md b/website/docs/getting-started/quickstart.md index 997b0acf3..1f721586c 100644 --- a/website/docs/getting-started/quickstart.md +++ b/website/docs/getting-started/quickstart.md @@ -78,13 +78,13 @@ You can switch providers at any time with `hermes model` — no code changes, no ```bash hermes # classic CLI -hermes --tui # modern Ink TUI (recommended) +hermes --tui # modern TUI (recommended) ``` That's it! You'll see a welcome banner with your model, available tools, and skills. Type a message and press Enter. :::tip Pick your interface -Hermes ships with two terminal interfaces: the classic `prompt_toolkit` CLI and a newer [Ink TUI](../user-guide/tui.md) with modal overlays, mouse selection, and non-blocking input. Both share the same sessions, slash commands, and config — try each with `hermes` vs `hermes --tui`. +Hermes ships with two terminal interfaces: the classic `prompt_toolkit` CLI and a newer [TUI](../user-guide/tui.md) with modal overlays, mouse selection, and non-blocking input. Both share the same sessions, slash commands, and config — try each with `hermes` vs `hermes --tui`. ::: ``` diff --git a/website/docs/reference/cli-commands.md b/website/docs/reference/cli-commands.md index f88cd12bc..6b0855267 100644 --- a/website/docs/reference/cli-commands.md +++ b/website/docs/reference/cli-commands.md @@ -27,7 +27,7 @@ hermes [global-options] [subcommand/options] | `--worktree`, `-w` | Start in an isolated git worktree for parallel-agent workflows. | | `--yolo` | Bypass dangerous-command approval prompts. | | `--pass-session-id` | Include the session ID in the agent's system prompt. | -| `--tui` | Launch the [Ink TUI](../user-guide/tui.md) instead of the classic CLI. Equivalent to `HERMES_TUI=1`. | +| `--tui` | Launch the [TUI](../user-guide/tui.md) instead of the classic CLI. Equivalent to `HERMES_TUI=1`. | | `--dev` | With `--tui`: run the TypeScript sources directly via `tsx` instead of the prebuilt bundle (for TUI contributors). | ## Top-level commands diff --git a/website/docs/reference/environment-variables.md b/website/docs/reference/environment-variables.md index 92ac45b5c..fc6cfa58f 100644 --- a/website/docs/reference/environment-variables.md +++ b/website/docs/reference/environment-variables.md @@ -346,7 +346,7 @@ For cloud sandbox backends, persistence is filesystem-oriented. `TERMINAL_LIFETI | Variable | Description | |----------|-------------| -| `HERMES_TUI` | Launch the [Ink TUI](../user-guide/tui.md) instead of the classic CLI when set to `1`. Equivalent to passing `--tui`. | +| `HERMES_TUI` | Launch the [TUI](../user-guide/tui.md) instead of the classic CLI when set to `1`. Equivalent to passing `--tui`. | | `HERMES_TUI_DIR` | Path to a prebuilt `ui-tui/` directory (must contain `dist/entry.js` and populated `node_modules`). Used by distros and Nix to skip the first-launch `npm install`. | ## Cron Scheduler diff --git a/website/docs/user-guide/cli.md b/website/docs/user-guide/cli.md index e8201d592..62e70e3cc 100644 --- a/website/docs/user-guide/cli.md +++ b/website/docs/user-guide/cli.md @@ -9,7 +9,7 @@ description: "Master the Hermes Agent terminal interface — commands, keybindin Hermes Agent's CLI is a full terminal user interface (TUI) — not a web UI. It features multiline editing, slash-command autocomplete, conversation history, interrupt-and-redirect, and streaming tool output. Built for people who live in the terminal. :::tip -Hermes also ships a modern Node-based terminal UI with modal overlays, mouse selection, and non-blocking input. Launch it with `hermes --tui` — see the [Ink TUI](tui.md) guide. +Hermes also ships a modern TUI with modal overlays, mouse selection, and non-blocking input. Launch it with `hermes --tui` — see the [TUI](tui.md) guide. ::: ## Running the CLI diff --git a/website/docs/user-guide/tui.md b/website/docs/user-guide/tui.md index d79116ae5..227625457 100644 --- a/website/docs/user-guide/tui.md +++ b/website/docs/user-guide/tui.md @@ -1,22 +1,22 @@ --- sidebar_position: 2 -title: "Ink TUI" -description: "Launch the modern Node-based terminal UI for Hermes — mouse-friendly, rich overlays, and non-blocking input." +title: "TUI" +description: "Launch the modern terminal UI for Hermes — mouse-friendly, rich overlays, and non-blocking input." --- -# Ink TUI +# TUI -The Ink TUI is the modern front-end for Hermes — a Node/React terminal UI backed by the same Python runtime as the [Classic CLI](cli.md). Same agent, same sessions, same slash commands; a cleaner, more responsive surface for interacting with them. +The TUI is the modern front-end for Hermes — a terminal UI backed by the same Python runtime as the [Classic CLI](cli.md). Same agent, same sessions, same slash commands; a cleaner, more responsive surface for interacting with them. It's the recommended way to run Hermes interactively. ## Launch ```bash -# Launch the Ink TUI +# Launch the TUI hermes --tui -# Resume the latest Ink session (falls back to the latest classic session) +# Resume the latest TUI session (falls back to the latest classic session) hermes --tui -c hermes --tui --continue @@ -32,13 +32,13 @@ You can also enable it via env var: ```bash export HERMES_TUI=1 -hermes # now uses the Ink TUI +hermes # now uses the TUI hermes chat # same ``` -The classic CLI remains available as the default. Anything documented in [CLI Interface](cli.md) — slash commands, quick commands, skill preloading, personalities, multi-line input, interrupts — works in the Ink TUI identically. +The classic CLI remains available as the default. Anything documented in [CLI Interface](cli.md) — slash commands, quick commands, skill preloading, personalities, multi-line input, interrupts — works in the TUI identically. -## Why the Ink TUI +## Why the TUI - **Instant first frame** — the banner paints before the app finishes loading, so the terminal never feels frozen while Hermes is starting. - **Non-blocking input** — type and queue messages before the session is ready. Your first prompt sends the moment the agent comes online. @@ -123,7 +123,7 @@ display: ## Sessions -Sessions are shared between the Ink TUI and the classic CLI — both write to the same `~/.hermes/state.db`. You can start a session in one, resume in the other. The session picker surfaces sessions from both sources, with a source tag. +Sessions are shared between the TUI and the classic CLI — both write to the same `~/.hermes/state.db`. You can start a session in one, resume in the other. The session picker surfaces sessions from both sources, with a source tag. See [Sessions](sessions.md) for lifecycle, search, compression, and export.