herm-tui
v1.4.0
Published
A modern TUI for Hermes Agent
Readme
Herm - Dashboard TUI for Hermes
herm /hɜːm/ noun : a sculptured head of Hermes on a square stone pillar, used in ancient Greece as a boundary marker at crossroads.
Herm is a tabbed, mouse-aware TUI built with OpenTUI (React renderer) and Bun. It talks to the same gateway hermes cli uses.
What it does
- Chat with streaming, markdown, inline images (chafa), LaTeX→unicode, diff chips, tool-call expansion, and an animated ASCII avatar
- Tabs for sessions, context, agents, analytics, skills, cron, toolsets, config, env, memory, kanban
- Profile switching — hop between Hermes profiles without leaving the TUI
- Command palette (
Ctrl+K), slash popover, @-refs for file/diff context - Fully rebindable keys (
/keys, opencode-compatible) and theme picker
Install
Herm needs a working Hermes Agent install and Bun.
bunx herm-tui # try without installing
bun add -g herm-tui # stable
npm i -g herm-tui # also fine
bun add -g herm-tui@next # bleeding edge (every dev push)
herm # fresh session
herm -c # resume last sessionOr from source:
git clone https://github.com/liftaris/herm.git
cd herm && bun install
bun run src/index.tsxHerm looks for ~/.hermes. If yours lives elsewhere, set HERMES_HOME. See .env.example for rarely-needed overrides.
Development
bun run dev # watch mode
bun run typecheck
bun testMotivation
Before Hermes, OpenCode was my daily driver. I built Herm because I wanted Hermes capabilities with an OpenCode style interface. Herm uses the same TUI framework OpenCode is built with, OpenTUI, and also exposes dashboard style tabs that centralizes everything I need to do in Hermes in my interface of choice--the terminal.
Acknowledgments
- Hermes Agent — the brain
- OpenTUI — the TUI framework
- OpenCode — the inspiration
License
MIT — see LICENSE.
