前言¶
DeepSeek Harness(DSH)默认的对话布局里,输入框在活跃会话中固定在底部,新回复会从下方逐条上浮;阅读历史需要向下滚动。这种“自下而上”的阅读顺序与程序员日常使用习惯相反——我们更习惯“输入框在上方、最新回复紧跟在输入框下方、向下滚动回溯历史”。
dsh-reversed-chat 是一个为 DSH 客户端设计的极简插件,它将对话阅读布局改为“倒序”:活跃会话中输入框固定在视口顶部,转写列表与右侧回合导航条按最新在上的顺序渲染。插件由 lingr7 维护,归类为“趣味换装”。
核心功能¶
输入框置顶:新建对话时,输入框居中(hero 相,保持原样);对话开始后(active 相),输入框固定在会话视口顶部,替代默认的贴底行为。
转写倒序:转写列表使用 flex-direction: column-reverse 翻转视觉顺序,DOM 顺序与宿主的测量逻辑保持一致;新回复追加到 DOM 末尾,视觉上出现在容器顶部(输入框下方);视口锁定在 scrollTop 0,确保最新回复即时可见。
导航条倒序:右侧回合导航条同样按最新在上的顺序渲染;点击跳转、悬停预览、居中跟随等行为正常;通过整帧镜像实现倒序,不触碰虚拟化的滚动数学。
默认关闭与开关控制:插件默认处于关闭状态;启用后需刷新(Ctrl+F5)才能看到效果;开关切换后同样需要刷新。
视觉细节:0.7.1 版本对输入框置顶做了视觉优化,包括顶部 12px 留白、底部 20px 渐隐,以及可覆盖的 CSS 变量(--dsh-reversed-chat-top-gap、--dsh-reversed-chat-bottom-gap、--dsh-reversed-chat-fade)。
安装与启用¶
从 npm 安装(推荐):
dsh plugin --profile desktop add "dsh-reversed-chat"
从 GitHub 安装(公开仓库):
dsh plugin --profile desktop add "github:lingr7/dsh-reversed-chat"
本地开发(link 安装):
先完全退出 DSH,然后:
:: 首次
dsh plugin --profile desktop add "link:<plugin-dir>"
:: 更新(link 安装指向本目录,拉新代码后重启 DSH 即可;若被复制安装则先 remove 再 add)
启动 DSH 后,到「插件管理」中打开 dsh-reversed-chat,然后刷新(Ctrl+F5)即可看到效果。默认安装后插件处于关闭状态,需要在管理器中手动开启。
典型用法¶
安装并启用插件后,新建一条对话,输入框居中;发送第一条消息后,输入框固定在顶部,模型的回复紧贴输入框出现;向下滚动即可回溯历史,越往下越旧。
右侧回合导航条会显示所有回合的点,最新回合的点在最上方;点击任意点可跳转,悬停可预览内容;导航条的实心高亮条会跟随阅读位置,默认落在最新回合。
适用场景与注意¶
适合希望改变阅读顺序、减少滚动操作的开发者与长期使用 DSH 的用户。插件仅影响客户端本地布局,不涉及云端数据或模型推理。
插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证(MIT)。插件依赖宿主 dsh >= 0.2.1-rc.2,版本过低时可能无法正常加载。
短结尾¶
dsh-reversed-chat 通过倒序阅读布局,让输入框与最新回复保持紧邻,降低上下切换的视觉疲劳。如需查看插件详情或源码,可访问:
- 插件目录页:https://www.skillhub.cn/plugins/lingr7/dsh-reversed-chat
- GitHub 仓库:https://github.com/lingr7/dsh-reversed-chat