前言¶
在使用 DeepSeek Harness Web GUI 处理长对话或复杂 Agent 会话时,用户通常需要频繁上下滚动以定位关键信息。传统滚动条只能表示页面位置,无法告知用户每一段内容的语义。
dsh-sm-context-piano 针对此问题,在聊天正文左侧提供一组紧凑的横线琴键,将长对话压缩为可预览、可定位的语义节点。用户可以沿琴键快速浏览对话结构,悬停查看摘要,点击或使用键盘跳转到目标段落。
插件简介¶
该插件由维护者 hjj345 开发,面向 DeepSeek Harness Web profile,旨在提升多任务、多会话场景下的工作效率。
核心功能¶
- Codex 式紧凑琴键:默认使用 2px 粗细、12px 中心间距和 20 根可见琴键,保持集中排列。
- 纯语义节点:只显示用户消息和模型可见文本输出,完全过滤 tool、edit、read、reasoning、command、partial 等非输出内容。
- 连续输出合并:相邻且未被非输出内容打断的模型文本合并为一根琴键。
- 固定窗口浏览:节点数量超过上限时,以当前阅读位置为中心显示固定数量,选择顶部或底部琴键即可继续浏览。
- 安全文本预览:悬停卡片展示标题和正文摘要,使用
textContent写入,不执行会话内容中的 HTML。 - 快速定位:支持点击琴键或按下 Enter/Space 平滑滚动到目标消息起始位置。
- 三语设置页:支持简体中文、English、繁體中文,默认简体中文。
- 键盘与辅助技术支持:支持完整键盘选择、跳转和关闭预览,琴键轨道使用导航角色和无障碍名称。
- 完整卸载:卸载后移除 DOM、样式、监听器、Observer、定时器和动画帧,不残留页面副作用。
安装与启用¶
在终端执行以下命令安装插件:
dsh plugin --profile web add @hjj345345/dsh-sm-context-piano
安装后刷新或重新打开 DSH Web GUI,进入设置弹窗,左侧进入“琴键导航”一级设置项即可启用。
典型用法¶
- 预览对话内容:移动鼠标经过琴键轨道,插件会自动选择最近的节点并展开波形,显示段落预览。
- 跳转定位:点击琴键或按下 Enter/Space,页面平滑滚动到目标对话段落。
- 键盘导航:使用 ArrowUp/ArrowDown 在当前可见琴键间移动选择,使用 Home/End 选择当前窗口的第一根或最后一根琴键。
- 阅读同步:滚动聊天正文时,当前阅读位置的琴键会立即加深并加长,固定窗口随阅读位置重新居中。
适用场景与注意¶
该插件适合需要在长对话中快速定位上下文、管理多轮 Agent 交互的用户。
使用前需注意:
- 最低支持版本 DSH 0.1.7-rc.1,兼容 0.2.0-rc.2。
- 仅面向 DeepSeek Harness Web profile。
- 插件不修改会话内容、不裁剪模型上下文、不注入系统提示,也不注册额外 HTTP 接口。
结尾¶
dsh-sm-context-piano 专注于对话结构的可视化与导航,通过语义节点压缩和预览功能,帮助用户在长对话中快速找回上下文。更多细节与源码可访问 GitHub 仓库。