前言¶
DeepSeek Harness (DSH) 的插件化架构允许针对特定场景定制行为。在移动端或窄屏浏览器中使用 DSH Web 界面时,默认的侧栏会占用宝贵的显示空间,且切换会话时的自动聚焦会触发软键盘,导致页面被顶起,遮挡对话内容。better-er/dsh-mobile-drawer 针对这一场景进行了调整,将侧栏在窄屏下收起为悬浮方块,并压制自动聚焦行为。
插件介绍¶
这是一个客户端插件,由 betterer 维护,采用 MIT 许可证。它的核心价值在于将 DSH Web 界面的侧栏在窄屏下重构为覆盖式抽屉,通过自动收起和聚焦压制,提升移动端浏览体验。
核心功能¶
插件仅在视口宽度小于 1024 像素时生效,宽屏下完全不会介入。
-
悬浮方块与覆盖抽屉
- 收起态:侧栏被压缩为零宽,中央区域占据整幅宽度,左上角出现一个 44 像素的悬浮方块。
- 展开态:点击方块展开侧栏,此时侧栏变为 280 像素宽的覆盖式抽屉,覆盖在对话之上,右侧有遮罩层。
-
自动收起与聚焦压制
- 自动收起:在抽屉中点击任意会话行,侧栏会自动收起,把屏幕还给对话。点击行内的更多按钮不触发此行为。
- 聚焦压制:插件会压制紧随会话点击后的自动聚焦行为,持续约 1.5 秒,防止软键盘弹出顶起页面。如果用户主动点击输入框,压制立即解除。
-
移动端按键增强
在输入框右上角提供了一排手机键盘上没有的按键,目前包括 Shift、Ctrl 与 Tab。- Tab:在输入
/或@时触发菜单补全,否则在光标处插入制表符。 - Shift / Ctrl:为粘滞修饰键。点击一下锁定、再点取消。锁定状态下按回车分别执行换行与发送。
- Tab:在输入
安装¶
使用官方安装命令添加插件:
dsh plugin --profile web add github:better-er/dsh-mobile-drawer
也可以从 npm 安装(包含构建产物,无需现场构建):
dsh plugin --profile web add dsh-mobile-drawer
安装后重启 DSH Web 即可生效,无需手工编辑文件。
典型用法¶
- 使用 Edge 或手机浏览器打开 DSH Web。
- 将窗口宽度缩至 1024 像素以下(或在手机上访问),左上角会出现悬浮方块。
- 点击方块展开抽屉,点击任一会话,侧栏自动收起。
- 在输入框右上角可以看到新增的 Shift、Ctrl、Tab 按键。
注意事项¶
- 生效条件:所有行为仅对视口宽度小于 1024 像素的设备生效。
- 无原生修改:插件为纯浏览器端插件,不修改任何原生界面与内置样式。
- 图标依赖:悬浮方块图标直接克隆内置收起栏的鲸鱼标记,若无法获取内置图标,方块将不显示,收起态的布局副作用也会一并跳过。
总结¶
该插件通过 DOM 副作用而非修改原生样式,解决了窄屏下侧栏遮挡和软键盘顶起页面的问题。对于需要在移动端频繁查看对话内容的用户,这是一个实用的工具。