🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

消息指针导轨 kongdexu/dsh-nav-pointer

DeepSeek Harnessv0.4.0
kongdexu65 天前有提交已提供中文文档扫描:未发现敏感能力

在聊天左侧标记每条提问,点击跳转并悬停预览

30.4/100
综合分
3
GitHub 星标
164
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-nav-pointer
npm 源 · dsh-nav-pointer 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
数据截至 2026/10/28·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 65 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-nav-pointer @ 0.4.0
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/6 14:18:07

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-settings@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 左侧标记每条提问
  • 点击跳转
  • 悬停预览
v0.4.02026-09-01
· 变更内容 · dsh 0.1.2-alpha.2 ABI 适配 · 宿主侧不再从 @deepseek-ai/dsh-settings 导入已移除的导出:installSettingsSection / settingsNamespace 这两个 API 在 0.1.2-alpha.2 中已不存在。dsh-nav-pointer 的设置命名空间现在改由一个可选的 ctx.inject(['settings'], …) 消费块注册,调用 ctx.settings.installSection(),语义不变(组合入口按 base 分层,没有挂载设置服务商时回退)。 · dsh.client.inject 现在声明 @deepseek-ai/dsh-client-ui-renderer(提供 ctx.slots)和 @deepseek-ai/dsh-client-ui-settings(提供 ctx.settingsScope),不再依赖已退役的 @deepseek-ai/dsh-client-runtime 包和仅构建期使用的 @deepseek-ai/dsh-client-ui-slots。 · peer/dev 依赖升到 0.1.2-alpha.2 线(@deepseek-ai/dsh-settings ^0.1.2-alpha.2、@deepseek-ai/schemastery ^3.18.2、@deepseek-ai/cordis ^4.0.2)。 · 说明 · 运行时客户端契约在 0.1.2-alpha.2 中确认未变:ctx.slots(inject/register,shell.overlay + settings.section 列表槽位)、ctx.settingsScope.bind() 和 ctx.effect() 都还在,签名兼容,所以 src/client.ts 无需改动代码。 完整变更日志:
v0.3.12026-08-27
· 已修复 · 窄布局下指针轨道不再遮挡消息内容。聊天栏左边缘侵入轨道固定的左侧区域时,轨道自动隐藏,Alt+↑ / Alt+↓ 键盘跳转照常可用(用户行与当前索引仍被跟踪)。正常宽度下轨道几何与悬停、点击、拖动行为不变。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-nav-pointer DSH(DeepSeek Harness)Web 客户端插件:在聊天界面左侧添加一条消息指针导轨,每条用户消息对应一个短横条标记,点击可快速跳转到对应消息位置,鼠标悬停显示消息预览气泡。 一个 DSH Web 客户端插件,在聊天区域左侧添加一条垂直的消息指针导轨。每条用户消息都有一个可点击的短横条标记,点击可滚动到该消息;悬停时显示预览气泡。 功能 Features - 📍 消息指针导轨:聊天区域左侧垂直排列的短横条,每个用户消息对应一个 - 🎯 点击跳转:点击横条平滑滚动到对应的用户消息 - 🔵 当前位置高亮:当前视口所在消息的横条自动高亮为蓝色 - 💬 悬停预览气泡:鼠标悬停横条弹出消息预览气泡(毛玻璃背景、箭头指向、圆角) - 🖱️ 拖拽快速滚动(Scrub):按住横条上下拖动,像滚动条一样快速浏览对话;轻点(不拖动)仍精确跳转到对应消息 - ⌨️ 键盘快捷键: - Alt+↑ / Alt+↓ 在用户消息间上下跳转 - Alt+Shift+↑ / Alt+Shift+↓ 跳到第一条/最后一条消息 - ⚙️ 设置面板:设置 → 消息指针 页面可调滚动时长、导轨/气泡/键盘开关、标记压缩,改动即时生效并持久化 - 📐 实时位置跟随:侧栏开合、窗口缩放、滚动时导轨位置逐帧跟随
展开完整文档(README 剩余 1 节)
dsh-nav-pointer

DSH(DeepSeek Harness)Web 客户端插件:在聊天界面左侧添加一条消息指针导轨,每条用户消息对应一个短横条标记,点击可快速跳转到对应消息位置,鼠标悬停显示消息预览气泡。

一个 DSH Web 客户端插件,在聊天区域左侧添加一条垂直的消息指针导轨。每条用户消息都有一个可点击的短横条标记,点击可滚动到该消息;悬停时显示预览气泡。

功能 Features

- 📍 消息指针导轨:聊天区域左侧垂直排列的短横条,每个用户消息对应一个
- 🎯 点击跳转:点击横条平滑滚动到对应的用户消息
- 🔵 当前位置高亮:当前视口所在消息的横条自动高亮为蓝色
- 💬 悬停预览气泡:鼠标悬停横条弹出消息预览气泡(毛玻璃背景、箭头指向、圆角)
- 🖱️ 拖拽快速滚动(Scrub):按住横条上下拖动,像滚动条一样快速浏览对话;轻点(不拖动)仍精确跳转到对应消息
- ⌨️ 键盘快捷键:
- Alt+↑ / Alt+↓ 在用户消息间上下跳转
- Alt+Shift+↑ / Alt+Shift+↓ 跳到第一条/最后一条消息
- ⚙️ 设置面板:设置 → 消息指针 页面可调滚动时长、导轨/气泡/键盘开关、标记压缩,改动即时生效并持久化
- 📐 实时位置跟随:侧栏开合、窗口缩放、滚动时导轨位置逐帧跟随
- 🌓 深浅模式自适应:所有颜色使用 DSH 主题 token,自动适配深色/浅色主题

截图 Screenshots

安装 Install

通过 dshmarket(推荐)

在市场里搜索 dsh-nav-pointer 一键安装。与其他插件一致,多数情况刷新页面即生效。

命令行安装(官方插件管理)

dsh plugin --profile web add dsh-nav-pointer

该命令会安装到 ~/.dsh/profiles/web,并因为本包声明了 dsh.bundle.patch,自动把 dsh-nav-pointer 追加进 dsh.profile.bundles。重启 dsh web 生效。

若 pnpm ≥11 报 minimumReleaseAge(安全等待期),是新发布的包触发的策略,可一次性放行:

dsh plugin --profile web add dsh-nav-pointer --config.minimumReleaseAge=0

开发模式(本地 link)

git clone https://github.com/kongdexu/dsh-nav-pointer
cd ~/.dsh/profiles/web
dsh plugin --profile web add link:/path/to/dsh-nav-pointer

用 --config.minimumReleaseAge=0 同理。

文件结构 Layout

src/
core.ts # 纯逻辑:CSS/常量/几何压缩/高亮推导/预览裁剪/行收集(无 React,可单测) config.ts # 共享配置类型与默认值(host schema 与 client scope 共用) client.ts # Client 端入口,挂载 shell.overlay + settings.section 槽位 index.ts # Host 端入口,注册 schemastery 设置命名空间(ctx.settings.installSection) types/… # 声明文件,构建时拷入 lib/types lib/ # esbuild 构建产物(client.js / index.js / types),发布与加载用 build.mjs # esbuild 构建(client→iife+模块加载包装,host→esm,设置包 external) tsconfig.json # tsc 类型检查 vitest.config.ts # vitest(jsdom 行为测试) test/ *.test.ts # vitest 行为测试 smoke.mjs # 构建产物加载契约(无浏览器) cordis.patch.yml # Cordis profile patch,把插件插入 bundle 树 package.json # 包元信息,含 dsh.bundle / dsh.client / peerDependencies 字段

实现说明 Implementation

- 挂载槽位:shell.overlay(frame-wide 浮层,list 槽位,不替换任何内置 UI)
- 滚动容器:[data-conversation-scroll](DSH 对话区域公开约定的稳定属性)
- 用户消息行:[data-chat-flow-kind="user"]
- 定位:requestAnimationFrame 循环每帧读取 getBoundingClientRect(),签名变化时重算位置
- 事件:MutationObserver 监听消息列表变化,scroll 事件(capture 阶段)更新气泡位置

配置 Config

所有偏好都在 设置 → 消息指针 页面实时调整并持久化:

| 配置项 | 默认 | 说明 |
| 滚动时长 | 260ms | 点击 / 键盘跳转动画时长(固定时长,范围和 60–2000ms) |
| 显示指针导轨 | 开 | 关闭后不渲染消息指针导轨 |
| 悬停预览气泡 | 开 | 鼠标悬停标记时的消息预览 |
| 键盘跳转 | 开 | Alt+↑/↓ 在用户消息间跳转 |

滚轮滚动、手指触摸、拖拽导轨都会立即打断进行中的跳转动画。当用户消息很多、自然高度超出可用视口时,标记之间的间距会自动压缩到刚好铺满视口(这是固定行为,不可关闭)。

兼容旧用法:仍可通过 window.__DSH_NAV_POINTER_SCROLL_MS__ 覆盖滚动时长(优先级高于设置面板,需在插件加载前设置),但推荐改用设置面板。

验证 Verify

一键跑完整校验(类型检查 → 构建 → 行为测试 → 加载契约):

npm run check

- npm run typecheck:tsc --noEmit 类型检查 src/
- npm run build:esbuild 产出 lib/(client → iife + window.__ModuleLoader__ 包装,host → esm)
- npm test:vitest + jsdom,覆盖导轨压缩几何、高亮推导、预览裁剪、行收集与样式注入
- npm run test:smoke:无浏览器加载构建产物 lib/client.js,用 mock 的 window.__ModuleLoader__ + React + document + settingsScope 断言插件导出 { name, inject: ["slots", "settingsScope"], apply }、apply() 正确注册 shell.overlay 与 settings.section 槽位,且注入的 CSS 符合当前规格

故障排查 Troubleshooting

- 安装时 ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION:本包(或 profile 里其他新发布包)在 pnpm 24h 安全等待期内,用上文一次性放行参数重试一次即可。
- 重启后看不到导轨:确认 dsh.profile.bundles 里含 dsh-nav-pointer,且当前会话存在用户消息(无用户消息时不渲染);清空聊天后重新发送一条再看。
- 气泡竖排/每字一行:不会发生——气泡是 position: fixed 且 width:240px,不受导轨 36px 窄列影响。

更多实现细节见 docs/DEVELOPMENT.md,变更记录见 CHANGELOG.md。

License

MIT
预览分享卡片长什么样 ↓kongdexu/dsh-nav-pointer
分享 · DeepSeek Harness Hub
kongdexu/dsh-nav-pointer

在聊天左侧标记每条提问,点击跳转并悬停预览

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部