聊天区左侧的消息指针导轨:每条用户消息一个横条,点击滚动定位,悬停显示预览气泡。
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.
安装
dsh plugin --profile web add github:kongdexu/dsh-nav-pointerGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
目录
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(安全等待期),是新发布的包触发的策略,可一次性放行: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: fixed且width:240px,不受导轨 36px 窄列影响。
更多实现细节见 docs/DEVELOPMENT.md,变更记录见 CHANGELOG.md。
License
MIT
原始 README: https://github.com/kongdexu/dsh-nav-pointer/blob/main/README.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。