Original Request
When I reseume a hermes session, why doesn't old message appear?
is it configurable auto hermes sessions browse/list when resuming a session?
I think what's going to be useful is a summary and last a few messages back and forth, like a termiinal, you know?
Yes, and then also mention if you want, here is a command you can run to show the full
Agent's Two Cents (could be wrong)
Everything below is the AI agent's best guess based on the current codebase.
Take with a grain of salt — the original request above is the only thing that came from a human.
Problem / Motivation
Resuming a CLI session currently feels half-amnesiac: Hermes restores conversation state for the model, but the human only gets a thin recap/tail. What users actually need on resume is a fast re-entry view: one short summary, a few recent back-and-forth turns, and an obvious escape hatch to the full transcript.
What We Checked
cli.py already had display.resume_display with full and minimal modes.
_display_resumed_history() rendered a compact recap capped at the last 10 exchanges.
- Resume already loaded the prior transcript into
conversation_history, so this was mostly a UX/display gap rather than missing persistence.
- There was no proper session-summary view on resume.
- There was no normal resume footer telling users how to inspect the full transcript.
- Search for related issues in
NousResearch/hermes-agent with keywords around resume/history/summary/tail did not surface an obvious duplicate.
Proposed Solution
Make the CLI resume experience show:
- a short session summary,
- the last N user/assistant exchanges in a terminal-style recap,
- a final hint for how to inspect the full transcript.
Implementation direction now in PR #5704:
resume_display=full → summary + recent tail + /history hint
resume_display=tail → tail only (closest to old behavior)
resume_display=minimal → one-line resume notice only
- compressed/continued sessions mention that older raw history may live in an earlier linked session
Dependencies & Potential Blockers
No major blockers identified.
How to Validate
- Start a CLI session, exchange several turns, exit, then resume with
hermes -c.
- Confirm the resumed view shows a short summary plus the last few turns.
- Confirm
resume_display=tail suppresses the summary and keeps a tail-only recap.
- Confirm
resume_display=minimal still suppresses the recap entirely.
- Confirm the resume footer includes
/history as the explicit full-history path.
- Confirm compressed sessions mention that older history may live in an earlier linked session.
- Confirm existing resume tests still pass alongside new behavior.
Best Validation Path
Run the targeted resume tests first, then do one manual CLI smoke test:
source .venv/bin/activate && python -m pytest tests/test_resume_display.py -q -o addopts=''
- Start Hermes, have a short multi-turn conversation, quit, then resume with
hermes -c
- Verify the resume panel shows:
Summary:
- a few recent
You: / Hermes: lines
Want the full transcript? Run /history.
Best Human Demo
Best concise demo: a terminal recording or GIF showing one full cycle:
- start a short session
- exit
- run
hermes -c
- pause on the resume panel with the summary/tail/footer visible
- optionally type
/history immediately after to show the escape hatch works
If a recording is overkill, the next-best demo is a single screenshot of the resumed panel plus one screenshot of /history output.
Scope Estimate
medium
Key Files/Modules Likely Involved
cli.py
hermes_cli/config.py
hermes_cli/main.py
- potentially
hermes_state.py (if summary metadata gets persisted/reused)
Architecture Diagram
previous session in SessionDB
|
v
resume / continue command
|
v
load conversation_history
|
+------------------------------+
| |
v v
summarize resumed session extract last N exchanges
| |
+--------------+---------------+
|
v
render resume preamble
(summary + recent tail + full-history hint)
|
v
drop to prompt
Rough Implementation Sketch
- Extend
display.resume_display beyond minimal|full with a tail mode.
- Reuse the existing resumed-history renderer for the tail portion instead of replacing it outright.
- Generate a short summary from the restored conversation history, cheaply and deterministically.
- Append a final hint such as
Want the full transcript? Run /history.
- If the resumed session is part of a compression chain, mention that the tail may be partial and point users at the full-session browsing path.
Open Questions
- Is
full the right name for “summary + tail”, or should config naming get more literal later?
- Is
/history sufficient as the full-transcript path, or does Hermes still want a dedicated /transcript command eventually?
- Should resume summaries remain live/generated from history each time, or ever be cached in session metadata?
Potential Risks or Gotchas
- A bad summary is worse than no summary, so the fallback behavior should stay useful even if summarization fails.
- Very long or tool-heavy sessions may produce noisy tails unless tool chatter stays filtered.
- Compression chains could confuse users unless the UI explicitly explains when they are only seeing the recent continuation.
Related Issues
Suggested priority: p2
Dependency posture: NoNewDependencies
Agent feasibility: AgentsCanDo, AgentsValidatable
Original Request
Agent's Two Cents (could be wrong)
Problem / Motivation
Resuming a CLI session currently feels half-amnesiac: Hermes restores conversation state for the model, but the human only gets a thin recap/tail. What users actually need on resume is a fast re-entry view: one short summary, a few recent back-and-forth turns, and an obvious escape hatch to the full transcript.
What We Checked
cli.pyalready haddisplay.resume_displaywithfullandminimalmodes._display_resumed_history()rendered a compact recap capped at the last 10 exchanges.conversation_history, so this was mostly a UX/display gap rather than missing persistence.NousResearch/hermes-agentwith keywords around resume/history/summary/tail did not surface an obvious duplicate.Proposed Solution
Make the CLI resume experience show:
Implementation direction now in PR #5704:
resume_display=full→ summary + recent tail +/historyhintresume_display=tail→ tail only (closest to old behavior)resume_display=minimal→ one-line resume notice onlyDependencies & Potential Blockers
No major blockers identified.
How to Validate
hermes -c.resume_display=tailsuppresses the summary and keeps a tail-only recap.resume_display=minimalstill suppresses the recap entirely./historyas the explicit full-history path.Best Validation Path
Run the targeted resume tests first, then do one manual CLI smoke test:
source .venv/bin/activate && python -m pytest tests/test_resume_display.py -q -o addopts=''hermes -cSummary:You:/Hermes:linesWant the full transcript? Run /history.Best Human Demo
Best concise demo: a terminal recording or GIF showing one full cycle:
hermes -c/historyimmediately after to show the escape hatch worksIf a recording is overkill, the next-best demo is a single screenshot of the resumed panel plus one screenshot of
/historyoutput.Scope Estimate
medium
Key Files/Modules Likely Involved
cli.pyhermes_cli/config.pyhermes_cli/main.pyhermes_state.py(if summary metadata gets persisted/reused)Architecture Diagram
Rough Implementation Sketch
display.resume_displaybeyondminimal|fullwith atailmode.Want the full transcript? Run /history.Open Questions
fullthe right name for “summary + tail”, or should config naming get more literal later?/historysufficient as the full-transcript path, or does Hermes still want a dedicated/transcriptcommand eventually?Potential Risks or Gotchas
Related Issues
Suggested priority: p2
Dependency posture: NoNewDependencies
Agent feasibility: AgentsCanDo, AgentsValidatable