DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-client-ui-timeline

h

dsh-client-ui-timeline

Manifest valid

DSH Web GUI 会话问题导航条:聊天区左缘一问一杠,随滚动高亮当前问题、悬停显示问答预览气泡、点击把该问平滑滚到视口顶(未渲染的更早历史自动翻页加载),无需改动 dsh 本体源码

UI (client)hasBundlePatch

dsh-client-ui-timeline — DSH 会话问题导航条(对标 ZCode TurnNavigator)

给 DSH Web GUI 复刻 ZCode 桌面端的「对话问题导航」:

聊天区左缘一列小横杠——一问一杠(含会话中的 steering 追问),窗口够宽时常驻:

  • 随滚动:当前所在问题的杠高亮拉长(2.6×),相邻两根也按距离渐变拉伸,运行中的最后一问常亮;导航条自动滚动跟随当前杠。
  • 悬停某根杠:右侧弹出该轮问答预览气泡(用户问题 2 行加粗 + 助手回复 3 行,≤2 段、220 字截断;无正文显示「暂无助手正文」,回合运行中显示「助手仍在工作」)。
  • 点击:该问题的消息行平滑滚动到视口顶部(prefers-reduced-motion 时瞬时);目标行未渲染时自动 loadOlder 翻页(上限 80 页)后再跳。
  • 少于 2 问不显示;会话宽度 < 640px 隐藏(ZCode 原版阈值 864px,此处放宽)。

English README


安装

在 DSH 的 profile(如 desktop)里,编辑 profiles/<name>/package.json

  1. dependencies 加(推荐用 npm 已发布的稳定版本):
"dsh-client-ui-timeline": "^0.1.0"

想固定某个历史提交,也可以用 GitHub 依赖(<commit hash> 换成你想固定的那次提交的完整 40 位 hash):

"dsh-client-ui-timeline": "github:hhb1028/dsh-client-ui-timeline#<commit hash>"
  1. dsh.profile.bundles 数组加 "dsh-client-ui-timeline"
  2. profiles/<name> 目录下执行 pnpm install
  3. 重启 DSH。

包自带 cordis.patch.yml(insert id ui-timeline-scrubber),经 dsh.bundle.patch 自动生效;在 profile 的 cordis.patch.yml 重复 insert 同 id(Loader 会抛 duplicate loader entry id,vision-toolkit/meow-smooth 同款坑)。

兼容性

  • 针对 DSH Desktop 2.0.2@deepseek-ai/* 0.1.1-rc.2)开发。
  • 依赖会话 chat 节点形状与 [data-conversation-scroll] / [data-chat-flow-key] 的 DOM 契约。
  • DSH 大版本更新可能改变上述形状/契约导致失效;失效时功能静默隐藏,不影响 DSH 本体。

卸载

profiles/<name>/package.json 删掉依赖与 bundles 条目,pnpm install,重启 DSH。

实现说明(对照 ZCode 原版)

  • 原版:out/renderer 的 TurnNavigator 组件(chat.turnNavigator.* i18n),挂在虚拟化会话列表旁,onJumpToQuerydata-row-id 行滚到视口顶、行未挂载时 scrollToIndex + 12 帧 rAF 轮询。
  • 本插件:DSH 会话无虚拟化,全部行在 DOM——坐标直接量 [data-chat-flow-key] 行的 getBoundingClientRect;数据链 sessions.list.currentscope(id)(ctx 代理)→ sessionOf(ctx)getSnapshot().chat.{order,nodes,timeline};一问一杠从 kind:user/steering 节点生成,回复预览取该回合首个有正文的 assistant-step
  • 视觉规格照抄原版:10px/杠、杠 12×2px 圆角、scaleX 距离渐变(2.6/1.7/1.25)、气泡 w-320 右偏 8px、line-clamp 2/3、220 字截断、left-3 top-1/2 导轨、隐藏滚动条;颜色换用 DSH 的 --dsw-alias-* 变量跟随主题/皮肤。
  • 纯浏览器半区(window.__ModuleLoader__ 模块,id 必须等于包名),零构建、不碰 dsh 本体;host 半区为惰性空插件。所有宿主访问有防御:上游形状变化时功能静默隐藏,不卡 web boot。

许可证

MIT

Similar plugins

dsh-conversation-nav

by Fiker1203

DSH Web UI 插件:对话右侧问题导航,悬停预览用户提问、点击平滑跳转到对应消息,适配女仆主题。

Manifest valid

0

MIT

JavaScript

Aug 18, 2026

dsh plugin --profile web add dsh-conversation-nav

by LeonSone

DSH web plugin: 模仿 deepseek 网页版界面右侧的问题条 — 右缘一条竖向问题栏,列出当前会话每一轮的用户提问,点击平滑滚动定位。DeepSeek Harness right-edge question rail.

Manifest valid

0

MIT

JavaScript

Sep 4, 2026

dsh plugin --profile web add dsh-question-rail

by lin-nanxing

DeepSeek Harness会话界面的快速查找跳转,根据会话中用户提问为单位进行跳转,适用于较长的上下文工作,需要快速找到对应的问题和回答的场景. A slim right-edge question-navigation rail for long DSH conversations. Every user question becomes a hoverable tick — click

Manifest valid

0

MIT

TypeScript

Aug 17, 2026

dsh plugin --profile web add dsh-qnav

by AbelKeithsun

In-session question minimap for the DeepSeek Harness Web GUI: a vertical column of round dots overlaid on the left edge of the conversation column, one dot per user question — hover enlarges and shows

UI & ExperienceManifest valid

6

MIT

TypeScript

Sep 6, 2026

dsh plugin --profile web add @luziyang2026/dsh-question-nav

Left-edge conversation rail for the Web UI: one bar per turn, length scaled to the turn text, hover for a question and answer preview, click to jump; bars come from a host-side outline of the whole se

UI & ExperienceManifest valid

0

dsh plugin --profile web add dsh-conversation-rail

Per-session question index for the DSH Web UI: a time-proportional dot rail on the right edge and an expandable chain panel showing every user question with its time, including branch/subagent session

UI & ExperienceManifest valid

0

dsh plugin --profile web add dsh-chat-index