Choose an interface
Every Hermina interface controls the same server, but each is optimized for a different job. Start with Web/Desktop for daily work and keep the CLI available for installation and recovery.
Interface matrix
| Interface | Best for | Runs where | Important differences |
|---|---|---|---|
| Web dashboard | Daily administration and chat | Browser | Full workspace; requires server URL and API key |
| Electron desktop | Daily use on Linux desktop | Local app | Adds native notifications, tray, overlay, media controls, and updates |
| Android app | Monitoring and administration away from a computer | Android 8+ | Supports QR/code login, background status checks, and most agent settings |
| CLI | Installation, recovery, scripts, and precise local changes | Hermina server | Direct access to files, Docker, and systemd; does not use the HTTP API |
| TUI | Keyboard-driven local administration | Hermina server | Wraps common CLI operations in an interactive terminal UI |
| Browser extension | Page-aware chat and browser workflows | Chromium browser | Uses broad browser permissions; connect only to a trusted server |
Web and Electron
The Web dashboard and Electron app share the same Next.js interface. Use them for:
- Agent lifecycle and status.
- Streaming chat and session history.
- Model, media, tools, channel, permission, and schedule settings.
- Workspace files and returned attachments.
- Groups, Messenger, Secretary, Feed, Inbox, and saved messages.
- Interactive shell access when administrative terminal work is required.
Electron adds native capabilities that a browser page cannot provide: system tray, global overlay, desktop notifications, media integration, window controls, and packaged updates.
Run the local launcher:
hermina desktop
On a graphical machine it opens the newest packaged Electron app when available, otherwise it falls back to Electron source or the Web URL. On a headless server it prints connection details instead.
Android
The Android app is an administrative client; it does not run Hermes or Docker on the phone. It connects to the management API and can operate agents, chat, view logs, configure channels, manage schedules and queues, browse workspace files, and use Messenger features.
Use Android when you need:
- A compact remote status view.
- Native notifications when an agent or bridge goes down.
- Quick QR or pairing-code setup.
- Chat and common administrative actions without opening a laptop.
For a server reached over the public internet, use HTTPS. Plain HTTP is intended only for trusted LAN or VPN environments.
CLI and TUI
Run the TUI with either command:
hermina
hermina tui
Use the CLI when a dashboard is unavailable, when diagnosing the host, or when you need a command that maps directly to Docker, systemd, or an agent profile.
Avoid changing the same agent from the CLI and a remote client at the same time. Configuration spans YAML, dotenv files, runtime state, and SQLite databases; there is no distributed transaction across those stores.
Browser extension
The extension adds the current browser page as context and exposes a lightweight chat surface. It is useful for research and page-specific tasks, but it is not the main lifecycle or configuration interface.
Because it needs tab, scripting, and broad host permissions, install it only from a trusted build and rotate the server key if the browser profile is compromised.
A practical default
For most installations:
- Use the CLI to install and recover the server.
- Use Web or Electron for normal operations.
- Add Android for monitoring and quick interventions.
- Add the browser extension only when page context is part of the workflow.