DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Session Nav — DeepSeek Harness 插件(DSH Plugin)
← Plugins
S

@kiligzzz/dsh-session-nav

Session Nav

适用于 DeepSeek Harness Web GUI 的钢琴键式对话内导航栏:每条用户消息对应一个按键,悬停阶梯动画、轮次预览工具提示、活动消息高亮显示,以及点击跳转。官方双端 dsh 插件(主机端 + 客户端),无需修改 dsh 源代码。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:kiligzzz/dsh-session-nav#15d65ff0758c5d72bab225ee39e08bbb2a62b2bb
README兼容性版本

兼容性与来源证明

Session Nav 以 @kiligzzz/dsh-session-nav 发布,当前版本为 0.1.12。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/30

版本

0.1.12stable
2026/8/30
0.1.10stable
2026/8/30
0.1.4
stable
2026/8/22
查看其余 3 个版本收起版本
0.1.3stable
2026/8/22
0.1.1stable
2026/8/22
0.1.0stable
2026/8/20

相关插件

正在加载相关插件…

最新版
0.1.12
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 5
周下载
0
最近提交
2026/8/30
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

README

dsh-session-nav

English | 简体中文

钢琴键风格的会话内导航条 —— 为 DeepSeek Harness Web GUI 的单个会话提供多轮对话导航: 每根键锚定一条用户消息,悬停显示该轮「用户消息 + 模型回复」预览,点击平滑跳转到对应消息。 基于 DSH 官方双面插件机制(host + browser half),不侵入 DSH 源码。

整体效果悬停预览点击跳转
整体效果悬停预览点击跳转
一个 43 轮的会话 —— 每根键对应一个用户问题,紧凑簇在消息区垂直居中。悬停某键显示用户消息(单行)+ 该轮模型回复(最多 3 行)。点击任意键自动翻页历史(与官方「加载更早」同一通道)并精确定位到视口顶部。

截图取自一个真实的 43 轮会话(DSH记忆注入验证优化,浅色主题)。

参考实现:KeLearns/dsh-navigation-bar(视觉规格与交互对齐,代码独立重写)。

功能

  • 会话内导航:一根键 = 一条用户消息(含 agent 运行中发送的 steering 消息),按时间正序; 模型回复不单独占键,并入对应轮次的预览。
  • 全量历史:导航键数据来自 host 端按需读取的完整会话日志(sessionPersistence.readFrom), 而非浏览器已加载的窗口 —— 长会话(上百轮)也能一屏看到全部用户问题; 与实时快照合并时按消息 UUID 去重,不会出现重复键。
  • 视觉规格:键簇固定 10px 键距、2px 键高、6px 最短长、26px 悬停长(≈4.3×), 在消息区内垂直居中;配色浅色 #D2D3D3 / #767779 / #1A1C1F, 深色 #454545 / #A3A3A3 / #FFFFFF。
  • 悬停阶梯:悬停键变长变色,上下相邻 3 级阶梯(20 / 14 / 10px,≈77% / 54% / 38%), 第 4 邻恢复最短,首/尾键悬停时阶梯自然单侧裁剪。
  • 悬停气泡:用户消息单行省略 + 对应模型回复最多 3 行(宽度模型 JS 截断 + -webkit-line-clamp 双保险,超出以 … 省略);气泡与键垂直居中对齐; 顶部带「第 N 轮」轮次徽标(v0.1.8+),长会话定位更直观。
  • 当前位高亮:非悬停时当前查看内容对应的键仅变色(长度不变),随滚动实时联动。
  • 点击跳转:目标消息已在加载窗口内时平滑滚动直达;在窗口外(虚拟列表未加载)时 自动循环调用官方分页接口(与「加载更早」按钮同一通道)拉取历史,直到目标行渲染后 精确定位到视口顶部。
  • 深浅色主题自适应(data-ds-dark-theme + prefers-color-scheme 兜底)。
  • 自动隐藏官方回合导航(v0.1.5+):安装本插件即自动隐藏 DSH 官方「紧凑回合导航」 (右侧竖排「跳转到第 N 轮」按钮),钢琴键导航是它的同位替代,避免双导航并存。
  • 仅对话视图显示(v0.1.5+):钢琴键只在「对话」Tab 渲染,切到轨迹 / Agent 调度 / 记忆系统等视图时自动隐藏,不干扰其他面板。

兼容性

  • 适配 DSH 0.1.2+(v0.1.11+):0.1.2 重构了会话快照结构(session.getSnapshot() 不再包含 navigation 投影),本插件已改用官方 uiConversation 服务的 chat 完整 快照(viewStore.get('chat'))取回复文本,与官方「紧凑回合导航」同源; 历史轮次回复由 host 端从磁盘日志提取,全量轮次均可预览。
  • 0.1.2 之前版本:同样可用(自动回退旧快照路径)。

安装

方式一:从 GitHub 安装(推荐)

dsh plugin --profile web add github:kiligzzz/dsh-session-nav

方式二:本地开发(link 方式)

# 本地开发(link 方式;改 lib/client.js 后刷新页面即生效)
dsh plugin --profile web add link:<本目录>

注意:插件名单在实例启动时加载 —— 新装插件后需重启 dsh web 实例再刷新页面。

结构

文件说明
index.jshost 半端:读取会话全量日志并暴露同源路由 /_dsh/session-nav/questions
lib/client.jsbrowser 半端(手写 bundle,无构建步骤;window.__ModuleLoader__.load)
cordis.patch.ymlbundle patch:把插件行插入 web profile 名单
package.jsondsh.bundle.patch + dsh.client(platform web)声明

数据来源(全部官方 API):

  • ctx.uiConversation.binding(currentId).viewStore.get('chat') → chat 完整快照 (含 navigation,0.1.2+;useSyncExternalStore 实时订阅)
  • ctx.sessions.binding(currentId).session → ConversationSnapshot (0.1.2 前 / 无 uiConversation 时回退)
  • ctx.sessionPersistence.readFrom(sessionId, 0) → 全量会话日志(host 端)
  • DOM 锚点:滚动容器 [data-conversation-scroll],消息行 [data-chat-anchor-key]
  • 分页:session.loadOlder()(与官方「加载更早」按钮同一通道)

性能

事件驱动几何跟踪:scroll capture / resize / 惰性附加的 scrollport ResizeObserver → rAF 合并重算;无常驻 MutationObserver、无定时器。锚点行走 isConnected 校验的缓存, 虚拟滚动回收重建不影响正确性。

开发

环境要求:Node.js >= 18。

pnpm install        # 开发依赖(vitest / eslint / prettier)
pnpm test           # 运行单元测试(31 个用例)
pnpm lint           # eslint 检查
pnpm format         # prettier 格式化

结构说明:

  • 纯函数(文本提取、截断、键身份、集群几何)放在 lib/shared.js,host 与 browser 两端共用同一实现,测试只需覆盖一次。
  • browser 半端是手写 bundle、无构建步骤:改 lib/client.js 刷新页面即可;host 端 (index.js)改动需要重载插件。
  • window.__dssnNavDebug__ 暴露诊断信息(entryCount、fullCount、stats), 便于 CDP 检查。

License

MIT