Feature: Add conversation timeline and AI response outline navigation
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 395
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
**提交人**: LumiAI
**客户端版本**: 0.1.43
---
## 使用场景
When a conversation becomes long, users need to revisit key information from earlier messages. Long AI responses also require a way to jump directly to a specific section.
## 当前痛点
Scrolling through a long conversation is slow and makes it easy to miss the target message. For a long AI response, users may have to scan the whole answer to find the relevant chapter or section.
## 诉求
Add two navigation aids:
1. **Conversation Timeline on the right**
- Show user and AI conversation nodes in chronological order.
- Display a short summary, title, or key content for each node.
- Clicking a node jumps directly to the corresponding message.
2. **AI response outline on the left**
- Automatically detect headings and heading levels in long AI responses.
- Display them as a hierarchical outline.
- Clicking an outline item jumps to the corresponding section.
- Hide the outline when a response has no meaningful heading structure.
## 建议方案
Suggested layout:
- Left: outline for the current long AI response
- Center: conversation content
- Right: timeline for the whole conversation
The timeline and outline should reflect the current scroll position. Short responses or responses without headings should not show an empty or distracting outline.
## 预期结果
Users can quickly recover important information from long conversations and jump to the target section of a long AI response without manually scrolling through the entire content.
---
**版本区域**: CN
**OS**: win32 x64 (10.0.19045)
**界面语言**: zh-CN
Contributor guide
Research direction
No files, tests, or entry points are identified in the issue. Start by locating the conversation rendering and scroll-navigation entry points, then determine how messages and AI headings are represented. Done means the timeline and hierarchical outline navigate to their targets, track scrolling, and stay hidden when an outline is not meaningful.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100