DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Sticky User Bubble — DSH Plugin for DeepSeek Harness
← Plugins

dsh-sticky-user-bubble

Sticky User Bubble

Pin the user bubble that has scrolled past the top of a long conversation to the top of the reading area.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-sticky-user-bubble@0.3.0
READMECompatibilityVersions

Compatibility and provenance

Sticky User Bubble is published as dsh-sticky-user-bubble and currently resolves to version 0.3.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/16/2026

Versions

0.3.0stable
10/10/2026
0.2.0stable
10/1/2026
0.1.7stable
9/28/2026
Show 4 more versionsCollapse versions
0.1.6stable
9/23/2026
0.1.5stable
9/18/2026
0.1.4stable
9/17/2026
0.1.3stable
9/17/2026

Related plugins

Loading related plugins…

Latest
0.3.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
85.1 kB
Files
8
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
200
Security scan
✓ v0.3.0 scan passed
Last push
9/28/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsAb Chartdsh-ab-chartChart rendering tool with the browser card that draws its calls, in one publishable plugin packageWhale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editin

README

dsh-sticky-user-bubble

一个纯客户端 DSH Web 插件:阅读长对话时,当当前用户气泡已经完整滚出对话顶部,插件会在阅读区顶部固定显示同一条原生用户气泡,点击或键盘激活即可回到原消息。固定内容直接来自原气泡的 DOM 克隆,因此不会改写正文排版,也不会把用户发言强行称为“问题”。

功能

  • 固定当前已完整滚出对话可视区顶部的用户或 durable steering 气泡;向上、向下滚动时按真实消息顺序切换。
  • 原气泡仍有任何可见部分(包括底部内边距与圆角)时保持隐藏,不会出现原气泡与副本同时可见。
  • 下一条用户卡片进入顶部区域时,固定气泡像列表 sticky 标题一样被它顶出去(超出对话顶边的部分被裁掉),不会盖住新卡片,并保持与对话一致的消息间距;新卡片到达阅读线时固定气泡完全消失。
  • 点击固定气泡平滑滚动回对应的原始用户输入位置;键盘聚焦后按 Enter 或空格键同样有效。
  • 超过三行时默认只显示三行并以省略号截断,鼠标移入或键盘聚焦时恢复完整内容;展开高度同时受输入框顶部和「下一条用户卡片上方空间」限制,超出部分在气泡内部滚动,空间只剩消息间距时保持三行不展开。
  • 内部滚动发生在气泡 padding 之内:滚动条不会压住圆角边框,并沿用 DSH「卡片内滚动区域」的暗色滑块。
  • 会话仍在进行(思维链、工具调用、回答流式增长)时不会打断阅读:展开状态不会因会话更新而反复收起再展开。
  • 保留 DSH 原生的手动历史分页:更早消息仍由「加载更早」控制;旧消息进入当前窗口后,固定气泡自动重新归组和定位。
  • 固定副本位于独立的 shell.overlay 层,除气泡本身外点击穿透;克隆内部节点会移除 ID、ARIA 引用、核心聊天标记和交互属性,避免引用链接或控件被二次触发。
  • 找不到预期核心标记、当前快照过期、气泡不可测量、结构存在歧义或克隆几何自检失败时自动隐藏,并在 host 上保留非视觉状态码供诊断。

要求

  • DeepSeek Harness Web >=0.2.1-alpha.2 <0.2.2;0.2.1-alpha.2 已逐版本验证(静态契约 + 单测,外加隔离宿主里对气泡出现阈值、让位清距与裁剪、三行折叠、展开上限、输入区限高与跳回的 getBoundingClientRect() 量测)。同线其他版本会给出警告,并继续依赖客户端结构与能力检查;范围外保持 inert——0.2.0 及更早的 DSH 请继续用 0.2.0 版本的本插件。
  • Node.js 20 或更高版本(仅安装与发布检查需要)。
  • 不需要额外的运行时 npm 依赖。

安装与卸载

dsh plugin --profile web add dsh-sticky-user-bubble        # 安装
dsh plugin --profile web add dsh-sticky-user-bubble@0.1.4  # 升级到指定版本
dsh plugin --profile web remove dsh-sticky-user-bubble     # 卸载

已发布为 dsh-sticky-user-bubble。profile 依赖是 caret 范围,升级需要显式写版本号。安装会向 profile 增加 bundle,而 bundle 列表只在启动时读取,因此需要重启 dsh web 并刷新页面。

从源码运行:./install.sh 通过官方 profile manager 安装 link:<源码目录>,./uninstall.sh 移除;两者都不直接改写用户的 cordis.patch.yml。卸载只移除 profile 依赖和 bundle 层,不修改 DSH 源码、会话历史或用户配置。

已知边界

  • 当前 DSH 的圆角气泡没有稳定的专用 data-* 标记,因此插件在权威用户行内部用消息文本、paint、padding 和几何联合评分;候选存在歧义时 fail closed(隐藏而不是猜)。
  • wrapper 无法可靠保留 flex/grid/table 根布局、垂直书写、root transform 或非 1 zoom,这些布局会隐藏固定气泡并记录 unsupported-* 状态;Shadow DOM、canvas 与关键伪元素内容不在支持范围内。
  • 第三方 !important 规则若主动覆盖克隆的关键属性,几何自检能发现一部分但不能保证全部识别;原消息始终不受影响。
  • 纯图片消息没有文本气泡时不会伪造文字副本。
  • 尚未成为 durable 节点的 pending steering 行不参与切换;尚未点「加载更早」的历史消息也不在当前窗口内,插件有意不自动调用 loadOlder()。
  • 展开窗口只剩消息间距级空间时 hover 不再展开(避免退化成极窄的内部滚动窗口);要读全文,向上滚一点让下一张卡片离开即可恢复。
  • 这是纯客户端行为:不提供开关、不保存历史数据、也不新增 Host 路由。

License

MIT