# dsh-user-message-timeline

在对话列内侧,为每一条用户消息点亮一颗药丸

npm downloads CI Stars License

DSH topic

DSH User Message Timeline — 对话内悬浮药丸导轨,悬停预览、拖拽跳转、分页加载
轻量时间线,悬停即预览、点击即跳转,视口可滚动,左右贴边一键切换

中文 · English

--- ## 演示 | 浅色 | 深色 | |---|---| | ![浅色截图](docs/screenshot-light.png) | ![深色截图](docs/screenshot-dark.png) | | 浅色完整链路 | 深色完整链路 | |---|---| | ![浅色](docs/light.gif) | ![深色](docs/dark.gif) | | 悬停漏斗放大 → 气泡 240px 预览 → 点击跳转 → 拖拽 Scrub HUD | 同左,深色墨玉玻璃 | | 设置开关与左右切换 | |---| | ![设置](docs/settings.gif) | | 开关关闭隐藏 · 左右贴边(右侧仅适配 dsh-better-sidebar) | > 动图为 15fps / 128 色压缩预览,完整演示:[浅色](https://www.bilibili.com/video/BV1FR896cEwY?t=9.0) · [深色](https://www.bilibili.com/video/BV1zR896FEY8?t=2.1)(或直接看 `docs/` 下原片)。 ## 功能 | 功能 | 说明 | |---|---| | 药丸漏斗 | 常态 `12×4`,距 hover/active 分 5 档 `36→26→20→16→12` 放大,`gap 10px` | | sticky 预览 | 悬停 150ms/连续 60ms 弹出,墨玉玻璃 `240×48~108`,`clamp 6 行`,可复制 | | 拖拽 scrub | `setPointerCapture + elementFromPoint`,Scrub HUD「第X/N轮·预览首行」跟手,松手 smooth 收尾 | | 分页头丸加载 | 顶部 `is-older` 空心脉冲,点击循环 `加载更多` 20 次,`HUD/tooltip · 还有更早` | | 视口可滚动 | ≤16 颗一屏精致,>16 颗导轨内 `max-height 386px` 可滚,`mask` 淡化 | | 丝滑体验 | 侧边栏推式 120fps `ResizeObserver+rAF`,`prefers-reduced-motion` 适配 | | 偏好设置 | 设置 → 插件 → 插件配置 卡片:开关与左右位置,深浅主题自适应(白底黑点/黑底灰点) | ## 安装 **前置**:已装好 DSH(`dsh web` 能正常运行),Node.js ≥ 20。 **支持的 DSH 版本**: DSH ```sh dsh plugin --profile web add dsh-user-message-timeline ``` 装完**硬刷新浏览器**(`Cmd/Ctrl+Shift+R`)即可看到导轨(DSH 对 client 改动热加载,无需重启)。 **方式二:让 DSH 自己装**——把下面这段提示词发给任意一个 DSH 会话: ```text 帮我安装 dsh-user-message-timeline 插件(对话列悬浮药丸导轨),步骤: 1. 执行 dsh plugin --profile web add dsh-user-message-timeline 2. 完成后提醒我硬刷新浏览器(Cmd/Ctrl+Shift+R) ```
更新 ```sh dsh plugin --profile web add dsh-user-message-timeline ``` 改完**硬刷新浏览器**即可。
常见问题 | 现象 | 原因与解决 | |---|---| | 报 `minimum release age` | 装的版本发布不足 24 小时,等 24h 或在 `~/.dsh/profiles/web/pnpm-workspace.yaml` 加白名单 | | 报 `file: 旧代码` | 同版本 `pnpm file:` 缓存,`dsh plugin --profile web remove dsh-user-message-timeline && dsh plugin --profile web add file:~/dsh-user-message-timeline` | | 调试 | `localStorage.setItem('umtl:debug','1')` 后看控制台 `[umtl]` 日志 |
## 更新日志 见 [CHANGELOG.md](CHANGELOG.md) 与 [Releases](https://github.com/huang-chunc/dsh-user-message-timeline/releases)。 ## 致谢与 License MIT © huang-chunc,见 [LICENSE](LICENSE)。