SnowCrescenter-tech/dsh-milestone

Git-style milestone timeline for DeepSeek Harness - hover for metadata, click to jump to any message

dsh-milestone is a Git-style milestone timeline for the DeepSeek Harness web UI: it places one dot on the right-side rail for every user message in the active conversation. Hover a dot to preview the message content and metadata (time, turn number, duration, TTFT, token count); click to instantly jump to that message position. For long conversations (100+ turns) it eliminates the need to scroll through code blocks and think steps to find an earlier prompt. Features include: a full message list panel (opens the complete session history with index, turn, and preview, sorted oldest-first; click any row to jump), in-session search (filters dots by full message content in real time; Enter to cycle matches, Esc to clear), cross-session search (searches all conversations via the harness native index; click a result to open that session), bookmark/deep-link anchors (#msg= in the URL, survives refresh and sharing), keyboard navigation between milestone dots, and personalization (accent color, dot size, side margin, left/right position, language toggle EN/ZH — all auto-saved). The dot color graduates from light to dark in time order, mirroring a Git commit graph.

Coding & Development ★ 18 updated 2026-09-12 ✅ runtime-tested
View on GitHub ↗

Install

dsh plugin --profile demo add dsh-milestone

Install from npm with dsh plugin --profile <name> add dsh-milestone (or pin a version: dsh plugin --profile <name> add dsh-milestone@0.6.6; or from source: dsh plugin --profile <name> add 'github:SnowCrescenter-tech/dsh-milestone#main'). Requires Node.js >= 24. After install, open a multi-turn conversation (at least 2 user messages) and the milestone timeline appears automatically on the right side — no further configuration needed. Uninstall with dsh plugin --profile <name> remove dsh-milestone.

Compatibility

DeepSeek Harness web profile. Node.js >= 24 required. Implemented as a dual half browser plugin (empty node half + shell.overlay slot-mounted client half) — zero invasive patches to harness source. The milestone bar renders only when there are at least 2 user messages in the active conversation; single-message sessions show no bar. Features: dot timeline, full message list panel, in-session search, cross-session search (harness native index), bookmark/deep-link via #msg= anchors, keyboard navigation, personalization (accent color, dot size, margin, left/right position, language switch EN/ZH). Settings persist via harness settings system.

Details

Recent updates

The current README English preamble documents install paths (npm, source, GitHub pinned), the milestone bar behavior (2-message minimum), the full message list, in-session search (Enter/Esc), cross-session search, #msg= deep-link bookmarks, keyboard navigation, personalization options, and the dual-half zero-invasive architecture.

FAQ

Why doesn't the milestone bar appear?
The bar only renders when there are at least 2 user messages in the active conversation. Open a multi-turn conversation (at least 2 prompts) and it appears automatically on the right side.
Does it change DSH's core code?
No — it is a dual-half browser plugin that uses the official shell.overlay slot; harness source is never patched and uninstalling restores the original UI completely.
Can I search across all my past conversations?
Yes — a cross-session search button queries all conversations via the harness native session index; click any result to open that conversation.

Alternatives

omdsh-dev/dsh-annotation · PerryLink/dsh-memento · lire1131/dsh-undo-savepoint

More plugins in Coding & Development

Browse more in Coding & Development

Guides for Coding & Development plugins