DeepSeek Harness 的 Web UI 在窄视口下通常需要特定的适配。此插件提供了一套标准的窄视口行为,包括抽屉侧边栏、手势控制和自定义浏览器标签页标题。它替代了手动修补 dsh-client-ui-layout 编译包的做法,该做法在每次依赖更新后都需要重新应用,且容易在上游构建更改哈希类名时静默失效。
核心功能¶
- 抽屉侧边栏:当视口宽度低于阈值时,网格布局收缩为单列,侧边栏浮动在对话上方,而不是挤压内容。背景带有遮罩层,左上角有汉堡菜单按钮。
- 方向感知滑动手势:向右滑动打开侧边栏,向左滑动关闭。此行为替代了旧补丁中任一方向均可切换的行为。
- 浏览器标签页标题自定义:标签页标题读取为
DSH · <hostname>,以便在标签栏中区分不同的部署。它通过MutationObserver监听<title>元素,以保持与 Shell 自身会话标题投影的一致性。 - 组与叶子节点的交互:点击可展开的组会保持抽屉打开;点击叶子节点则会像正常导航一样关闭抽屉。
安装¶
该插件暂未发布在 npm 上,直接从 GitHub 安装。
dsh plugin --profile web add github:ghbhiee/dsh-plugin-mobile-shell
配置¶
在插件配置中指定窄视口阈值和标题模板。
- id: mobile-shell
config:
narrowMaxWidth: 1440 # 当帧宽等于或低于此值时,抽屉接管布局
documentTitle: 'WB · {host}' # 留空则保留 Shell 自身的会话标题
客户端条目无法直接读取行配置,因此浏览器端通过小型 Host 路由请求这些配置。如果无法获取,则使用默认值(1023px / DSH · {host})。
行为说明¶
- 全局手势监听:滑动手势监听整个文档,因此在可滚动区域内进行水平拖动仍然可能移动抽屉。
- 已移除的调整:“回收垂直内边距”的调整已被移除,因为旧补丁依赖于编译后的 CSS-Module 类名,这些类名在当前构建中有多个变体,且可能在下次上游发布时失效。中心列现在获得顶部内边距,以防止汉堡菜单覆盖内容。
此插件通过标准化行为并消除对脆弱的手动补丁的依赖,简化了 DeepSeek Harness Web UI 的移动端体验。
GitHub 仓库:ghbhiee/dsh-plugin-mobile-shell
插件目录:SkillHub