dsh-turn-clock:在 DSH 右侧栏按日期浏览并跳转会话轮次

前言

在 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

典型用法

  1. 打开 DSH 右侧 Sidebar。
  2. 进入 Start(指南 / Guide),找到 Turn timeline(时间目录) 卡片并打开对应标签页。
  3. 会话中第一轮在列表上方;打开时列表会滚到最新一轮。点击某行跳转到该轮;可用键盘在行间移动并确认跳转。

时间戳对应的是 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜