前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的架构,通过插件系统扩展能力。在长对话中,Markdown 标题散布在大量回合中,快速定位特定章节或跳转会话变得困难。dsh-quick-toc 插件提取 AI 回复中的 Markdown 标题(H1–H6),生成可导航的大纲面板,按对话回合分组、覆盖整段会话,支持搜索、高亮与平滑跳转。
核心功能¶
按回合分组
每条用户消息及其后续 AI 回复为一组。组头显示回合时间与首行预览,点击组头跳转到该回合模型回答的开头。
覆盖整段会话
未加载进对话窗口的回合也在列表里,显示「未加载」标记与预览。点击该条目会将对应的回合加载进窗口并跳转过去。
失败回合报错
对于请求超时或上游报错等没有回复的回合,面板会显示 请求失败 与报错原文,点击可跳转到对话中的报错位置。
中英双语界面
界面语言可设为跟随宿主、中文或 English。中文时间戳用 昨天 / 前天,英文时间戳用 yesterday 或 YY-MM-DD HH:MM。
插件配置卡片
在「设置 → 插件 → 插件配置」中展开「对话大纲」卡片。可调整语言、默认停靠边缘、显示的标题层级、收起把手的位置、模糊搜索、悬停预览与诊断开关。改过的字段标「已自定义」并可单独重置。
标题行副标题
每行标题下方显示该节正文的第一句,同名标题一眼可辨。
悬停预览
鼠标悬停标题行时,显示该节开头、回合时间与层级路径。
标题/全文搜索
提供标题与全文两种搜索范围。结果列表点击定位并高亮,支持 n/N 回车逐处跳转,Esc 关闭。
容错匹配
搜索支持大小写、全角半角、连续空白的自动匹配。开启「模糊」开关可放宽到关键字中间夹字。
对话内高亮
命中的关键字在对话中高亮,当前命中的条目单独标亮。
组头吸顶
滚动大纲时,当前回合的组头固定在面板顶部。
层级筛选
标题栏的圆形层级按钮弹出 H1–H6 开关,可任意组合显示。
阅读位置自动跟随
滚动对话时,正在阅读的回合会以蓝框标出,大纲自动跟随。
平滑跳转
点击标题跳转至对话中该标题的位置。滚动动画交给浏览器,若浏览器直接执行瞬移,插件会自己逐帧绘制。
回到底部按钮
列表右下角提供浮动按钮,点击一步回到最新条目。不在底部时显示,到底后消失。
可停靠、可缩放
拖动顶部横条移动面板,点击 ◀ / ▶ 切换左右停靠。拖动边缘调整宽高(最窄 120px)。面板内容支持 50%–200% 的缩放(滑块按 5% 一档),面板本身尺寸不变。
分页加载
默认显示最近的若干组,向上滚动既展开索引也加载更早的对话。
边界提示
滚动到最早或最新再继续滚动时,面板底部会短暂提示。
Markdown 感知
标题中的行内标记会被剥离。围栏代码块里的 # 行不算标题。
深色/浅色主题适配
面板自动适配深色/浅色主题,仅在对话视图显示。
安装与启用¶
通过 DSH CLI 安装:
dsh plugin --profile web add dsh-quick-toc
安装后重启 DSH 并打开 Web UI。面板默认收起,点击对话区边缘的把手即可展开。
使用示例¶
- 跳转:点击大纲标题或组头跳转至对应位置。带「未加载」标记的条目会先加载回合再跳转。失败回合点击报错行跳到对应位置。
- 搜索:放大镜打开搜索框,输入后点结果定位并高亮,回车逐处跳,Esc 关闭。
- 筛选:点击标题栏的圆形层级按钮弹出 H1–H6 开关,选择显示的层级。
- 调整面板:拖动面板边缘调整大小或切换左右停靠。
- 加载历史:在大纲中向上滚动,既展开索引也加载更早的对话。
- 回到最新:翻远了之后,点击右下角浮动按钮回到最新一条。
- 调整设置:在设置中展开「对话大纲」卡片调整参数。
注意事项¶
- DSH 版本要求:插件要求 DSH 版本 >= 0.1.5-rc.1。
- 宿主依赖:依赖宿主的
turnOutline投影与会话跳转加载器。 - 兼容性降级:
- 若宿主缺少
turnOutline投影,仅显示已加载回合。 - 若宿主缺少跳转加载器,未加载条目仅展示不跳转。
- 若宿主缺少
- 诊断日志:面板挂载时默认不打印日志,需在设置中开启「在控制台打印诊断日志」。
- 主题生效范围:主题仅对对话视图生效。
总结¶
dsh-quick-toc 为 DSH 用户提供了从杂乱对话中提取结构化导航的能力,解决了长会话中的定位痛点。通过安装与上述配置,开发者可以快速在长对话中找到所需内容。更多细节与源码可参考 GitHub 仓库 或 社区目录。