yth1120/deepseek-harness--packages-client-ui-timeline ↗★ 1
@deepseek-ai/dsh-client-ui-timeline
DeepSeek-style 'questions you asked' nav for the dsh web chat: a fixed rail on the chat's right edge that expands to real user messages and jumps to them 适合长对话中快速定位历史提问的用户,悬停展开问题列表。
같은 패키지 이름의 다른 저장소
설치
검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗
@deepseek-ai/dsh-client-ui-timeline
English | 中文
Conversation history timeline for the dsh web GUI: a DeepSeek-style "questions you asked" card pinned to the active conversation's visible chat area (vertically centered, 24px from the right edge, beside the scrollport). It rests as a narrow rounded rail showing only right-edge tick marks — the newest question is brand blue while the others are gray; hovering or focusing expands it to ~300px, revealing right-aligned question rows oldest on top and newest on the bottom, with truncated text and the full message on the native hover title. The current reading position is bold black (brand blue when it is also the newest). The card scrolls internally with the wheel but shows no scrollbar. Clicking a row scrolls the conversation to that message (data-conversation-seq anchor); scrolling the conversation moves the black-bold row to the question currently in view.
The nav occupies ui-conversation's conversation.chat.overlay seat, a session-scoped additive overlay rendered outside the scrolling transcript, so the rail stays fixed while the conversation scrolls (click-through wrapper; occupants opt into pointer events). The rail reads only the in-window node list, so earlier history pages in through the conversation's own loadOlder path.
Extension point
conversation.chat.overlay is a general conversation-surface overlay seat: any package can register a badge, scroll nav, or status strip there, and the overlay wrapper stays click-through unless the occupant opts in. The data-conversation-seq anchor is a generic conversation-surface contract: any surface can locate a node's row.
Model Experience
None, as the tab renders browser-side conversation nodes for a human; nothing here reaches a model request.
KV Cache effect
None; this package neither assembles nor sends a provider request.
Known Limitations and Deferred Work
- In-window history only — the rail shows the loaded node window; paging in older turns happens through the conversation's existing load-older gesture, not through the rail itself.
- Jump is DOM-anchored — scroll-to-row resolves the node's
data-conversation-seqrow in the active conversation; rows outside the mounted window cannot be targeted.