Foreword¶
Running long conversations in DeepSeek Harness (DSH), after dozens of rounds, trying to go back to “the question from round 17,” typically requires endlessly scrolling up and manually searching through code blocks and thinking processes. The native session view in Harness lacks quick indexing by question dimensions, making search costs increase linearly with the number of rounds.
dsh-milestone is a community-maintained client-side plugin that attaches a dotted timeline to the right side of the session view: one dot per question, hover to view content and metadata, click to jump. Below, we’ll introduce its positioning, features, installation method, and usage notes.
What It Is¶
dsh-milestone is maintained by SnowCrescenter-tech and is classified as a client-side plugin. It mounts via Harness’s official slot mechanism without modifying the Harness source code. The current npm version is 0.6.6, licensed under MIT.
In one sentence, it’s like a Git commit graph: at a glance, locate every question and jump to any position in the conversation with one click.
Core Features¶
Dotted Timeline¶
Each user question corresponds to a dot, evenly spaced without distortion by conversation length, with colors darkening to indicate sequence. Clicking a dot smoothly jumps to the corresponding message; hovering shows a message preview and metadata (time, round, duration, TTFT, tok/s, model, token usage, etc.). Scrolling the wheel directly on the milestone bar selects points, and the nearest question in the viewport lights up with a white ring.
Full Question List¶
Open a panel with one click, displaying all questions by index, round, and preview, with direct jumps by clicking any item. Opening automatically loads the entire session history without manual pagination—much faster than searching through early messages dot by dot.
In-Session Search and Cross-Session Search¶
The in-session search box filters dots, matching full message content (not 80-character summaries), and displays hit counts N/M in real-time. Enter jumps to the next match, Esc clears all at once.
Cross-session search uses Harness’s native index to search message content across all sessions. Clicking a hit opens the corresponding session directly (result snippets ≤240 characters, up to 20 items).
Favorites, Bookmarks, and Deep Links¶
Hover over a dot and click the star to favorite it; it persists after refresh (stored per session in localStorage). Click “★” at the top to view only favorites. When jumping, the URL automatically includes a #msg= anchor, ensuring the same message is revisited after refresh or sharing.
Efficiency Aids¶
- Keyboard Navigation:
↑↓to move,Enterto jump,Home/Endfor start/end. - Turn Group Folding: Long turns fold into a single item, with summary dots marked with an ×N badge.
- Copy and Fork: One-click copy of the full question text, or branch from this point.
- Focus Mode: Dim or fold thinking and tool calls, with adjustable intensity.
- Personalization: Accent color, dot size, distance from side, left/right position—adjust and save instantly; switch between Chinese and English with one click.
Installation and Setup¶
Requires Node.js >= 24 (as officially required by Harness). The plugin declares support for @deepseek-ai/dsh 0.1.1-rc.2.
Install from npm (recommended):
dsh plugin --profile demo add dsh-milestone
Or install from GitHub source:
dsh plugin --profile demo add "github:SnowCrescenter-tech/dsh-milestone#main"
Start the Web UI:
npx @deepseek-ai/dsh web # → http://127.0.0.1:3080
Open a multi-turn conversation with at least 2 questions, and the milestone bar will appear on the right side of the session view.
Typical Usage¶
- Quick Review of a Round: Hover over dots on the right-side timeline, view the preview and metadata card, and click to jump.
- Browse Session Structure: Open the “All Questions” panel, scan by index, and jump to any item.
- Search Keywords in Current Session: Open in-session search, enter keywords, and use
Enterto jump between hits. - Find Old Discussions Across Sessions: Use cross-session search and open the target session from the hit results.
- Mark Important Questions: Hover over dots and click the star to favorite, then use the top “★” filter.
- Share Location: After jumping, the URL includes a
#msg=anchor; copy the link to let others jump directly to the same message.
How It Works¶
The plugin uses a dual-half structure (empty node half + client half mounted on the shell.overlay slot) for zero-intrusion into the existing UI:
shell.overlay (root scope)
└─ milestone.rail (session scope, self-declared child slot)
└─ useSession reads session snapshot → dot list + hover + jump
Data comes from Harness’s native session snapshot (message list, turn metadata, pagination, and run state). Jumping uses message anchors for DOM positioning with scrollIntoView for smooth scrolling. Bookmarks and toolbar preferences are persisted to localStorage per session via store.persist.
Use Cases and Notes¶
For Whom: Developers who frequently run multi-round, long conversations in DSH—such as debugging agents, iterating on prompts, and comparing outputs across rounds—where quick positioning by question dimensions is needed.
Known Limitations (excerpted from the official README):
- In-session search only covers the currently loaded message window (initial 50 items); earlier history must be loaded via the top “···” before it can be searched. The “All Questions” list is not affected.
- TTFT/tok/s depends on turn position data and is not shown for turns outside the window or incomplete turns.
- Bookmarks are isolated per session and not shared across sessions.
- Fork starts a branch from the turn containing the selected message and does not automatically open a sub-session.
- If the deep link target is earlier than the loaded window, it will automatically load earlier history before locating; extremely deep history may fail to locate.
Security Note: The plugin runs with the permissions of the current DSH process. Before installation, check the GitHub source code and MIT license to ensure it fits your environment. The SkillHub community directory is an independent site with no official affiliation with DeepSeek or High-Flyer.
Conclusion¶
dsh-milestone attaches a “navigation map” for long conversations to the right side of the session: dotted timeline, full question list, in-session and cross-session search, bookmarks, and deep links—ready to use after installation. If you frequently search for specific rounds in Harness, try installing it with the commands above.
- Catalog page: skillhub.cn/plugins/SnowCrescenter-tech/dsh-milestone
- Source code and documentation: github.com/SnowCrescenter-tech/dsh-milestone