In long chat histories in the DSH Web GUI, scrolling through the conversation to find earlier interaction points is often inefficient. The dsh-chatflow-rail plugin provides a conversation-flow navigation rail on the left, mapping the chat into a compact cluster of dashed lines to help locate content quickly.

What Is This

This is a client-side plugin maintained by veritas501. It adds a navigation rail to the left side of the DSH Web interface, where each user message corresponds to one dashed line, positioned 1:1 with the actual content; it also docks a “Previous Message” card near the top, solving the problem of quick jumping in long conversations.

Core Features

  • Left navigation rail: Draws a dashed line for each user message, presenting the conversation structure at a glance.
  • Hover preview: When hovering over the navigation rail, the dashed-line cluster expands smoothly (fan-out effect); the dashed lines near the pointer become thicker and darker and display a message preview.
  • Click to jump: Clicking a dashed line or the navigation rail area scrolls the view smoothly to the corresponding chat message.
  • Top card: When a user message scrolls beyond the top of the viewport, a floating “Previous Message” card is displayed, containing #N/M · time and a 3-line content preview.
  • Automatic expansion: The plugin automatically extends the DSH history window, ensuring the navigation rail covers the entire conversation, not just the rendered tail window.

Installation and Enabling

The plugin is a Git-hosted package, and its build scripts are blocked by pnpm by default, so dependency build allowance needs to be configured first.

  1. Allow the build: Edit ~/.dsh/profiles/web/pnpm-workspace.yaml and add the following configuration:
    onlyBuiltDependencies:
      - dsh-chatflow-rail
  1. Install the plugin:
    dsh plugin --profile web add github:veritas501/dsh-chatflow-rail
This runs the `prepare` script to build `lib/`.
  1. Restart the service:
    dsh web
After restarting, refresh the browser page to apply the changes.

Typical Usage

  • Hover over the left navigation rail to view message previews and click to jump to a specific position.
  • When the conversation is long and you scroll to the top, use the floating “Previous Message” card to quickly return.

Applicable Scenarios and Notes

  • Applicable scenarios: Suitable for developers or users who need to frequently view or jump between long conversation histories.
  • Notes:
    • dsh plugin behaves similarly to adding a dependency. If automatic addition does not take effect, manually add the package name to the dsh.profile.bundles list.
    • Development: When developing the plugin locally, run pnpm build first to generate the lib directory, then install it using the local path.

The plugin simplifies navigation in long conversations by providing a conversation-map mechanism. For more details, refer to DSH Plugin Directory or the GitHub repository.