New request
#2124: Feature Request: Conversation Outline / Jump-to-Question Sidebar Panel (对话提纲)
We'll provision a sandbox, run an agent against the issue, and open a draft PR. You can pull the branch and iterate from there.
Problem
When conversations grow long (50+ messages), finding earlier discussion points requires extensive scrolling. Users have to manually search through the entire history to locate specific questions or topics discussed earlier. This is especially painful in long research/analysis sessions where many distinct topics are covered.
Proposed Solution
Add a Conversation Outline panel (对话提纲) accessible from the sidebar that:
- Automatically extracts each user question/message as a clickable summary entry
- Floats as a fixed-position panel (not inline, so it stays visible while scrolling the main conversation)
- Clicking any entry jumps directly to that message in the conversation history
- Supports lazy-loading of truncated older messages when jumping to them
UX Details
- Trigger: a small floating button (e.g. 📋 icon) in the top-right corner of the message area
- Panel: right-side overlay or sidebar panel showing a numbered list of user messages
- Each entry shows: the first ~60 chars of the user's question + a timestamp/duration indicator
- Click behavior: scroll to the target message, auto-load truncated history if needed, briefly highlight the target message
- Toggle: clicking the outline button again or clicking outside the panel closes it
- Active entry: the entry corresponding to the currently visible question is highlighted
Inspiration
This is similar to DeepSeek's web chat interface which provides a sidebar index of all questions asked in a session. It significantly improves navigation efficiency in long conversations.
Implementation Notes
We've prototyped this in our own fork and it works well. The core logic:
- Parse
S.messagesfor allrole: 'user'entries - Store message index positions for jump targeting
- Use
jumpToMessage()for navigation with auto-load - CSS
position: fixedfor the floating panel
Would love to see this land in an upcoming release!
Priority
High — this is one of the most impactful UX improvements for users who rely on Hermes for extended research/analysis sessions.
Conversation outline panel requires new sidebar UI, scroll-to-message logic, and lazy-loading integration.
- static/ui.js
- static/index.html
- static/styles.css
- api/sessions.py