🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

平滑滚底 VinciBeans/dsh-smooth-plugin

DeepSeek Harnessv0.1.2-rc.1
VinciBeans57 天前有提交已提供中文文档扫描:未发现敏感能力

让流式会话内容恒速平滑跟随到底部

28.9/100
综合分
0
GitHub 星标
37
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-smooth-scroll
npm 源 · dsh-smooth-scroll 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/10/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 57 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-smooth-scroll @ 0.1.2-rc.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/24 00:02:55

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 流式内容恒速平滑跟随
  • 起步轻柔收尾绵软
  • 装载与回最新保持瞬时

让 DSH 的会话滚底从"官方瞬时跳变"变成流畅顺滑的跟随滚动:会话装载与"回到最新"保持瞬时,而流式内容增长期间,消息列以恒定速度平滑跟随,起步轻柔、收尾绵软。

v0.1.3-alpha.22026-09-08
确认兼容 dsh v0.1.3-alpha.2(npm alpha 通道发布的精确版本,真实 dsh web + 真 Chromium 复核)。 契约面与 rc.1 逐字一致:client-modules 模块系统(client/system.ts / client/manifest.ts 零差异)、dsh.client 扫描与 ./client 导出要求、dsh plugin add 的 bundle 层重建、cordis.patch.yml 的 insert 行、ctx.effect 客户端 API 全部不变;DOM 锚点 [data-conversation-scroll] / [data-composer-seat] 与跟随状态机(observedTopRef / movedByReader / toBottom 的 el.scrollTop = el.scrollHeight / landOnRow 复合读改写)逐行保留。唯一相关变更是 ChatView 的 onScroll 在「已贴底且非读者位移」时改为同步 sample();实测该变更对插件中性(宿主钉底在 rc.1 与 alpha.2 下都是每帧一次)。 新增 test/alpha2-realhost-e2e.mjs(真实 dsh web 0.1.3-alpha.2 + 真 Chromium): · 流式追击:最终离底 0px / 最大离底 75px / 追击停顿 0ms · 滚轮接管:漂移 0px、chase=false,宿主出现「回到底部」按钮 · 导轨跳转:漂移 0px · reduced-motion:内容增长后 220ms 内钉底 ≤2px · 浏览器零 console.error / pageerror 插件实现未变更(lib/ 与 0.1.2-rc.1 逐字相同),本次为兼容性验证与文档同步。
v0.1.2-rc.12026-09-03
确认兼容 dsh v0.1.2-rc.1:rc.1 相对 alpha.5 的整仓差异仅全仓包 package.json 版本号变更(非 package.json 文件零变化、非版本行零变化),滚动宿主契约([data-conversation-scroll] / [data-composer-seat] 锚点、el.scrollTop 读写面、landOnRow 复合读改写、跟随状态机)在 rc.1 tag 上复核,与 alpha.5 逐字一致。文档已同步。
v0.1.2-alpha.52026-09-02
测试并确定对 dsh v0.1.2-alpha.5 的兼容性
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-smooth-scroll 让 DSH 会话滚底从瞬时跳变变成恒速平滑跟随 装上后,流式内容增长时消息列平滑跟随到底部,回到最新仍保持瞬时。 安装 需要已安装 DSH,并至少成功启动过一次 Web GUI。从 npm 安装(按 dist-tag 选择): 1. npm latest(0.1.2-rc.1,与 next 同步)— 兼容 dsh v0.1.2-alpha.1 ~ 0.1.3-alpha.2: dsh plugin --profile web add dsh-smooth-scroll 等价写法:dsh plugin --profile web add dsh-smooth-scroll@next 2. npm alpha(0.1.2-alpha.5)— 与 latest 同一契约代、兼容范围相同,保守通道: dsh plugin --profile web add dsh-smooth-scroll@alpha 旧代 0.1.1-rc.2 不再挂在任何 dist-tag 上,仅可按确切版本安装(不兼容,见「兼容性」)。 源码安装(GitHub Release v0.1.3-alpha.2 即当前源码版):dsh plugin --profile web add .。
展开完整文档(README 剩余 1 节)
dsh-smooth-scroll

让 DSH 会话滚底从瞬时跳变变成恒速平滑跟随

装上后,流式内容增长时消息列平滑跟随到底部,回到最新仍保持瞬时。

安装

需要已安装 DSH,并至少成功启动过一次 Web GUI。从 npm 安装(按 dist-tag 选择):

1. npm latest(0.1.2-rc.1,与 next 同步)— 兼容 dsh v0.1.2-alpha.1 ~ 0.1.3-alpha.2:
dsh plugin --profile web add dsh-smooth-scroll
等价写法:dsh plugin --profile web add dsh-smooth-scroll@next

2. npm alpha(0.1.2-alpha.5)— 与 latest 同一契约代、兼容范围相同,保守通道:
dsh plugin --profile web add dsh-smooth-scroll@alpha

旧代 0.1.1-rc.2 不再挂在任何 dist-tag 上,仅可按确切版本安装(不兼容,见「兼容性」)。

源码安装(GitHub Release v0.1.3-alpha.2 即当前源码版):dsh plugin --profile web add .。

快速开始

dsh plugin --profile web add dsh-smooth-scroll
dsh --profile web --dump-config # 看到 dsh-smooth-scroll 层即安装成功
重启 dsh web,打开会话,流式内容平滑滚到底部

滚动行为

直接在原生 scrollTop 上做有节奏的平滑滚动,配合合成 getter:平滑期间 scrollTop 读到目标值,DSH 自身状态机看不到中间位置,不误判脱钩、不重复钉底。

- 速度剖面: 起步 0 到 0.9px/ms 用 240ms 缓升,巡航恒速 0.9px/ms,收尾 220ms 软着陆。
- 用户滚动接管: 真实位置连续偏离动画写入 ≥2 帧才停动画,DSH 正常脱钩,回到最新按钮照常;单帧偏差(浏览器滚动锚定等一次性非用户位移)自动重基后继续钉底跟随——发送消息等操作引发的非用户位移不会导致误判脱钩或停在信息处;内容收窄导致的夹紧则在 2 帧内停止于新底部(同样不掉队)。与之对称,孤立的一次性小幅定位(如滚动条点一格)也会被当作非用户位移吸收、随后被跟随回底部;只有持续 ≥2 帧的偏离才视为用户接管。另:主机内(输入栏除外)的指针按下立即停动画并让 getter 回落真实值——turn 导轨跳转(landOnRow 的 el.scrollTop += flowTop - 24 复合读改写)由此读到真实位置,落点不被合成目标偏移(真实宿主 e2e 实测:流式中点击「跳转到第 N 轮」后漂移 0px)。
- 同目标兜底: DSH 每滚动事件重跑 toBottom 而目标不变时忽略,动画不被逐帧重启。
- 减少动效: prefers-reduced-motion 时完全回退官方瞬时行为。
- 无 transform: 不应用任何 transform,输入栏 overlay/sticky 永不受扰。

参数

| 常量 | 默认 | 含义 |
| VEL | 0.9 | 巡航速度(px/ms) |
| RAMP_MS | 240 | 起步缓加速时长 |
| QUIET_MS | 240 | 判定停止增长的静默窗口 |
| TAIL_PX | 120 | 进入软尾的剩余距离阈值 |
| TAIL_MS | 220 | 软尾缓动时长 |
| DIVERGE_STOP_FRAMES | 2 | 真实位置连续偏离动画写入的帧数阈值(≥2 帧判定读者接管) |

改参数:编辑 src/client.js 顶部常量区,pnpm run build 后重启 dsh web。

兼容性
- dsh v0.1.2-alpha.1 ~ rc.1(支持): 插件的唯一 DOM 锚点 [data-conversation-scroll](会话滚动容器,ConversationRoot 的 scrollBody)与宿主跟随状态机(observedTopRef / movedByReader / ResizeObserver follow、el.scrollTop 读写面)在 dsh-v0.1.2-alpha.1 ~ dsh-v0.1.2-alpha.5 五个 tag 上一致;dsh-v0.1.2-rc.1 相对 alpha.5 的整仓差异仅全仓包 package.json 版本号变更(非 package.json 文件零变化、非版本行零变化),[data-conversation-scroll] / [data-composer-seat] 锚点、el.scrollTop = el.scrollHeight 钉底写与跟随状态机均在 rc.1 tag 上复核,与 alpha.5 逐字一致;turn 导轨跳转 landOnRow 仍为 el.scrollTop += flowTop - 24 复合读改写,pointerdown 接管先停动画、复合写读到真实位置。alpha.4 把宿主滚动几何采样改为每 500ms 一次并以 scrollend 提前采样(ChatView 的 SCROLL_SAMPLE_INTERVAL_MS);真实宿主行为 e2e(见验证)确认该节奏下追击无停顿(流式最大离底 0px、追击停顿 0ms)、滚轮接管后漂移 0px 且宿主正常脱钩。
- dsh v0.1.3-alpha.2(支持): 契约面与 rc.1 逐字一致——packages/client/modules 的模块系统(client/system.ts / client/manifest.ts 零差异)、dsh.client 扫描与 ./client 导出要求、dsh plugin add 的 bundle 层重建(apps/cli/src/plugin.ts 零差异)、cordis.patch.yml 的 insert 行、ctx.effect 客户端 API 全部不变;DOM 锚点 [data-conversation-scroll](ConversationRoot.tsx)与跟随状态机(observedTopRef / movedByReader / toBottom 的 el.scrollTop = el.scrollHeight / landOnRow 复合读改写)逐行保留。唯一相关变更在 ChatView.tsx:604-616:onScroll 在「已贴底且非读者位移」时改为同步 sample()(取代 500ms 定时器 + scrollend 兜底)。该变更对插件中性——真 Chromium 实测宿主钉底在 rc.1(经 scrollend)与 alpha.2(经 scroll)下都是每帧一次,插件「同目标重钉不重启追击」的兜底照常生效;node test/alpha2-realhost-e2e.mjs 在真实 dsh web 0.1.3-alpha.2 上复核:流式追击最终离底 0px / 最大离底 75px / 追击停顿 0ms,滚轮接管后漂移 0px 且宿主出现「回到底部」,导轨跳转漂移 0px,reduced-motion 下 220ms 内钉底,浏览器零 console 错误。
- 0.1.1-rc.2 及更早(不支持): 该代使用 @deepseek-ai/dsh-client-runtime,滚动宿主结构不同,不兼容。
- 验证:pnpm test(契约冒烟,bundle 自包含)+ node test/scroll-follow.test.mjs(15 个 e2e 场景,含「追击中点击导轨」回归点;需 Playwright 与 Chromium)+ node test/alpha2-realhost-e2e.mjs (真实 dsh web 0.1.3-alpha.2 + 真 Chromium:流式追击、滚轮接管、导轨跳转、reduced-motion、控制台错误;token 取自 dsh web 启动输出)+ node test/alpha4-realhost-e2e.mjs (同上,针对 0.1.2-alpha.4)。

License

MIT
预览分享卡片长什么样 ↓VinciBeans/dsh-smooth-plugin
分享 · DeepSeek Harness Hub
VinciBeans/dsh-smooth-plugin

让流式会话内容恒速平滑跟随到底部

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部