DSH Web’s chat window can become cumbersome to scroll through to find earlier user questions after running for a long time. The dsh-conversation-jump plugin uses a set of navigation buttons to turn “browsing messages one by one in chronological order” into clickable operations, and automatically loads history when the target is outside the currently visible window.

Plugin Positioning

This plugin provides navigation controls for the DSH Web client to quickly jump to the top or bottom of a conversation, or to previous and next user messages. It does not provide thumbnails or a table of contents; instead, it focuses on jumping by semantic units (user messages).

Core Features

  • Navigation Controls: Provides four groups of circular buttons corresponding to “Back to Top”, “Previous”, “Next”, and “Back to Bottom”.
  • Smart Pagination: When the navigation target (user message or steering entry) is outside the currently loaded window, the plugin automatically triggers the host’s “Load More” function until the target appears.
  • Target Scope: Only jumps to entries of type user and steering, skipping process nodes such as tool calls and context injection.
  • Position and Display:
  • Floats on the right side of the conversation content, 16px above the input box.
  • Hidden by default; appears when upward scrolling speed exceeds 200px/s.
  • Automatically hides after 3 seconds of inactivity; clicking any button resets the timer.
  • Message Anchor: The scroll landing point is located approximately 1/12 from the top of the viewport.

Installation and Enabling

Install it through the DSH plugin command. After installation, the dsh web process must be restarted for the change to take effect.

dsh plugin --profile web add dsh-conversation-jump

Restart command:

dsh web

Limitations and Notes

  • Web Client Only: This plugin is a Web UI plugin; the host half is empty and provides no backend or storage services.
  • State Management: Maintains only in-memory page state; it does not rely on localStorage, IndexedDB, or other persistent storage.
  • Pagination Dependency: The pagination feature depends on the host interface rendering a “Load More” button. If the host never renders that button, navigation operations stop within the currently loaded history and will not loop infinitely.

Ecosystem Info