dsh-toc-tail:DeepSeek Harness Web 界面的会话时间轴与一键回溯

前言

长会话在 web 界面里滚过几屏之后,两个麻烦会变得明显:回头找某次请求只能靠滚动;想退回某次请求重新来过,被撤回消息之后的内容怎么处理也不直观。dsh-toc-tail 处理的就是这两件事:它把每条用户请求压缩为会话列右侧纵向时间轴上的一条横线,目录面板支持一键回溯到任意用户请求,回溯时可选 LLM 总结与代码状态恢复。

DSH 的理念是「一切皆插件」,Web 界面的扩展也走同一套插件机制。下面介绍 dsh-toc-tail 的定位、功能与用法。

这是什么

dsh-toc-tail 是 DeepSeek Harness Web 界面的对话目录尾栏 + 回溯插件,由 PaRr0tBoY 维护,截至本文版本为 0.1.0,许可证 MIT,在插件分类中属于客户端类。

它是一个 Web 平台插件,package.json 中 dsh.client.platform 声明为 "web",运行时注入以下客户端模块:

"dsh": {
  "client": {
    "platform": "web",
    "inject": [
      "@deepseek-ai/dsh-client-runtime",
      "@deepseek-ai/dsh-client-locale",
      "@deepseek-ai/dsh-client-ui-conversation"
    ]
  }
}

peer dependencies 为 @deepseek-ai 系列,包括 cordis、dsh-agent、dsh-client-*、dsh-commands、dsh-llm、dsh-session 等。

核心功能

tick 时间轴

插件在会话列右边缘放一条纵向 rail,每条用户请求对应其中一个 tick(横线)。tick 宽度与消息长度成正比,最长的那条请求决定比例尺,其余按长度比例缩放,所以不看正文也能从 rail 上看出各请求的长短分布。

rail 有一个出现条件:会话至少有三条用户请求。出现后相对视口垂直居中,贴着会话列右边缘,保留屏幕原本的窄边距。

目录面板

悬停或聚焦某个 tick,会展开一个圆角目录面板,列出每个用户请求及其摘要。面板里每一行有两个交互点:点击行的摘要区域,跳转到对应消息;点击行内的回溯按钮,打开确认菜单。

回溯

回溯的含义是把所选用户请求撤回,如同它从未发出:消息文本回填到输入框,其后直到前一个请求的助手回复之间的对话全部折叠。确认菜单提供三个选项:

1、不选任何选项:仅折叠到所选位置;
2、Summarize:由模型总结被折叠区间,总结报告替换原区间作为上下文;
3、Restore code:把工作区文件恢复到该请求时的快照,快照在每次用户请求前自动拍摄。

折叠后的对话从 web 视图消失,原位置显示一张 fold marker 卡片,卡片上带摘要(或折叠提示)与被折叠的消息数。被回溯的请求会失去自己的 tick,对应的 flow 行也被隐藏。

高亮与主题

  • 段落作用域高亮:视口内的请求对应段落保持高亮;助手回复会保持其请求的 tick 高亮,直到下一个请求滚入视野。
  • 主题自动跟随:rail、目录、回溯卡片使用 Harness 投影的 --dsw-* 主题 token,明暗切换时整个插件即时重着色。

安装与更新

从 npm 安装:

dsh plugin --profile web add dsh-toc-tail

或者从 GitHub release tarball 安装:

dsh plugin --profile web add https://github.com/PaRr0tBoY/dsh-toc-tail/archive/refs/tags/v0.1.0.tar.gz

安装后重启 dsh web,Host 与浏览器客户端才会加载新版本。更新使用与安装相同的命令,重启步骤相同。

本地开发

在源码目录下先装依赖,再跑校验:

pnpm install
pnpm run verify

verify 依次执行 typecheck、build、test。lib/ 下的构建产物已提交进仓库,profile 安装因此不依赖包构建脚本;开发环境需要 Harness checkout 通过 peer dependencies 提供。

适用场景与注意

适合的场景:

  • 长会话需要在多次请求之间快速定位、跳转;
  • 想撤回某次请求重试,并希望用 Summarize 把折叠内容压成上下文,或用 Restore code 回到当时的代码状态。

使用前注意:

1、rail 在会话累计三条用户请求后才会出现,短会话看不到时间轴;
2、插件以当前 dsh 进程权限运行,安装前应检查源码与许可证(MIT);
3、仓库地址存在不一致:README 抓取来源为 PaRr0tBoY/dsh-toc-and-rewind,安装 tarball 指向 PaRr0tBoY/dsh-toc-tail 仓库,真实仓库地址无法完全确认。查源码时建议对照文末链接与安装命令中的 tarball 地址。

小结

dsh-toc-tail 用一条纵向 tick 时间轴解决了 web 界面长会话的两个老问题:导航和回溯。每条用户请求一条横线,悬停出目录,回溯时还可以叠加模型总结与代码快照恢复。经过上面的步骤安装并重启 dsh web 即可使用。

链接:

  • 社区目录页:https://www.skillhub.cn/plugins/PaRr0tBoY/dsh-toc-and-rewind
  • GitHub:https://github.com/PaRr0tBoY/dsh-toc-and-rewind

社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

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

小夜