Preface

Scrolling back and forth to locate a particular input in a long conversation is painful. This plugin floats a “table of contents” on the right side of the conversation window: every piece of content you enter = a horizontal bar, arranged vertically in conversation order. Hover to preview, click to locate, and follow highlighting while scrolling—even a long context lets you jump at a glance to the input you’re looking for.

Features

  1. Right-side floating index bar: one horizontal bar per user input, positioned 14px from the right edge and vertically centered.
  2. Two-level preview: hovering a bar shows the sequence number and a 15-character preview; moving the mouse into the bubble expands it to the first 40 characters.
  3. Smooth positioning: clicking a bar smoothly scrolls the chat area to the corresponding message.
  4. Scroll highlighting: while scrolling the chat, the bar corresponding to the input near the top of the current viewport is highlighted (brand color).
  5. Precise indexing: only genuine human inputs are indexed; compressed records and context injected by plugins are not mixed into the index.

Install and Enable

This plugin is a pure client-side plugin with no host logic, requiring no approval and not lost after restart.

  1. Install
    Run the following in the DSH profile directory (for example, C:\Users\<you>\.dsh\profiles\web):
npm install dsh-chat-index-rail
  1. Configure package.json
    In the profile’s package.json, add the plugin to the dsh.profile.bundles list:
"dsh": {
  "profile": {
    "bundles": [ "...existing entries...", "dsh-chat-index-rail" ]
  }
}
  1. Configure cordis.patch.yml
    Add an entry in cordis.patch.yml:
- id: chat-index-rail
  name: dsh-chat-index-rail
  1. Restart
    Restart DSH to apply the configuration.

Typical Usage

Open any session, and the index bar appears on the right:
1. Hover over a bar to view the preview (15 characters).
2. Move the mouse into the bubble to expand the full preview (40 characters).
3. Click a bar to jump to the corresponding input.
4. While scrolling the chat, the bar at the current position is highlighted.

Technical Notes

  • Dependencies: Depends on stable product anchors of the DSH Web UI (such as shell.overlay, useSession, [data-conversation-scroll], etc.). This plugin has been verified on DSH Web (rc6 era); major version updates may change the anchors and require adaptation.
  • Development: lib/index.js is an empty mount (pure client-side plugin), and lib/client.js is the browser bundle.
  • Upgrading: After modifying lib/, overwrite the same-named directory in the profile, then restart to take effect.