dshbase

插件目录 / Developer / dsh-qnav

dsh-qnav

已验证 · 实测可装 lin-nanxing

✓ 持续维护 基于 1 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-17最近推送
跨平台平台

功能简介

DeepSeek Harness会话界面的快速查找跳转,根据会话中用户提问为单位进行跳转,适用于较长的上下文工作,需要快速找到对应的问题和回答的场景. A slim right-edge question-navigation rail for long DSH conversations. Every user question becomes a hoverable tick — click to jump straight to that turn, with current-position highlighting as you scroll. Pure client-side, no server needed, works on any DSH web instance.

✅
我们的评价
可用 — 实测通过,早期项目

DeepSeek Harness会话界面的快速查找跳转,根据会话中用户提问为单位进行跳转,适用于较长的上下文工作,需要快速找到对应的问题和回答的场景. A slim right-edge question-navigation rail for long DSH conversations. Every user question becomes a hoverable tick — click to jump straight to that turn, with current-position highlighting as you scroll. Pure client-side, no server needed, works on any DSH web instance. 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-qnav

English · 中文 · 日本語 · Español · Français


One-liner

A slim right-edge question-navigation rail for long DSH conversations — every real user question gets a hoverable tick; click to jump straight to that turn, current position auto-highlights while scrolling.

Install (three steps)

# 1. Clone from GitHub
git clone https://github.com/lin-nanxing/dsh-qnav.git
cd dsh-qnav

# 2. Build (only if you modify source code)
npm run build

# 3. One-line command to mount into DSH
dsh plugin --profile web add link:.

💡 No npm publish needed!
The link: prefix tells DSH to install from a local path. After cloning, just run step 3 in the project directory.

"Publishing to npm" means uploading your package to the public npm registry so others can simply type dsh plugin --profile web add dsh-qnav. This is optional — it doesn't affect your own usage.

Key Features

  1. Precise extraction — Reads real user questions from DSH conversation DOM nodes using data-chat-flow-kind="user", filtering out steering/pending/context rows; falls back to [class*="userRow"].
  2. Element-reference jumping — Saves each flowItem DOM element reference instead of text-prefix matching; clicks call scrollIntoView() directly. Eliminates dedup bugs, prefix collisions, and @-reference text-node splits.
  3. Auto-filter non-user rows — Excludes uncommitted inputs and system-injected contexts via data-pending-steering and data-chat-flow-kind. No misleading empty ticks.
  4. Proportional layout — Ticks are evenly spaced along the right edge, adapting count as questions accumulate.
  5. Dark-mode support — CSS color-scheme: light dark + @media (prefers-color-scheme: dark) switches highlight color automatically with page theme.
  6. Hover tooltip bubble — Hovering shows "N. " to the left; bubbles anchor left to avoid viewport overflow and measure dimensions before positioning (no flicker).
  7. Current-position highlight — Updates via element rects (getBoundingClientRect().top ≤ 120px) instead of fragile text-tree walks, immune to answer-body quoting interference.
  8. MutationObserver sync — Re-scans & re-renders ticks on content change (500ms debounce); highlight polls every 600ms.
  9. HMR-safe — apply(ctx) returns a disposer that tears down observers, intervals, injected DOM, and stylesheets — no leaks on hot-reload or disable.

Improvements over desktop preload

Dimension Desktop preload-nav.js dsh-question-nav plugin
Runtime Electron shell preload (desktop only) DSH web client (any platform)
Install Requires editing lib/tabs.js & rebuild One-line dsh plugin add link:.
Sandbox Needs sandbox: false Pure client, no sandbox changes
CSS selector [class*="userRow"] data-chat-flow-kind="user" (exact) + fallback
Jump strategy Text-prefix match + "Load older" retry Direct element scrollIntoView
HMR N/A (restart process) ctx.effect + auto-dispose
Platform macOS desktop only Any DSH web (Web / Win / Linux / WSL / remote)

Known limitations

  • Visible-only — Only scrolls to rendered items; questions beyond the pagination boundary ("Load older" cutoff) cannot be jumped to yet.
  • Very long sessions — Tick density increases with 500+ questions; future search panel will help.
  • User questions only — Currently targets user flowItems; assistant answers are not jump targets.

Quick preview

Question navigation demo

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-qnav」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:lin-nanxing/dsh-qnav

Headless(CLI)profile:

dsh plugin --profile headless add github:lin-nanxing/dsh-qnav

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →