Back to directory

dsh-history

In a curated listMaintenance: Active

chenproton/dsh-history

Lists, filters, copies, and jumps to the user's full message history, including paged-out session events.

View on GitHub
$ dsh plugin --profile web add dsh-history@latest

14

stars

2

forks

TypeScript

Language

MIT

License

2026-08-17

Created

2026-09-20

Last push

An MIT-licensed DSH web plugin that lists, filters, copies and jumps to every message you sent in a session, including history that was compacted away.

DSH integration

Native runtime

Author-claimed

Safety audit

Unaudited

Last verified

2026-11-13

License

MIT

01What can it help you accomplish?

  • Find and jump back to any message you sent in a very long DSH session

    a panel listing every message you sent — including pages not yet loaded and history overwritten by compaction — with one-click scroll-and-highlight

    People running long DSH sessions who can no longer scroll back to an earlier instruction

  • Search, re-order and copy messages without leaving the session

    live text filter, newest-first / oldest-first toggle, and a per-row copy button for the full text

    Users who reuse earlier prompts and want to re-send or reword them

  • Open the message list without waiting for the session log to be re-read

    a background prefetch on entering a session plus a Host-side cache, so the panel opens instantly

    Users on huge sessions where re-reading the full log used to time out

02How to install into DeepSeek Harness

Prerequisites

  • A working DSH install — `dsh web` must run normally

Installation steps

  1. 01

    `dsh plugin --profile web add dsh-history@latest`

    $ dsh plugin --profile web add dsh-history@latest

  2. 02

    `bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh` — the restart script ships with the plugin, no extra download

Verify the integration

  • Every session shows the 「我的消息 (N)」 button above the composer once installed — no manual step
  • If it is missing: check that `dsh.profile.bundles` in `~/.dsh/profiles/web/package.json` contains `dsh-history`

03DSH integration and capability boundaries

DSH integrationNative runtime

DSH web plugin bundle: a Host half that serves the full message list with caching, plus a client half that adds the 「我的消息 (N)」 button above the composer

  • Complete sent-message history

    every message you sent in the current session, including pages not yet loaded into the chat window and history covered by compaction

  • One-click locate

    a row in the message list→loads earlier history if needed, waits for render, then scrolls smoothly, flashes a highlight and closes the panel

    may page in earlier history of the current session
  • Search, sort and copy

    message text→live filter, newest-first / oldest-first ordering, and the full message text on the clipboard

    writes the copied message text to the system clipboard
  • Prefetch and Host-side cache

    the full list is prefetched in the background when a session opens, so the panel opens instantly

    reads the session log in the background on entering a session
  • restart-dsh-web.sh

    the DSH deployment on this machine→restarts DSH Web — via `systemctl restart` for a systemd-managed `dsh-web.service`, otherwise by re-launching the running `dsh web` process with its original arguments

    restarts your DSH Web processflags: `-n` dry-run, `-p PID` target process, `-l file` log file

04Who is it for? When not to use it?

Good for

  • People running long DSH sessions who can no longer scroll back to an earlier instruction
  • Users who reuse earlier prompts and want to re-send or reword them
  • Users on huge sessions where re-reading the full log used to time out

Not for

  • The three install channels (npm, GitHub, plugin-registry) must not be mixed: enabling two of them double-mounts the plugin — the Node half mounts twice and the page shows two panels — so remove the other channel's mount before switching.
  • The plugin tracks DSH internals: v0.1.25 exists specifically to follow DSH 0.1.5 (`conversation.input.dock` now hands over a `SessionSnapshot`, and the Host reads `session.snapshotEvents()`), so a DSH upgrade can break locate/jump until the plugin is updated.

05Compatibility, maintenance and safety notes

  • The three install channels (npm, GitHub, plugin-registry) must not be mixed: enabling two of them double-mounts the plugin — the Node half mounts twice and the page shows two panels — so remove the other channel's mount before switching.
  • A Host-side change only takes effect after DSH Web is restarted, and the client half needs a hard browser refresh; if the button does not appear, check the restart, then `dsh.profile.bundles`, then the plugin list output.
  • Auto-loading earlier history is capped at 30 pages to prevent runaway loops, and very long histories render only the most recent 200 entries with a hint.
  • The plugin tracks DSH internals: v0.1.25 exists specifically to follow DSH 0.1.5 (`conversation.input.dock` now hands over a `SessionSnapshot`, and the Host reads `session.snapshotEvents()`), so a DSH upgrade can break locate/jump until the plugin is updated.
2026-08-172026-09-20v0.1.25

MIT · latest release v0.1.25 (published 2026-09-11) · README evidence only, not security audited

06Frequently asked questions

How do I install dsh-history into DeepSeek Harness?

Run `dsh plugin --profile web add dsh-history@latest`, then `bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh` — the restart script ships with the plugin. A 「我的消息 (N)」 button then appears above the composer in every session with no further setup. The prerequisites are only a working `dsh web`.

Why can it show messages the chat window no longer has?

It reads the full session message list from the Host rather than the rendered chat: messages on pages that were never loaded into the window and history covered by compaction are both included. Rows are tagged 可定位 (already in the window), 未加载 (older history, loaded on click) or 定位中… (loading and waiting for render).

What does it write or change in my DSH install?

It installs as a normal bundle under `~/.dsh/profiles/web/` and is listed in `dsh.profile.bundles`. The only other thing it does is restart DSH Web when you run the bundled script, which uses `systemctl restart` for a systemd-managed `dsh-web.service` or re-launches the running `dsh web` process with its original arguments.

The button does not appear after installing — what now?

Check in this order: confirm the service was restarted (or hard-refresh the browser with Cmd/Ctrl+Shift+R); confirm `dsh.profile.bundles` in `~/.dsh/profiles/web/package.json` contains `dsh-history`; if it still fails, open an issue with the output of `dsh plugin --profile web list`. A "✕ missing peer" warning during install can be ignored.

Can I mix the npm, GitHub and registry install channels?

No. Enabling two channels double-mounts the plugin — the Node half mounts twice and the page shows two panels — so remove the other channel's mount before switching. The README documents all three: npm (`dsh-history@latest`), GitHub (`github:chenproton/dsh-history#main`, which uses the committed build output) and plugin-registry.

08Data and sources

  • Author-claimedgithub.comecb474edf44c…

    DSH web 插件:在超长会话里**快速查看、搜索并跳转到所有"你发送"的消息**。

  • Author-claimedgithub.comecb474edf44c…

    装完每个会话输入框上方自动出现 **"我的消息 (N)"**,无需手动操作。

  • Author-claimedgithub.comecb474edf44c…

    - **完整历史**:列出当前会话中**全部**你发送的消息,包括尚未加载进对话窗口的旧页、被 compaction 覆盖的历史。

This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-13. Found an error? Submit a correction.

🏆

Best DeepSeek Harness Plugins

Twelve plugins worth installing first — picked from the whole catalog, across every category.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.