前言¶
在 DeepSeek Harness(DSH)里跑长会话时,轮次一多,很难快速回到「某天某刻」的那一轮。DSH 自带对话区右缘的 turn rail 能列出轮次、预览并跳转,但投影里没有时间字段,窄屏(可用宽度 ≤ 900 px)时 rail 还会整块不渲染——例如你打开右侧 Sidebar 时,正好就是这类布局。
dsh-turn-clock 是社区维护的客户端插件,在官方右侧 Sidebar 里增加一个「时间目录」页:按日历日分组,每行显示该轮开始的 HH:mm 与 prompt 开头,点击即可加载并滚动到对应轮次。下面介绍它的定位、安装方式与使用时的边界。
这是什么¶
- 名称:dsh-turn-clock(npm 包名同)
- 维护者:saltedfish-T
- 分类:客户端(web profile)
- 版本(package.json):0.1.0,许可证 MIT
- 一句话:Right-sidebar tab that lists every turn of a session with its date and start time, and jumps the conversation to the turn you pick.
与内置 turn rail、dsh-conversation-timeline、dsh-turn-outline、dsh-timeline 等同属「轮次导航」方向;本插件的差异可以概括为:在官方 right Sidebar 里提供带日期的轮次大纲,不依赖 dsh-better-sidebar 等 peer 插件。
核心功能¶
资料中明确列出的能力如下。
| 能力 | 说明 |
|---|---|
| 带日期的目录 | 每轮一行,按类似「11月2日 周日」的日标题分组,列表内较新的轮次在下方 |
| 点击跳转 | 通过 turn/start 的 seq 用 loadThrough 加载历史,再将 transcript 行滚入视口 |
| 全日志覆盖 | 时间来自 Host 侧对整段 session log 的 fold,浏览器未加载过的轮次仍会出现在列表中 |
| 键盘 | 行可聚焦,Enter / Space 触发跳转 |
| 文案 | 中英文随应用 locale |
| 无额外 peer | 使用官方右侧 Sidebar 插槽,无需 dsh-better-sidebar |
Host 侧注册 turnClock 投影:turn/start 记录 turn、时间与 seq;该轮第一条人类 user/message(排除 injected context 等)填入约 120 字符预览。Client 侧注册 Sidebar 标签页与指南卡片,用 useProjection('turnClock') 读状态并完成跳转。
安装与启用¶
插件以当前 DSH 进程的权限运行;安装前建议浏览 GitHub 源码与 LICENSE,确认可接受第三方代码接入 web 客户端。
官方 README 给出的安装命令为:
dsh plugin --profile web add github:saltedfish-T/dsh-turn-clock
安装后需重启 DSH 或刷新页面。若从本地目录开发安装:
dsh plugin --profile web add file:/path/to/dsh-turn-clock
README 写明在 DSH 0.2.1-rc.5 上构建与测试;实现使用文档化的扩展点,并依赖两项内部约定(见下文「依赖与风险」),后续 DSH 版本可能影响跳转行为。
卸载:
dsh plugin --profile web remove dsh-turn-clock
典型用法¶
- 打开 DSH 右侧 Sidebar。
- 进入 Start(指南 / Guide),找到 Turn timeline(时间目录) 卡片并打开对应标签页。
- 会话中第一轮在列表上方;打开时列表会滚到最新一轮。点击某行跳转到该轮;可用键盘在行间移动并确认跳转。
时间戳对应的是 turn/start 事件(循环在你提交 prompt 之后开始该轮的时刻),不是消息首次渲染到屏幕的时刻。
适用场景与注意¶
适合:需要在 Sidebar 可见、且希望按「日期 + 时刻」浏览长会话、快速定位某一 turn 的 web 端用户;尤其在 transcript 变窄、内置 turn rail 不显示时,作为第二块导航面。
已知限制(来自 README):
- 被 compaction 移除的 turn 无法在 DOM 中找到,列表仍可能保留该行,点击会提示找不到;内置 rail 同样如此。
- 跳转会将目标轮次居中显示,与 Chat 自带 rail 距顶 24 px 的对齐方式不同。
- 当前若在 Trajectory 视图而非 Chat,没有 transcript 行可滚动,面板会说明而不会自动切视图。
- 日标题通过浏览器
Intl.DateTimeFormat,未必总与应用 locale 一致。 - 跳转依赖
data-chat-turn与binding.session.loadThrough(seq);若上游变更,列表与时间仍可用,跳转可能降级并在面板底部显示一行原因。
生态说明:DSH 采用「一切皆插件」的扩展方式;社区目录页(如 skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系。本仓库 GitHub 星标为 0(以目录页线索为准),不代表功能完备度,仅作公开指标。
结尾¶
dsh-turn-clock 把「整段会话、每轮何时开始、点哪一行就去哪一轮」收进官方右侧 Sidebar,补上了内置 turn rail 无时间与窄屏隐藏的两处缺口。需要对比同类插件时,README 中的对照表可直接参考。
- 目录页:https://www.skillhub.cn/plugins/saltedfish-T/dsh-turn-clock
- 源码与文档:https://github.com/saltedfish-T/dsh-turn-clock