Introduction¶
DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture. When developing and debugging agent conversations, frequently revisiting historical questions is a common scenario. Manual scrolling or searching is often inefficient. dsh-session-nav provides a floating navigation entry point to quickly jump to historical conversation items.
Core Features¶
Right-Side Floating Button¶
The button is located at the right edge of the conversation text column, features four rounded corners, and displays a semi-transparent effect. It smoothly follows layout animations (detail panel opening/closing, sidebar dragging, window resizing).
Historical Questions List¶
Hovering the mouse over the button opens a list showing all historical questions in the current session (including records folded by compaction, independent of the DSH rendering window).
* The list supports vertical scrolling.
* When opened, the “current question” is automatically scrolled to the center of the list.
* The session name and total number of questions are fixed at the top.
Click Navigation¶
- Questions within the current viewport: Smoothly jump directly.
- Questions outside the current viewport: Automatically load earlier history page by page before jumping (with progress indication and no viewport jumping).
Interaction and Performance¶
- Smooth dismissal: After the mouse leaves, a short delay starts the fade-out animation, avoiding accidental dismissal along the “button → popup” path; moving the mouse away after clicking a question item can still close the panel normally.
- Performance optimization: The Host performs in-memory incremental traversal of live Sessions + a persistent index (
$DSH_HOME/session-nav-questions.) + client-side caching +afterSeqincremental synchronization. On the normal path, there is no disk IO and no full log scanning.
Installation and Enablement¶
Run the following command to install the plugin:
dsh plugin --profile web add github:tuogusa/dsh-session-nav
After installation, configure the following:
1. Follow the prompts to add an allowBuilds entry to pnpm-workspace.yaml (allow the prepare script for git dependencies).
2. Restart DSH.
3. Refresh the browser (Ctrl+Shift+R).
Structure and Updates¶
Code Structure¶
lib/index.js: Host side, provides theGET /api/session-nav/questionsendpoint.lib/client.js: Client side, registers the official slotconversation.session.header.utilitiesfor rendering.
Update Methods¶
# 方式一:CLI 更新
dsh plugin --profile web update dsh-session-nav
# 方式二:重新安装
dsh plugin --profile web add github:tuogusa/dsh-session-nav
Note:
dsh pluginis a pnpm pre-forwarder;updatere-resolves the package according to the current dependency declaration. When installed viagithub:tuogusa/dsh-session-nav, it updates to the latest commit on the repository’s default branch.
Notes¶
- Compatible Profile: Only supports
web(DSH Web GUI). - Check Source Code: The plugin runs with the current
dshprocess permissions. Check the source code and license before installation.
Summary¶
dsh-session-nav implements quick navigation of DSH session history through a right-side floating button and list. It solves the pain point of manually finding historical questions while maintaining performance through incremental indexing and caching mechanisms.