DeepSeek Harness plugin

dsh-nav-pointer

Vertical message pointer rail on the left edge of the chat: one dash per user message, click to scroll to that message, hover for a preview bubble.

Jump to install

Source facts

Repository
kongdexu/dsh-nav-pointer
Latest update
Aug 20, 2026
Category
UI Enhancements
GitHub stars
0

Install

Start with a prompt that asks an agent to read the source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to read the page and repository first.

Do not install anything yet. Read this DeepSeek Harness plugin and explain what it does, which files, networks, or credentials it can access, and how to install and remove it.

Plugin page: https://deepseekplugins.org/plugins/kongdexu/dsh-nav-pointer
GitHub: https://github.com/kongdexu/dsh-nav-pointer
Plugin: dsh-nav-pointer
Author: kongdexu
Install command: dsh plugin --profile web add github:kongdexu/dsh-nav-pointer

Do not run the install command until I confirm.

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-nav-pointer

> DSH (DeepSeek Harness) Web 客户端插件:在聊天界面左侧添加一条消息指针导轨,每条用户消息对应一个短横条标记,点击可快速跳转到对应消息位置,鼠标悬停显示消息预览气泡。 > > A DSH Web client plugin that adds a vertical message pointer rail to the left of the chat area. Each user message gets a clickable dash marker that scrolls to that message; hover shows a preview bubble.

功能 Features

  • 📍 消息指针导轨:聊天区域左侧垂直排列的短横条,每个用户消息对应一个
  • 🎯 点击跳转:点击横条平滑滚动到对应的用户消息
  • 🔵 当前位置高亮:当前视口所在消息的横条自动高亮为蓝色
  • 💬 悬停预览气泡:鼠标悬停横条弹出消息预览气泡(毛玻璃背景、箭头指向、圆角)
  • 📐 实时位置跟随:侧栏开合、窗口缩放、滚动时导轨位置逐帧跟随
  • 🌓 深浅模式自适应:所有颜色使用 DSH 主题 token,自动适配深色/浅色主题

安装 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(安全等待期),是新发布的包触发的策略,可一次性放行: > > ``bash > 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

lib/
  index.js            # Host 端入口(client-only 插件,host 为空实现)
  client.js           # Client 端入口,挂载 shell.overlay 槽位,渲染指针导轨
  types/
    index.d.ts        # Host 类型
    client/index.d.ts # Client 类型
cordis.patch.yml      # Cordis profile patch,把插件插入 bundle 树
package.json          # 包元信息,含 dsh.bundle / dsh.client 字段

实现说明 Implementation

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

验证 Verify

无浏览器即可跑加载契约冒烟测试:

npm test

它会用 mock 的 window.__ModuleLoader__ + React + document 加载 lib/client.js,断言插件导出 { name, inject: ["slots"], apply }apply() 正确注册 shell.overlay 槽位,且注入的 CSS 符合当前规格。

故障排查 Troubleshooting

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

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

License

MIT