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 适合长对话中快速定位历史提问的用户,悬停展开问题列表。

Package
@deepseek-ai/dsh-client-ui-timeline
Compatibility
Unverified
Harness peer range
workspace:^
Cordis peer range
workspace:^
Version
0.1.1-rc.1
License
MIT
Last updated
Aug 23, 2026

Other repositories with this package name

Install

This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full 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-seq row in the active conversation; rows outside the mounted window cannot be targeted.