DeepSeek Harness 插件

dsh-qnav

DSH web plugin: a slim right-edge question-navigation rail for long conversations — every real user question gets a hoverable tick on the right edge; click to jump straight to that turn, current(英文原文)

跳到安装方式

来源信息

GitHub 仓库
lin-nanxing/dsh-qnav
最近更新
2026年8月17日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/lin-nanxing/dsh-qnav
插件名:dsh-qnav
作者:lin-nanxing

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器7 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

dsh-qnav

<p align="center">

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

</p>

---

一句话定位

为 DSH 长会话注入右侧「提问导航」窄竖条——每条真实用户提问一根悬浮可点击刻度,点击直接跳到该轮提问位置,滚动时当前提问高亮。

安装(三步即可运行)

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

# 2. 构建(如果修改过源码后需要重新 build)
npm run build

# 3. 一行命令挂载到 DSH
dsh plugin --profile web add link:.

> 💡 不需要发 npm! > 上面的 link: 就是告诉 DSH 从本地路径安装。你从仓库 clone 下来之后,直接在项目目录执行第 3 步就行。 > > 「发布 npm」的意思是:把你这个包上传到 npm 注册中心(类似一个公共仓库),这样别人只需敲 dsh plugin --profile web add dsh-qnav 就能安装,不用自己 clone。这一步是可选的,不影响你自己使用。

核心功能

1. 精准提取 —— 利用 DSH 对话 DOM 节点属性 data-chat-flow-kind="user" 直接读取真实用户提问容器,排除 steering / pending / context 等非用户输入行;带 [class*="userRow"] 兜底兼容。 2. 元素引用跳转 —— 不再做文本前缀匹配,而是保存每根 flowItem 元素引用,点击后直接 scrollIntoView 定位目标。彻底解决相同提问被去重、共享前缀跳错位置、@引用拆分导致匹配失败等 bug。 3. 自动过滤无效行 —— 通过 data-pending-steeringdata-chat-flow-kind 剔除未提交的输入行和系统注入上下文,不会生成误导性空占位 tick。 4. 比例布局横条 —— 每根 tick 按索引均匀分布在右侧边缘,间距随提问数量自适应计算。 5. 深色模式支持 —— CSS color-scheme: light dark + @media (prefers-color-scheme: dark) 自动跟随页面主题切换高亮色。 6. 悬浮提示气泡 —— Hover tick 时在左侧显示「N. <提问全文>」;气泡向左展开避免溢出视口右缘,且先隐藏量完尺寸再定位(防闪烁)。 7. 当前提问高亮 —— 基于元素位置实时更新(getBoundingClientRect().top ≤ 120px),比原文本 TreeWalker 更可靠,不受回答正文引用干扰。 8. MutationObserver 实时同步 —— 会话 DOM 变化后 500ms 防抖重新扫描并渲染横条;当前高亮每 600ms 轮询更新。 9. HMR / 卸载安全 —— apply(ctx) 返回 disposer,清理 MutationObserver + setInterval + 注入 DOM + 样式表,热替换或插件禁用时无残留。

与桌面版 preload 的改进

维度桌面版 preload-nav.jsdsh-question-nav 插件
运行环境Electron shell preload(仅桌面壳可用)DSH web client 半(任意平台通用)
安装方式必须修改 lib/tabs.js 重新编译dsh plugin add link:. 一行命令挂载
沙箱要求需关闭 sandbox (sandbox: false)纯 client,无需修改渲染沙箱
CSS 选择器[class*="userRow"]data-chat-flow-kind="user"(精确)+ 兜底
跳转策略文本前缀匹配 + "加载更早"重试 12 次元素引用直接 scrollIntoView
HMR 安全不适用(Electron 进程重启)ctx.effect + disposer 自动清理
多平台仅 macOS 桌面壳任意 DSH web 实例(Web / Windows / Linux / WSL / 远程)

已知局限

  • 仅可见内容 —— 只展示已滚入视口的提问(「加载更早」之前的尚未渲染到 DOM);无法跳转到尚未加载的历史问题。
  • 超长会话性能 —— 500+ 提问时横条间距密集;后续可增加搜索面板。
  • 仅限用户提问 —— 目前只定位 user flowItem,不支持跳转到助手回答。

快速预览

![提问导航演示](public/demo.gif)