Foreword¶
DSH Web sessions can sometimes be lengthy, and the chat window may not contain all historical messages. To find a specific message you previously sent within a long session, you typically need to repeatedly load and scroll upwards in the window.
chenproton/dsh-history is a DSH Web plugin designed to list all “your sent” messages within the current session, offering search, sorting, copying, and automatic navigation.
What This Is¶
dsh-history is maintained by chenproton and licensed under the MIT license.
It addresses the problem of finding your own messages in extremely long sessions: not just viewing messages already rendered in the current chat window, but also including older pages that haven’t been loaded and histories overwritten by compaction.
Core Features¶
- Complete History: Lists all your sent messages in the current session, including older pages not yet loaded and histories overwritten by compaction.
- Auto Navigation: Clicking a message will automatically load earlier history if not loaded, wait for the page to render if needed, then smoothly scroll to and highlight it with a flash, while closing the panel.
- Sorting Toggle: Supports toggling between newest first and oldest first.
- Search Filter: Real-time search and filter by message text.
- One-Click Copy: Each row provides a one-click copy for the complete message text.
- Quick Open: Prefetches the complete message list in the session background for instant panel opening; the host side includes caching.
- Status Labels: Displays statuses like navigable, not loaded, navigating, etc.
Installation and Enabling¶
Recommended Installation Command¶
Prerequisites: DSH is installed, and dsh web runs normally.
dsh plugin --profile web add dsh-history@latest
After installation or update, you need to restart the service or hard refresh the browser for the plugin to take effect:
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh
restart-dsh-web.sh supports -n preview, -p PID, and -l log file.
Direct Installation from GitHub¶
dsh plugin --profile web add github:chenproton/dsh-history#main
After installation, also run:
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh
Installation from Source¶
Suitable for debugging local changes. First, clone and build:
git clone https://github.com/chenproton/dsh-history.git
cd dsh-history
pnpm install
pnpm build
Then follow the plugin repository instructions:
- Point the
dsh-historydependency in the DSH Web profile to the local cloned directory. - Append the
cordis.patch.ymlmount line. - Run
pnpm installin the corresponding profile directory. - Run
restart-dsh-web.shto apply changes.
Installation via plugin-registry¶
git clone https://github.com/chenproton/dsh-history.git && cd dsh-history
pnpm install && pnpm build
node scripts/package-registry.mjs
dsh registry install ./registry
dsh registry enable dsh-external/dsh-history
bash restart-dsh-web.sh
Typical Usage¶
- After entering a session, “My Messages (N)” will appear above the input box.
- Click “My Messages (N)” to expand the panel, then use the search box, sorting toggle, and message list.
- Click a message with a status of navigable, not loaded, or navigating; the plugin will automatically load, wait for rendering, and navigate to it.
- Click the copy button on the right side of each row to one-click copy the complete message text.
Applicable Scenarios and Notes¶
Suitable for developers who maintain extremely long sessions in DSH Web and frequently need to backtrack through messages they have sent.
The plugin runs with the current dsh process permissions; review the source code and MIT license before installation.
Additional notes:
package.jsonrequires Node>=20.- The
missing peerwarning during installation can be safely ignored: DSH provides dependencies like@deepseek-ai/*andreactthrough its own module table at runtime. - Enabling two installation channels simultaneously will cause double mounting; remove the mount from one channel before switching to the other.
- After installing or updating the plugin, run
restart-dsh-web.shor hard refresh the browser to take effect.
Links¶
Repository URL: https://github.com/chenproton/dsh-history