Introduction

DSH’s extension method is plugin-based. The community directory is an independent site, not the DeepSeek/Huafang official app store. For long sessions in the DSH Web GUI, user messages are easily buried in multi-round replies, making it time-consuming to scroll back and check.

AFAP/dsh-message-minimap displays a mini navigation bar on the left edge of the session chat window in the DeepSeek Harness Web GUI: every message you send is a scale mark. Hover to see a summary, click to jump, and drag to quickly scan through long sessions.

Based on verified information, this article introduces what problem it solves, what it can do, how to install it, and its usage boundaries.

What is it

AFAP/dsh-message-minimap is a client plugin maintained by AFAP, licensed under the MIT License.

The problem it solves is specific: quickly locating “that message I sent earlier” in a DSH Web GUI session. The plugin does not change session content; it only provides a compact, centered mini navigation bar on the left edge of the chat window, mapping user messages to scale marks, supporting hover preview, click-to-jump, and track dragging.

GitHub repository address:

https://github.com/AFAP/dsh-message-minimap

Core Features

The capabilities verified below are introduced.

  • Displays a compact, centered mini navigation bar on the left side of the chat window.
  • Each user message corresponds to a scale mark, distributed evenly along the scale column.
  • Covers all user messages, including unrendered historical data with pagination; clicking an unloaded scale automatically scrolls up a page.
  • Precisely associates API data with DOM nodes based on message id; smooth scrolling to the target message upon clicking.
  • Message scales within the current viewport are automatically bolded and highlighted.
  • Fish-eye zoom effect when the mouse sweeps over the scale column.
  • Hovering over a scale pops up a preview card showing message sequence, total count, summary, and time.
  • Click or hold and drag the track background to jump proportionally.
  • Automatically follows during streaming output, loading history, switching sessions, and window resizing.
  • Automatically hides when content does not overflow, when there are no user messages, or on the new session guide page.
  • Provides Chinese and English bilingual interface text.
  • Scales are native button elements, focusable via Tab and jumpable via Enter.

This plugin is read-only: it does not modify the DOM business structure, does not intercept events outside its own track, and does not modify/delete any files.

Installation and Enablement

Use the following command to install:

dsh plugin --profile web add github:AFAP/dsh-message-minimap

After installation, restart dsh web for the changes to take effect.

Typical Usage

First, prepare a session with multiple round-trip messages and content that overflows so it can be scrolled. Then verify using the steps below.

  1. Open the session and check if a thin bar with scales appears on the left edge of the chat window.
  2. Hover the mouse over a scale to view the message summary, sequence number, total count, and time.
  3. Click a scale to jump to the corresponding user message.
  4. Click or hold and drag the track background (outside the scales) to jump quickly and proportionally.
  5. If the session is too short, has no user messages, or is on the blank new session page, the navigation bar will automatically hide.
  6. If the host route is unreachable, the plugin degrades to showing only scales for already loaded messages.

API and Data Boundaries

The host only adds a read-only route to extract user message summaries from session logs:

GET /api/message-minimap-messages?sessionId=<sessionId>

This route requires passing browser trust fences, supporting loopback or trustedHosts + same-origin validation; otherwise, it returns 403.

Request parameter boundaries are as follows:

  • Unknown sessionId returns 404.
  • Missing sessionId returns 400.
  • The API only returns summaries, not full content.

Summary fields include:

seq
id
时间
最多 140 字符摘要
是否含图片

The plugin does not write to localStorage or cookie; it is untraceable upon uninstallation.

Suitable Scenarios and Notes

Suitable for the following scenarios:

  • Quickly reviewing messages sent by oneself in long sessions.
  • Locating unloaded user messages via scales when pagination history is not yet rendered.
  • Confirming the target message via hover summary, then jumping via click.
  • Quickly scanning through a long session by dragging the track.

Note the following boundaries:

  • MVP currently does not support marking AI messages, errors, or branches.
  • MVP currently does not support searching scales by text.
  • MVP currently does not support a persistent toggle; the navigation bar always automatically shows or hides based on state.
  • If the host route is unreachable (e.g., 403, 404, or network error), the plugin falls back to showing only scales for already loaded messages.
  • DSH plugins run with the permissions of the current dsh process; source code and the MIT license should be checked before installation.

Links

  • GitHub Repository: https://github.com/AFAP/dsh-message-minimap
  • Directory Page: Specific URL was not provided in verified information, so uncertain addresses are not listed here.