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.

Think Sticky — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@kongjianguan/dsh-think-sticky

Think Sticky

Pin the Think disclosure row (expand/collapse control) to the viewport top when long reasoning text scrolls past.

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

npx -y @deepseek-ai/dsh plugin --profile web add @kongjianguan/dsh-think-sticky@0.2.0
READMECompatibilityVersions

Compatibility and provenance

Think Sticky is published as @kongjianguan/dsh-think-sticky and currently resolves to version 0.2.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
9/20/2026

Versions

0.2.0stable
9/15/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
17.4 kB
Files
7
Surface
web
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
46
Last push
9/15/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

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 pluginsClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Pet@linxin666/dsh-petMulti-pet companion plugin for the dsh web GUI: a registry-driven floating pet that reacts to model activity, with per-pet naming, petting/feeding interactions and an affinity score

README

dsh-think-sticky

DeepSeek Harness(dsh web)客户端插件:思考块(Think)的展开/收起标题行 sticky 贴住视口顶部——长思考内容滚动时,按钮始终可见,交互与视觉对齐官方 chat.deepseek.com。

English version: README-en.md

安装

方式一:npm 安装(推荐,已发布版本)

  1. 用 dsh 的插件命令安装到 web profile(等价于在 ~/.dsh/profiles/web 下执行 pnpm add):

    dsh plugin --profile web add @kongjianguan/dsh-think-sticky
    

    插件带 dsh.bundle 声明,dsh 会自动把它登记进 profile 的 dsh.profile.bundles,挂载条目随包发布(包内 cordis.patch.yml)。不要再手工往 ~/.dsh/profiles/web/cordis.patch.yml 追加挂载条目——重复的 loader 条目 id 会让启动直接失败。

  2. 重启 dsh web(客户端模块扫描需重启生效;之后插件支持热重载)。

方式二:本地开发(未发布 / 改源码时)

把这个目录作为依赖装进 profile,dsh 同样会自动登记 bundle,无需手工改配置:

dsh plugin --profile web add /path/to/dsh-think-sticky

从 0.1.x 升级到 0.2.0:旧版本没有 dsh.bundle,安装说明要求手工追加挂载条目。升级后请把那条手工条目从 profile 的 cordis.patch.yml 删掉,否则与 bundle 层重复,启动报 duplicate loader entry id。

功能

  • 滚动固定:思考块(Think 折叠行)以及命令卡片、工具、bash 等块类型的标题行(data-disclosure-row、data-variant="bash")sticky 于对话滚动容器顶部(top: 0)——块内容高于视口时,展开/收起按钮不再滚出视野
  • 默认透明:未钉住时行完全透明,与普通内容无异;只有行真正钉住且块处于展开态(aria-expanded="true")时才显示遮罩
  • 官方同款淡化:钉住时行下方出现 24px 渐变淡化带(linear-gradient(var(--dsw-alias-bg-base), transparent),官方 .c99b79f8 曲线),滚动的内容"融化"在行下而非被硬边截断;无边框、无阴影、无常驻背景块
  • 主题适配:全部使用 dsh web 设计令牌(--dsw-alias-bg-base),深色/浅色主题自动跟随
  • JS 驱动钉住态:滚动监听(capture 阶段 + rAF 节流)逐行判断是否跨过滚动容器顶边,切换 dsh-pinned 类;遮罩透明度过渡 120ms
  • 优雅降级:若上游把行包进 overflow-hidden 祖先导致 sticky 失效,行为退回"随内容滚走",遮罩不出现,不影响原有功能

工作原理

  • 纯客户端:lib/index.js 仅为满足 Cordis 加载契约的空 Host 插件;全部行为在 lib/client.js(浏览器 bundle,window.__ModuleLoader__.load(...),由 package.json 的 dsh.client 声明发现)
  • 注入样式:启动时注入带 data-plugin="dsh-think-sticky" 的 <style>,幂等(HMR 重载不重复注入),卸载时移除
  • 钉住检测:scrollerOf() 沿祖先链找第一个可滚动容器;行矩形同时"压住"容器顶边判定为 pinned
  • 遮罩层级:行内 ::after(页面背景色,z-index -1)保证钉住时文字不透视滚动内容;::before(渐变淡化带)位于行下方 24px

许可证

MIT — see LICENSE