DeepSeek Harness Hub
← 返回列表

消息刻度轨spirits001/dsh-user-message-rail

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

在窗口左缘生成消息刻度,悬停预览并点击跳转

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/23 · 已提供中文文档

一个 dsh 客户端插件:在窗口左边缘设置一条刻度栏,标记你发送的每条消息,支持悬停预览和跳转到消息。

综合分
28.3
GitHub 分
28.3
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add spirits001/dsh-user-message-rail
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-invariants
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-user-message-rail

DeepSeek Harness 客户端插件:在聊天框左缘(工作区右侧、与窗口顶部标题对齐)竖一条刻度轨,每条刻度对应你发过的一条消息。长对话也能一眼扫清——悬停刻度预览你说过的话,点击跳转到那条消息。

English

特性

- 每条已落定的用户消息(普通消息 + 被导向进行中回合的消息)一个刻度,按会话顺序自上而下排列,整组垂直居中对齐(首末条关于屏幕正中对称)。
- 刻度很细(2px)、很短(约 3mm),线间距比线短(约 2mm);聊天滚动时,视口中心对应的消息那一根刻度变黑高亮——"你看到哪了"一目了然。
- 悬停 / 键盘聚焦:鱼眼变长——悬停那根最长(约 7mm)、相邻递减、更远的保持原长;只有悬停那根变黑,其余保持灰色;旁边弹预览气泡(顶部对齐刻度线、往右留出间距,截断文本 + 图片数)。
- 点击(或 Enter/Space 激活):平滑滚动会话到该消息居中;prefers-reduced-motion 用户直接跳转。
- 刻度条整体在聊天窗口内,刻度线左缘与窗口顶部标题栏对齐(整体右移、弹层同步右移);除刻度与预览气泡外整条 click-through。
- 非聊天视图(如 trajectory)激活时自动隐藏;没发过消息前不显示;移动端(触摸 / 窄屏)打开时自动隐藏。
- 打开会话时自动把历史加载完(未加载完不显示,加载完整体淡入),保证每条消息都出刻度、都能跳转;按屏幕高度限制最多条数,超出只保留最新、不会溢出。

安装

插件已发到 npm。用 dsh 的插件命令把它装进你的 profile(官方流程见 Package and install a plugin):

dsh plugin --profile web add dsh-user-message-rail

dsh plugin 会把包作为依赖装进 profile 目录。因为这是一个 client 插件(声明 dsh.client、不是 dsh.bundle),它会作为普通依赖安装、不会自动激活层;再在 profile 的 cordis.patch.yml 里插一行,把它挂进 Cordis 树(浏览器端才会通过 dsh.client 声明扫描并加载):

- insert:
- id: user-message-rail
name: dsh-user-message-rail

插件只影响浏览器:node 半体为空,client 半体把自身注册进会话编写器链的 conversation.input.overlay 槽位——无需改动产品包。

工作原理

刻度轨通过框架 session kit 订阅会话的聊天快照,取其中的用户/steering 消息按序生成整齐竖梯,整体以视口垂直中心为对称轴、按固定步距向下排列。滚动时读取每条消息行的位置,找出视口中心对应的那条消息并把它的刻度高亮(变色);悬停时对悬停刻度做鱼眼加长(悬停那根最长、邻居递减、更远不变)并变黑,其余保持灰色,预览弹层顶部对齐刻度线并向右侧留出间距。轨道只在聊天框左缘读取布局、并读取滚动位置,其余刻度位置纯由消息数推导。挂载后自动用会话的 loadOlder 把历史全部加载完——加载完成前隐藏、完成后整体淡入;超过屏幕高度的消息按 maxVisibleTicks 只保留最新,保证不超高、尽量多显示。

开发

npm install
npm run typecheck   # src + tests 严格类型检查
npm test            # vitest(组件、装配、几何)
npm run build       # tsc 声明 + tsdown 打包(lib/)

浏览器产物以 dsh web loader 的闭包工厂格式(window.__ModuleLoader__.load({ id, factory }))输出,react / react-dom / cordis 作为模块表导入保留;CSS Modules 由 lightningcss 编译成哈希类名映射,注入为插件自有的样式表。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(spirits001)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群