前言¶
在 DeepSeek Harness(DSH)里浏览长对话时,默认对话区只有一条约 5px 宽、圆角、overlay 式的滚动条,也没有类似编辑器的 minimap 预览列。若你长期在 VS Code 里写代码,会习惯 14px 常显滚动条、扁平半透明滑块,以及右侧缩略图里拖 viewport 跳转。社区插件 dsh-vscode-scrollbar(维护者 azkbzxf,分类:趣味换装)只改对话主滚动列的外观与行为,菜单、代码块、侧栏、Composer 等其它滚动条仍保持 Harness 原样。
这是什么¶
dsh-vscode-scrollbar 是面向 DSH Web 客户端的插件 bundle:把对话会话的垂直滚动条样式对齐 VS Code 编辑器默认值(editor.scrollbar.verticalScrollbarSize = 14,颜色对应 VS Code 亮/暗主题里的 scrollbarSlider.*),并在宽屏下增加一列 VS Code 风格的 minimap 预览。暗色模式通过 Harness 主题服务设置的 body[data-ds-dark-theme] 读取,不引入第二套主题色。
仓库:https://github.com/azkbzxf/dsh-vscode-scrollbar
社区目录:https://www.skillhub.cn/plugins/azkbzxf/dsh-vscode-scrollbar
与默认 Harness 的差异¶
滚动条¶
| 属性 | Harness 默认 | 启用插件后 |
|---|---|---|
| 轨道宽度 | 5px | 14px |
| 滑块形状 | 药丸形(大圆角 + inset 边框) | 扁平矩形,无圆角 |
| 亮色主题滑块 | 主题 scrollbar 别名 | rgba(100,100,100,.4) |
| 暗色主题滑块 | 主题 scrollbar 别名 | rgba(121,121,121,.4) |
| 悬停 / 拖动 | 主题别名 | 与 VS Code 默认 hover、active 色一致 |
| 滚动条按钮 | 无 | 无 |
Minimap¶
| 属性 | Harness 默认 | 启用插件后 |
|---|---|---|
| 预览列 | 无 | 贴滚动条左侧 80px 宽列,高度不超过窗口一半 |
| 内容 | 无 | 整段对话缩放快照;图片会绘制,视频/canvas/SVG/表单等较重内容会丢弃 |
| 视口滑块 | 无 | VS Code minimapSlider 风格,悬停 minimap 或拖动时显示 |
| 轮次导航轨 | 贴右缘,预览下可能被挡 | 有预览时移到距右缘 110px,避免被列挡住 |
| 「加载更早」 | 旧轮次折叠在按钮后 | 插件会自动展开(最多约 500 页),无法单独关闭此行为 |
对话列最大宽约 920px;窗口内容区宽度低于约 1180px 时 minimap 会隐藏,避免压住正文。对话短于视口时 minimap 也不显示。
行为要点¶
下面几条来自 README 中的实现说明,便于判断是否符合你的使用习惯。
- Minimap 仅在右侧有留白时出现;窄窗隐藏列,而不是盖住消息。
- 点击 minimap 会将视口对准该位置,并支持按住拖动连续 scrub;在 minimap 上滚轮可滚动对话,与 VS Code 一致。
- 流式输出时预览约 350ms 防抖刷新,滚动用 rAF 节流;预览层只读,克隆树会去掉 id、SVG、canvas、视频、表单与动画,避免干扰真实对话。
- 插件通过稳定 DOM 契约
[data-slot="conversation.session"]定位会话,再向上找到overflow-y为auto/scroll的滚动容器并打上data-dsh-vscode-scrollbar,用作用域样式改写::-webkit-scrollbar*。
安装与启用¶
在你使用的 profile 下从 GitHub 安装:
dsh plugin --profile <profile> add github:azkbzxf/dsh-vscode-scrollbar
新安装的 bundle 会对当前运行实例生效:Host 侧立即生效,Client 半会热加载到已打开页面。若替换已安装的同名副本,需要刷新页面或重启 DSH 后才会加载新的 client 构建。
卸载:
dsh plugin --profile <profile> remove dsh-vscode-scrollbar
README 还提到可通过插件管理工具对本地目录执行 install_bundle(路径填你本机 checkout 位置);日常从社区/GitHub 安装以上述 dsh plugin 命令为准。
典型用法¶
本插件无额外配置项:安装并激活后,打开任意对话会话即可看到 14px 滚动条;在足够宽的窗口里右侧会出现 minimap。你只需像平时一样滚动或拖动 minimap 滑块跳转,无需改 Harness 配置文件。
若你通过本地 bundle 调试,README 给出的管理器动作为:
{ "action": "install_bundle", "target": "D:\\path\\to\\dsh-vscode-scrollbar" }
将 target 换成你机器上的实际路径即可。
适用场景与注意¶
适合谁:习惯 VS Code 编辑器滚动条与 minimap 的 DSH 用户;需要在长对话里快速纵览全文、用右侧预览定位轮次;接受「趣味换装」类仅改 UI、不动业务逻辑的定位。
权限与安全:DSH 插件以当前 dsh 进程权限运行。安装前请自行查看仓库源码与许可证(package.json 标明 MIT)。社区目录站点 skillhub.cn 为独立生态索引,与 DeepSeek / 幻方无官方从属关系。
行为取舍:自动点击「加载更早」会让历史轮次全部展开,长会话可能增加 DOM 体量;minimap 与 VS Code 全高 minimap 不同,高度刻意限制为窗口一半。若你依赖默认的折叠分页或极窄布局,请先试用再决定是否常驻启用。
结尾¶
dsh-vscode-scrollbar 把对话区滚动条换成 VS Code 的 14px 扁平半透明样式,并在宽屏下补上只读 minimap 与轮次导航避让,其它区域的滚动条保持 Harness 原样。需要安装命令与实现细节时,以 GitHub README 为准: