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.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-chat-history
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Stylelinzzz/dsh-chat-history
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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 (
usermessages) 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.viewsession tab (side by side with the official "Trajectory" tab) — it does not occupy thedetailsslot, 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
- Open a session and click the History tab in the header.
- The directory lists every user message in order (number + single-line truncated title; hover shows the full text).
- The header shows loading state: "Loading earlier history…" while older pages are being fetched, or the total entry count once complete.
- 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-inclient-hmrstat-polls bundles every 500ms and hot-reloads on change (roughly 1s). - A restart is required when: adding a new plugin package, changing the
dsh.clientdeclaration inpackage.json, or toggling enable/disable incordis.patch.yml.
How it works
- Data source: session snapshot
s.chat.order+s.chat.nodes.get(key), filtered tokind === "user". - 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 byhasMore/loadingOlder; stops after 3 no-progress pages to avoid looping on a stuck host. - Jump: since only the active view renders, first simulate a click on the Chat tab, then poll for the target DOM and
scrollIntoView+ flash.
License
MIT
Links
More in this category
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 4634
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 2203
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 1996
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/dsh-at-file★ 391
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
omdsh-dev/dsh-genui★ 223
Interactive UI components rendered inline in replies: layout, charts, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model.
huiliyi37/dsh-tianshu-tui★ 215
A terminal UI (TUI) for DeepSeek Harness.