Tech Wiki

TOPICSSERIES

[Hermes Agent Series 02] Use Hermes CLI, TUI, Desktop, and Sessions

Hermes has three local interfaces, but they are views over the same agent and session store. Pick the surface that suits the work, then name and export sessions so they remain findable.

  • Classic CLI is the lightest interactive shell.
  • TUI adds overlays, live session switching, and richer terminal controls.
  • Desktop adds a native session list, file attachment, previews, and settings.
  • Saved sessions can move between surfaces because they share the profile’s state.

1. Choose a surface

Use the classic CLI for a focused terminal conversation. Force it even when the profile defaults to TUI with --cli. The TUI is useful when several live conversations or visual context details need to remain on screen. Desktop is the better fit when previews, drag-and-drop files, and session browsing matter more than staying in a shell.

hermes --cli
hermes --tui
hermes desktop

These commands select a front end, not a different agent. Provider settings, skills, memory, and saved sessions belong to the active profile.

2. Inspect the active conversation

Two read-only slash commands answer different questions. /status shows the current session’s model, profile, token totals, duration, recent activity, and tool use. /context shows how the context window is divided; /context all adds skill and toolset detail.

/status
/context
/context all

A high context percentage is a prompt-size concern, not evidence that the session was lost. Use session management separately from context compression.

3. Name and find sessions

Give important work a title while the topic is still obvious. The saved-session picker can filter by title, and the shell command can list records without opening a chat.

/title payments-refactor
/sessions
hermes sessions list --limit 20
hermes sessions rename <SESSION_ID> payments-refactor

Session IDs or titles can be used for later resume. Avoid putting customer data or credentials in a title because titles appear in lists and exports.

4. Resume on another surface

A bare -c continues the current terminal’s recent conversation when terminal-aware continuation has a valid breadcrumb, then falls back to the latest suitable session. Use an ID or title when selection must be explicit.

hermes --continue
hermes --resume <SESSION_ID>
hermes --tui --resume <SESSION_ID>
hermes --resume latest --in ./my-project

Resume normally restores the session’s recorded working directory. Add --no-restore-cwd when the current directory must not change. Desktop exposes the same saved history through its sidebar.

5. Export a reviewable copy

Export is a separate operation from resume. Select one session, request redaction, and keep the result outside public source control until it has been reviewed.

hermes sessions export --session-id <SESSION_ID> --redact session.jsonl
python3 examples/chapter-02-interfaces-sessions/session_checklist.py examples/chapter-02-interfaces-sessions/session-export.json
{"status":"PASS","steps":["create","inspect","name","resume","export"],"redacted":true}

The included JSON is synthetic. It proves the lifecycle schema and public-safety checks without exposing a real transcript. --redact lowers risk, but a human review is still required before sharing an export.

6. Keep session and interface choices separate

Changing from CLI to TUI or Desktop does not create a new identity. Starting a new session does create a new conversation boundary. Use a new session when the task or trust boundary changes; resume when prior messages and tool results are still relevant.

The practical routine is short: choose a surface, inspect status and context, title durable work, resume by explicit identity when needed, then export only a redacted and reviewed copy.

Sources


Leave a Reply

Your email address will not be published. Required fields are marked *

Tech Wiki

Built with WordPress · Learn in public.