dsh-milestone:DeepSeek Harness 的会话里程碑导航条

snowcrescenter-tech/dsh-milestone

会话与消息已验证
收录时间 2026-08-20
页面最后更新 2026-08-20

DSH plugin 会话里程碑导航条,像 Git 提交图一眼定位每条提问,悬停看元数据,点击即跳转。

在 DeepSeek Harness 会话右侧挂一条圆点时间线,像 Git 提交图一样定位每次提问,悬停看元数据,点击即跳转。

install
dsh plugin --profile web add github:snowcrescenter-tech/dsh-milestone
分类
会话与消息
平台
DSH-Plugin
作者
snowcrescenter-tech
分发方式
插件

dsh-milestone 核心特性

一键跳转任意提问悬停查看耗时与TTFT搜索过滤与高亮书签收藏与fork键盘导航与深链接

dsh-milestone 仓库信息

snowcrescenter-tech
发布者
snowcrescenter-tech
仓库
snowcrescenter-tech/dsh-milestone
17
Star
1
Fork
0
Watch
2
开放 Issue
语言TypeScript
许可证MIT License
官网
仓库最近更新2026-08-14 11:57:35
仓库创建时间2026-08-14 01:04:46
主题
deepseekdeepseek-harnessdsh-pluginmilestonenavigation
默认分支main

dsh-milestone 仓库简介

dsh-milestone 是 DeepSeek Harness(DSH)的会话里程碑导航插件(DSH plugin),由 SnowCrescenter-tech 维护,采用 MIT 协议,最近更新于 2026-08。它解决长对话中难以定位历史提问的痛点:在会话右侧挂一条圆点时间线,像 Git 提交图一样,每个圆点对应一条提问,悬停可查看元数据,点击即可跳转。核心能力包括:站内搜索(匹配完整消息内容)、当前位置高亮、加载更早历史、收藏书签、键盘导航、状态徽章(出错/上限/重试/运行中)、固定间距、蓝色渐变、滚轮滑动、丰富悬停信息(时间/轮次/耗时/TTFT/tokens 每秒)、模型与用量展示、turn 分组折叠、复制与 fork、中英双语、聚焦模式、全部提问列表、深链接(#msg= 锚点)、跨会话搜索,且零侵入(通过官方 slot 机制挂载)。

dsh-milestone 这个 DSH plugin 支持哪些核心特性?

  • 一键定位:点击任意圆点平滑滚动到对应消息,无需手动翻页。
  • 站内搜索:搜索框过滤圆点,匹配完整消息内容,实时显示命中数 N/M,回车跳转下一个匹配,Esc 清空。
  • 当前位置高亮:滚动时离视口最近的提问亮起白环。
  • 加载更早:顶部「···」按钮加载更早历史,并显示已加载条数。
  • 收藏书签:悬停圆点可点星收藏,刷新后保留,顶部「★」只看收藏。
  • 键盘导航:↑↓ 移动、回车跳转、Home/End 首尾,全程免鼠标。
  • 状态徽章:出错红环、达到上限黄环、重试橙环、运行中/等待输入蓝/黄脉冲。
  • 固定间距:圆点等距排列,不随对话长度变形。
  • 蓝色渐变:最新最深、最早最浅,像 Git 提交图。
  • 滚轮滑动:长会话圆点超出可视区时,滚轮滑动选点。
  • 丰富悬停:预览、相对时间、第 N 轮、用时、结束原因、TTFT、tokens/秒。
  • 模型与用量:悬停显示模型、输入/输出 token 数。
  • turn 分组折叠:按轮次分组,长轮次可折叠。
  • 复制与 fork:一键复制提问全文或从此处 fork 分支会话。
  • 中英双语:跟随 harness 界面语言自动切换。
  • 聚焦模式:淡化 AI 思考区块,悬停或展开时恢复。
  • 全部提问列表:顶部展开面板,一次看全所有提问。
  • 深链接:跳转时 URL 带 #msg= 锚点,刷新或分享后直接回到同一条消息。
  • 跨会话搜索:搜索所有会话的消息内容,点击结果直接打开对应会话。

dsh-milestone 怎么安装?

安装命令如下(推荐从 npm 安装,或从 GitHub 源码安装):

bash
dsh plugin --profile web add github:snowcrescenter-tech/dsh-milestone

安装后启动 Web UI(要求 Node.js >= 24):

bash
npx @deepseek-ai/dsh web

打开一个至少 2 条提问的多轮对话,会话视图右侧即出现里程碑条。

dsh-milestone 的架构和数据源是怎样的?

它是双半边浏览器插件:空 node half + shell.overlay slot 挂载的 client half。注入点为 shell.overlay(全框架浮动层,附加式、点击穿透),数据源包括 chat.orderchat.nodes(user 消息及错误/上限/重试节点)、chat.timeline(turn 元数据)、hasMore/loadingOlder(分页)、running/pending(徽章)、loadOlder(inject face)。书签持久化通过 harness store.persist(每会话 localStorage,key dsh-milestone.bookmarks.<sessionId>),跳转使用 DOM 锚点 data-chat-anchor-keyscrollIntoView。搜索过滤、位置计算、圆点状态等逻辑在 rail-logic.ts 纯函数中,并有单测覆盖。

dsh-milestone 有哪些已知限制?

  • 搜索范围仅限当前已加载的消息窗口(初始 50 条,需先加载更早历史才能搜到)。
  • TTFT / tokens/秒依赖 turn 位置数据,窗口外或未完成的 turn 不显示。
  • 徽章的瞬态状态只点亮最新一条可见提问。
  • 书签按会话隔离,不跨会话共享。
  • 模型 / token 用量依赖 assistant 节点元数据,缺失时自动隐藏。
  • fork 不会自动打开子会话。
  • 深链接目标早于已加载窗口时会先加载更早历史,极端深的历史可能定位失败。
  • 跨会话搜索依赖 harness 索引,仅返回片段(≤240 字符)、最多 20 条结果。
  • 聚焦模式只影响当前会话视图的思考区块。
  • 尚无全局快捷键聚焦里程碑条。

查看更多 DSH 插件,访问 dsh-plugin.org

DSH-Plugin 常见问题