0xNyk

Hermes Tui — Development skill for Claude Code

Development community

Native Rust TUI for Hermes Agent.

How to install Hermes Tui

This entry records only its repository, not the path inside it, so there is no exact command to give. Open 0xNyk/hermes-tui and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Hermes Tui does

Native Rust TUI for Hermes Agent. Opt-in second client; Ink stays hermes --tui.

Alternatives in Development

  • Agent Of Empires — Manage multiple Claude Code, OpenCode agents from either TUI or Web for easy access on mobile 3.1k ★
  • Claude Canvas — A TUI toolkit that gives Claude Code its own display 1.4k ★
  • OpenSquirrel — For people who get distracted by agents 1.3k ★

README

hermes-native-tui

Native **Hermes TUI 2.0**: Rust owns the screen, Python still owns the agent.

Binary: `hermes-tui-native` (avoids colliding with the npm package `hermes-tui` in `ui-tui/`).

This crate is a second, opt-in screen client for the Ink TUI (`ui-tui/`). It is not a second agent and does not replace `hermes --tui`. It speaks the same newline-delimited JSON-RPC:

hermes-tui
  └─ python -m tui_gateway.entry
        └─ AIAgent + tools + sessions + memory + skills

Do not call model APIs from this crate. Turns, tools, slash fallthrough, YOLO, compress, and session lifecycle go through `tui_gateway`.

2.0 contract

Layer Owner
Draw, keys, mouse, themes, local overlays this crate (ratatui)
Agent loop, tools, models, memory, skills, compress tui_gateway
Launch env same as Ink: HERMES_PYTHON, HERMES_PYTHON_SRC_ROOT, HERMES_HOME

Ink extras that stay on the TypeScript client until they have a gateway-backed UI here: widgets, billing/subscription, voice, wake, pet, dashboard PTY embed, Telegram/Claude handoff.

Screenshots

Caduceus gold, a live stream, `/theme`, `/model`.

![Empty session](docs/screenshots/01-intro.jpg)

![Stream](docs/screenshots/02-stream.jpg)

![Theme picker](docs/screenshots/05-theme-picker.jpg)

![Model picker](docs/screenshots/07-model-picker.jpg)

Run

# Directory that contains tui_gateway/entry.py — not a docs placeholder.
export HERMES_PYTHON_SRC_ROOT=/absolute/path/to/hermes-agent
export HERMES_PYTHON=$HERMES_PYTHON_SRC_ROOT/.venv/bin/python
export HERMES_HOME=~/.hermes
cargo run --release
hermes-tui-native [--python PATH] [--src-root PATH] [--hermes-home PATH] [--cwd PATH] [--title TEXT] [--resume ID]

`--resume` / `HERMES_TUI_RESUME` matches Ink. Interpreter resolution matches `ui-tui/src/gatewayClient.ts`.

Ink stays `hermes --tui`. Native is opt-in (`HERMES_TUI_NATIVE=1`) — see `CONTRIBUTING.md` and `upstream/`.

Surfaces (gateway)

| Surfa