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 + afterSeq incremental 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 the GET /api/session-nav/questions endpoint.
  • lib/client.js: Client side, registers the official slot conversation.session.header.utilities for rendering.

Update Methods

# 方式一:CLI 更新
dsh plugin --profile web update dsh-session-nav

# 方式二:重新安装
dsh plugin --profile web add github:tuogusa/dsh-session-nav

Note: dsh plugin is a pnpm pre-forwarder; update re-resolves the package according to the current dependency declaration. When installed via github: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 dsh process 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.

Plugin Directory | GitHub Repository