前言¶
DeepSeek Harness(DSH)的 Web GUI 在手机浏览器里打开时,常见问题是整页跟着手势上下「橡皮筋」滚动、虚拟键盘顶起布局时页面平移而不是收缩可视区,以及输入框字号过小触发 iOS/Android 自动缩放。这些体验问题并不写在业务逻辑里,却直接影响在移动端查看会话、切换侧边栏和输入消息。下面介绍社区客户端插件 @mdalboni/dsh-mobile(仓库 mdalboni/dsh-mobile),它通过前端补丁在 DSH Web 侧锁定视口、约束过滚动,并处理键盘与侧边栏等移动端细节。
这是什么¶
@mdalboni/dsh-mobile 由 mdalboni(Maxwell Dalboni)维护,归类为 客户端 插件:在 DSH Web 平台加载时立即生效(immediately: true),不替代服务端能力,只调整浏览器里的布局与交互。当前 npm 包版本为 1.0.0,许可证 MIT;要求 DSH 引擎 >=0.2.1-rc.3(与 peerDependencies 中的 @deepseek-ai/dsh 一致)。
插件目录页:skillhub.cn/plugins/mdalboni/dsh-mobile。该目录为社区生态站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
资料中列出的能力如下,均针对 DSH Web GUI:
-
Viewport Lock(视口锁定)
防止html, body随滚动或回弹进入应用下方的空白黑边区域。 -
Overscroll Containment(过滚动 containment)
在[data-conversation-scroll]上使用overscroll-behavior-y: contain,把滚动手势限制在会话滚动容器内。 -
Virtual Keyboard Resizing(虚拟键盘缩放纵)
配置interactive-widget=resizes-content,使虚拟键盘以调整视口高度的方式呈现,而不是整页平移。 -
Sidebar Auto-Retraction(侧边栏自动收起)
在移动端点击会话区域任意处,或在会话列表选中一行时,自动折叠侧边栏。 -
Input Zoom Prevention(输入框防自动缩放)
对移动端视口上的文本输入强制最小 16px 字号,降低 iOS/Android 聚焦输入时的自动放大。
README 中含三张截图(聊天视图、键盘打开、侧边栏打开),路径在仓库 assets/ 下,便于对照上述行为。
安装与启用¶
插件作为 DSH web profile 的 bundle 安装;安装命令须使用文档原文,勿自行拼接 github:owner/repo 形式。
方式一:编辑 web profile 的 package.json¶
在 ~/.dsh/profiles/web/package.json 中加入依赖与 bundle:
{
"dependencies": {
"@mdalboni/dsh-mobile": "^1.0.0"
},
"dsh": {
"profile": {
"bundles": [
"@mdalboni/dsh-mobile"
]
}
}
}
保存后按你现有的 DSH web profile 流程安装依赖并重启或刷新 Web GUI,使 bundle 加载。
方式二:DSH CLI¶
dsh plugin add @mdalboni/dsh-mobile
方式三:cordis.patch.yml¶
在 profile 或 patch 配置中增加:
- id: dsh-mobile
name: '@mdalboni/dsh-mobile'
包内通过 dsh.bundle.patch 指向 ./cordis.patch.yml,与 Cordis 补丁机制一致。
典型用法¶
该插件 无额外配置项 暴露在 README 中:启用 bundle 后,客户端脚本在 Web 平台自动注入样式与行为。开发与验证时可按 README 建议关注:
- 会话列表与
[data-conversation-scroll]区域的滚动是否不再带动整页; - 手机浏览器中打开输入框时视口是否随键盘收缩;
- 点开会话或点按聊天区后侧栏是否自动收起。
本地包提供 node --test test/index.test.js 测试脚本,供维护者在发布前自检;终端用户仅需保证 web profile 已包含 @mdalboni/dsh-mobile。
适用场景与注意¶
适合谁: 经常在手机或平板浏览器里使用 DSH Web 界面、需要稳定视口和会话区滚动的用户;分类为「客户端」,与仅在服务端运行的插件互补。
权限与安全: 插件随当前 DSH 进程的 Web 客户端加载,修改的是页面 DOM 与 CSS 行为。安装前应查看 GitHub 仓库 源码(入口 client.js、cordis.patch.yml)并确认 MIT 许可证是否符合你的合规要求。
版本: 依赖 @mdalboni/dsh-mobile ^1.0.0 与 DSH >=0.2.1-rc.3;升级 DSH 主版本时需对照 peerDependencies 是否仍满足。
生态: DSH 采用「一切皆插件」思路;本插件通过 SkillHub 等社区目录分发,星标与关注度以各站点展示为准(目录线索为 0 星),选型时以功能说明与源码为准即可。
结尾¶
经过上面的步骤,在 web profile 中启用 @mdalboni/dsh-mobile 后,可在不改变 DSH 核心业务的前提下,改善移动端视口锁定、过滚动、虚拟键盘与侧边栏等细节。更多说明见目录页 skillhub.cn/plugins/mdalboni/dsh-mobile 与 GitHub mdalboni/dsh-mobile。