DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

dsh-chat-history

d

dsh-chat-history

Manifest valid

Adds a "History" conversation view tab listing the session's user messages as a clickable directory, with auto-paging and click-to-jump back into the chat.

UI (client)hasBundlePatch

dsh-chat-history

A "History" tab in the DeepSeek Harness session header: turns the user messages of the current session into a clickable directory. Click any entry to jump back to the Chat view and scroll to that message.

  • Auto-generated: only real user questions (user messages) are listed — Tool / Thinking / Command / injected-context noise is filtered out, so even long agent sessions stay navigable.
  • Auto-paging: while the tab is active it keeps loading older history (50 messages per page) until the whole session log is in the client window — the directory is complete without manually scrolling the chat area.
  • Click-to-jump: switches back to the Chat tab, smooth-scrolls to the target message, and flashes it for 1.5s.
  • Zero conflicts: registered as a conversation.view session tab (side by side with the official "Trajectory" tab) — it does not occupy the details slot, so the official tool-call detail panel keeps working untouched.

Install

# install into a profile (e.g. web)
dsh plugin --profile web add dsh-chat-history

After restarting dsh web, open any session: the header tab bar shows Chat / Trajectory / History. Click History to use the directory.

Usage

  1. Open a session and click the History tab in the header.
  2. The directory lists every user message in order (number + single-line truncated title; hover shows the full text).
  3. The header shows loading state: "Loading earlier history…" while older pages are being fetched, or the total entry count once complete.
  4. Click any entry — it switches back to the Chat tab, scrolls to the message, and flashes it.

Development

  • Pure client plugin: a hand-written window.__ModuleLoader__.load({ id, factory }) bundle — no build step required.
  • No restart needed after editing lib/client.js: the profile's built-in client-hmr stat-polls bundles every 500ms and hot-reloads on change (roughly 1s).
  • A restart is required when: adding a new plugin package, changing the dsh.client declaration in package.json, or toggling enable/disable in cordis.patch.yml.

Compatibility

The plugin adapts to both DSH client data layouts and picks one at runtime:

DSHchat node sourcecross-view switch
>= 0.1.5useChat((s) => s.order) / useChat((s) => s.nodes)openView("chat")
<= 0.1.0-rc.xuseSession((s) => s.chat.order) / s.chat.nodesclick the Chat tab button

The variant is selected by whether the useChat prop is injected (DSH 0.1.5 removed dsh-client-runtime and moved chat nodes out of the session snapshot into that hook). Sessions, paging state (hasMore / loadingOlder), the data-chat-anchor-key DOM anchors and the node kind === "user" shape are unchanged across both, so the directory logic itself is shared.

Requires a DSH build whose conversation.view slot is declared by dsh-client-ui-conversation (the official "Trajectory" tab is the reference implementation).

How it works

  • Data source: the ordered chat node keys + keyed node store, filtered to kind === "user" (see Compatibility for which hook supplies them).
  • DOM targeting: ui-conversation already stamps every message node with data-chat-anchor-key — lookup by key directly.
  • Paging: session.loadOlder() pulls 50 messages per page, driven by hasMore / loadingOlder; a 200-page budget backstops a host that keeps advertising more history.
  • Jump: since only the active view renders, first switch back to the Chat view (official openView on 0.1.5+, tab click before that), then poll for the target DOM and scrollIntoView + flash.

License

MIT

Compatibility

DSH 0.2.1-rc.3: failedDSH 0.2.1-alpha.1: failedDSH 0.2.1-alpha.5: failed

Versions

Latest versionPublishedSize
0.1.0——
0.1.1——
0.1.2——

Comments

Loading…

Similar plugins

dsh-history

by chenproton

Quickly view, search, and jump to all the messages you sent in a long conversation.

Sessions & MessagesManifest valid

★ 14

↓ 231/wk

MIT

TypeScript

Sep 20, 2026

dsh plugin --profile web add dsh-history

by startnewlabs

Quickly view, search, and jump to all the messages you sent in a long conversation.

Sessions & MessagesManifest valid

★ 14

↓ 231/wk

MIT

TypeScript

Sep 11, 2026

dsh plugin --profile web add dsh-history

by XiLuovo

Session timeline down the left of the conversation: every user message at a glance, current-message tracking, hover preview of the message and its reply, click to jump, collapsible.

UI & ExperienceSessions & MessagesManifest valid

★ 4

↓ 177/wk

MIT

JavaScript

Aug 24, 2026

dsh plugin --profile web add dsh-session-timeline

by uigdwunm

A rail of four circular buttons in the DSH Web conversation that step to the previous or next user message, or to the top or bottom, paging older history in automatically.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

Oct 18, 2026

dsh plugin --profile web add dsh-conversation-jump

Manage archived conversations in the Settings UI: unarchive them back to the sidebar, or permanently delete them with confirmation.

Sessions & MessagesManifest valid

★ 0

↓ 285/wk

MIT

JavaScript

dsh plugin --profile web add dsh-plugin-archived-conversations

Adds a Quick Chat entry to the Web UI sidebar that opens a floating chat window with its own model and reasoning-effort picker, optionally seeded with the current session's transcript, and keeps every

UI & ExperienceTerminal & ClientsManifest valid

★ 0

dsh plugin --profile web add dsh-plugin-quick-chat