Introduction¶
When searching for “what was said in the Nth turn” or “where a specific assistant reply starts” in a long conversation, one often has to scroll back and forth. sent-msg-locator is a DSH plugin that provides a persistent icon column for turns on the left edge of the chat area, turning the current session’s turns into clickable, hoverable navigation entries to view summaries.
What is this¶
Maintained by ShanHaiFish and licensed under MIT, sent-msg-locator is positioned as a pure Client plugin. It targets the boundary of “one turn = user sends -> assistant replies fully” and displays turn number icons in the session interface, supporting click-to-locate and highlight linkage.
The package provides two forms:
- Static bundle: Automatically loaded with the profile layer stack after installation and persists across DSH processes.
- Dynamic plugin fallback form: Composed of
manifest.jsonandclient-source.js.
Core Features¶
The following describes the interface behaviors:
- A floating icon column persists on the left edge of the chat area, with one bubble number icon per turn.
- After clicking an icon, the chat viewport smoothly scrolls to the beginning of the corresponding turn.
- The current viewing turn is highlighted, and the icon column follows automatically to ensure the highlighted icon is visible.
- When the session snapshot updates, the icon column updates synchronously; when there are many turns, the icon column itself is scrollable.
- Hovering over an icon shows the turn number, time, and the first user input text of that turn; extremely long text is truncated.
- When switching to the trajectory view, the icon column and hint cards automatically hide and restore when switched back.
- Interface colors use theme CSS variables, adapting to light/dark modes.
Installation and Activation¶
Install from npm¶
The following command installs the plugin to the web profile:
dsh plugin --profile web add sent-msg-locator
After installation, restart DSH, open any session, and you will see the icon column on the left edge of the chat area and start using it.
Install from local directory¶
If using a local debug copy, the path cannot contain spaces. The local installation command verified in the materials is:
dsh plugin --profile web add file:C:/Users/whaow/.dsh/plugins-dev/sent-msg-locator
This command depends on a specific local path and is only suitable as an example for local installation.
Dynamic Plugin Fallback Form¶
The dynamic form needs to be reactivated every time DSH restarts. The basic steps are:
- Read the complete content of
client-source.jsin the current directory. - Call
cordis_defineto register the plugin. - Call
cordis_runto activate.
Typical Usage¶
- When you need to quickly return to a specific turn, click the corresponding number in the icon column.
- When you want to confirm the content at the start of a turn, hover over the icon to view the summary of the first user input.
- While scrolling through reading, use the highlighted icon to determine the current viewing turn.
- After session pagination, if the oldest visible turn shows that user messages have not loaded, click “Load earlier” in the chat area; once the snapshot updates, the text will appear.
Permissions and Notes¶
sent-msg-locator is a pure Client plugin with no Host capabilities, meaning no RPC / fs / network / spawn. Its scroll positioning only uses element-level APIs: closest, getBoundingClientRect, scrollTo.
You should check the source code and license before installation. Although this plugin claims to be a pure Client plugin, it still runs with the permissions of the current dsh process; if you have doubts about the source or behavior, review the repository code before installing.
Package declaration information:
{
"dsh.client.platform": "web",
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.1"
}
}
These fields indicate it targets the web profile and depends on the relevant Cordis peer dependency. After installing the static bundle, DSH needs to be restarted; for the dynamic plugin form, cordis_define / cordis_run needs to be re-executed after every restart.
Conclusion¶
The value of sent-msg-locator lies in making turn navigation in long sessions explicit: click-to-locate, current turn highlighting, and hover summaries all revolve around the single task of “quickly returning to a specific turn.”
GitHub repository: https://github.com/ShanHaiFish/sent-msg-locator. This article does not attach a verifiable directory page link; you can search for “sent-msg-locator” in community directories.