Interfaces
4. Interfaces — Many Doors In, One Single Agent
This is the key difference worth stating up front: Hermes is not “a CLI with a few side interfaces” — it is one single agent core (same config, same API key, same skills, same memory) that you can reach from six different directions. A session that starts in the Terminal can continue in the TUI, the Desktop app, or the Web Dashboard — because they all read and write the same on-disk data layout (~/.hermes/); they are not separate products.
Quick pick — which interface for which job
| Interface | Use it when |
|---|---|
| Terminal (4.1) | One-off commands, scripting, quick debugging over SSH |
| TUI (4.2) | Long interactive work right in the terminal, with a visual status view |
| Desktop Application (4.3) | You want a real graphical app, not a command line |
| Web Dashboard (4.4) | Managing remotely from a browser, or on your phone |
| IDE via ACP (4.5) | Coding in Zed/JetBrains/Neovim, with the agent right inside the editor |
| OpenAI-Compatible API (4.6) | Calling Hermes as a model backend from another application or tool |
The “shared state” principle that runs through all six sections
This is the single thing worth stating carefully before going section by section: everything you set up in the Terminal (skills, MCP servers, model configuration) is already there when you open the Desktop app; everything done in the Desktop app shows up the moment you return to the CLI. There is no such concept as “syncing” between interfaces — because they were never separate editions to begin with; they are different windows onto the same agent.