Introduction

When running long conversations in the DeepSeek Harness (DSH) Web GUI, a user message may be followed by a large amount of tool calls, context output, and reply content. To find a specific user input, one often has to repeatedly scroll, passing several screens of irrelevant content.

DSH’s extension mechanism is “everything is a plugin.” Plugins in the community directory are released by maintainers and have no official affiliation with DeepSeek/Falphy, nor should it be understood as an official app store. This article introduces a type of Web client plugin: @smanx/dsh-conversation-indicator, which displays a compact indicator bar panel on the right side of the conversation area to quickly locate user messages.

What is it

@smanx/dsh-conversation-indicator is a conversation indicator plugin for the DeepSeek Harness Web GUI, maintained by smanx, under the MIT license.

It does very specific things:

  • Displays a compact capsule panel on the right side of the conversation area, adjacent to the scrollbar.
  • Marks user messages and smoothly scrolls to the corresponding position when the indicator bar is clicked.
  • Displays a conversation summary when hovering over the indicator bar.
  • The panel remains hidden during scrolling or streaming output, appears when the mouse approaches, and fades out after moving away.
  • Pure browser-side bundle with no server-side logic.
  • Does not increase token consumption, tool calls, session logs, or prompt snippets.
  • Preferences are saved in the browser’s localStorage.

Core Capabilities

This plugin does not change model behavior or request content. It only provides an auxiliary panel for the already rendered conversation area within the Web GUI.

The main capabilities are as follows:

  1. Displaying the panel on the right side of the conversation area
    The panel is adjacent to the scrollbar and visually resembles a vertical indicator rail.

  2. Marking user messages
    Marks rows where data-chat-flow-kind is user by default. Assistant replies are not marked by default.

  3. Click to Jump
    After clicking an indicator bar, the conversation area smoothly scrolls near that line.

  4. Hover to View Summary
    When the mouse hovers over the indicator bar, corresponding content summary information can be seen.

  5. Avoiding interference with normal interaction
    The panel is hidden during scrolling or streaming output; it only appears when the mouse is near and fades out after moving away.

Installation and Activation

Install from the GitHub repository:

dsh plugin --profile web add github:smanx/dsh-conversation-indicator#main

After the initial installation, the Web server needs to be restarted once so that the new client bundle enters the startup manifest, and then the page needs to be refreshed.

When updating the plugin, simply re-execute the same command.

If developing this plugin in a local directory, you can point the profile to a local path. For example:

dsh plugin --profile web add file:C:/mydata/codes/dsh-conversation-indicator

Typical Usage

After the installation steps above, it can be used as follows:

  1. Open a session where the current content exceeds one screen.
  2. Move the mouse to the right side of the conversation area, near the scrollbar, and the indicator panel will appear.
  3. Hover over an indicator bar to view the summary corresponding to that line.
  4. Click an indicator bar, and the conversation area smoothly scrolls near that line.
  5. After moving the mouse away, the panel will fade out and will not interfere with normal reading and scrolling.

If the current session content does not exceed one screen, the panel will not appear.

Configuration and Application

Preferences are saved in the browser with the key name:

localStorage["dsh-conversation-indicator.options"]

Its value is a JSON object. You can set it in DevTools and refresh the page; the configuration is applied the next time the plugin mounts.

It is worth noting that the configuration is read when the plugin mounts. Modifying localStorage directly at runtime usually requires refreshing the page or waiting for the view to remount before taking effect.

Impact on Model and Session Data

This plugin belongs to the pure client-side UI layer and does not enter the model request pipeline.

Verified facts include:

  • Does not increase token consumption.
  • Does not increase tool calls.
  • Does not write to session logs.
  • Does not register prompt snippets.
  • The client only observes the rendered DOM and does not copy or store conversation content.
  • Does not register model-facing features.

Therefore, its main function is to improve browsing efficiency for long sessions on the browser side, rather than changing DSH’s runtime logic or model behavior.

Usage Limitations

Before use, you need to know a few boundaries:

  • The panel only exists when the current session content exceeds one screen.
  • The indicator bars reflect the currently loaded history window; extremely early rows not yet rendered on the Web side cannot be marked.
  • Assistant replies are not marked by default; only user type rows are marked by default.
  • Configuration is read at plugin mount; modifying localStorage at runtime requires a page refresh or view remount to take effect.
  • When clicking multiple indicator bars quickly and continuously, it may not be possible to interrupt the currently ongoing smooth scroll animation.

Suitable Scenarios and Installation Notes

It is suitable for the following situations:

  • Frequent need to review a specific user input in long sessions.
  • The conversation area contains a large amount of tool calls, context output, and reply content.
  • Want to reduce scrolling in the Web GUI and use the right-side indicator bars for quick positioning.
  • Only need a lightweight, pure-browser auxiliary panel and do not want to increase costs on the model side.

Before installation, it should still be treated as a third-party plugin: check the source code, dependencies, and MIT license first. From a runtime perspective, the plugin runs in the DSH host environment and uses the current dsh process permissions; if used in a production or team environment, it is recommended to first verify the complete process of installation commands, page refresh, and restarting the Web server in your own environment.

GitHub repository:

https://github.com/smanx/dsh-conversation-indicator

Community directory page:

https://www.skillhub.cn/plugins/smanx/dsh-conversation-indicator