dsh-web-mobile:让 DSH Web UI 在手机上也能好好用

前言

DeepSeek Harness(DSH)的 Web UI 默认面向桌面宽屏设计:侧栏常驻、弹窗居中、输入区一行排开多个控件。在电脑上用浏览器开 dsh web 没问题;换成手机竖屏,侧栏占宽度、设置弹窗难点、权限胶囊和模型名挤在一起,会话体验会明显变差。

社区里有人 fork 做移动端补丁,但维护分散、和官方 UI 迭代容易脱节。下面介绍 dsh-web-mobile(GitHub:mexiaosqwq/dsh-web-mobile,维护者 mexiaosqwq):它是 DSH Web UI 的移动端适配插件,目标很明确——窄屏好用,宽屏尽量不打扰原有布局。

这是什么

dsh-web-mobile(npm 包名 @dsh-external/dsh-mobile-nav)属于 DSH 生态中的客户端类插件,通过 Cordis patch 与客户端脚本注入,在 Web profile 下改写 DSH Web UI 的导航与布局行为。

它不替换 DSH 本体,也不改会话逻辑;主要解决手机、平板竖屏下的可用性问题。桌面端(视口宽度 ≥1024px)设计上为 no-op,不影响你现有的宽屏工作流。

核心功能

窄屏布局改造

手机竖屏下,插件把桌面侧栏收进 overlay 抽屉,会话区占满宽度;点会话行后抽屉自动收起。设置、文件树、预览等弹窗改为底部 sheet,更适合触屏操作。

输入区在窄屏下做了防重叠处理:权限胶囊、模型名、切换菜单固定尺寸钉位,避免发送按钮、加号、上下文按钮被挤压漂移。状态栏方面处理了刘海安全区、深/浅主题,并保留宿主 maximum-scale,页面缩放行为与官方一致。

平板与桌面分界

视口在 768–1023px 时限宽居中;≥1024px 不启用移动端改造。这样既覆盖平板竖屏,又避免在桌面端引入多余样式。

大 JSON 响应压缩(Unreleased)

宿主半加载阶段对 Node http.ServerResponse 打补丁:对 ≥4KB 的 JSON 响应,按客户端 Accept-Encoding 自动 gzip 或 brotli 压缩(brotli 优先)。小体积 JSON、非 JSON 响应原样透传,SSE 流不受影响。该能力移植自社区 fork wzxmt-zhc/dsh-web-mobile v2.5.0。

诊断模式

URL 加 ?mobile-nav-debug=1 可显示悬浮诊断条,查看视口、浮层状态与 JS 错误,便于排查移动端布局问题。

兼容插件

README 列出的已验证兼容组合包括:

  • dsh-web-ui — 0.1.20
  • dshmarket — v1.20.2
  • dsh-usage-stats — 0.2.10
  • dsh-genui — 0.9.1
  • dsh-meme — v0.1.39

近期版本(如 v2.1.1)还针对 dshmarket 移动端 UI、Agent preset 模式菜单、插件市场导航等做了适配修复。

安装与启用

从 GitHub 一行安装(官方 README 命令):

dsh plugin --profile web add github:mexiaosqwq/dsh-web-mobile

仓库自带构建产物,无需 allowBuilds 拦截。安装完成后重启 dsh web 生效。

本地开发或调试时,可链接本地目录:

dsh plugin --profile web add link:/path/to/dsh-web-mobile

典型用法

日常移动端访问

  1. 按上文命令安装插件并重启 dsh web
  2. 在手机浏览器打开 DSH Web 地址(与桌面同一服务)。
  3. 竖屏下侧栏默认收起;点菜单按钮打开抽屉浏览会话列表,选中会话后抽屉自动关闭。
  4. 设置、文件树、预览从底部 sheet 弹出,按触屏习惯操作即可。

排查布局问题

页面 URL 追加调试参数:

?mobile-nav-debug=1

观察悬浮诊断条中的视口尺寸、浮层开关状态;若出现 JS 错误,诊断条会一并显示。

从源码构建

需要改源码时,在仓库根目录执行:

pnpm install
pnpm build

lib/ 与源码同步入库;改动后需重新构建再提交。仓库还提供 pnpm verify(类型检查)、pnpm run smoke:cdp(CDP 回归门禁)等脚本。

适用场景与注意

适合谁

  • 经常在手机或平板竖屏上查看、切换 DSH 会话的开发者。
  • 已安装 dshmarket、dsh-meme 等 Web 客户端插件,希望在窄屏下保持可用布局的用户。
  • 需要在移动网络下加载大体积会话 JSON、关注加载速度的场景(Unreleased 压缩能力)。

使用前注意

  1. 插件随当前 dsh web 进程运行,具备该进程权限;安装前建议阅读 GitHub 仓库 源码与 MIT 许可证
  2. 插件面向 Web profile;安装命令需带 --profile web
  3. 社区目录 SkillHub 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;版本与兼容信息以仓库 README 为准。
  4. 当前 package.json 版本为 2.1.1;大 JSON 压缩等功能在 Unreleased 变更中,升级后留意 release 说明。

结尾

dsh-web-mobile 把 DSH Web UI 的侧栏、弹窗、输入区和安全区适配到移动端,并在宽屏下保持 no-op,不额外干扰桌面体验。若你希望在手机上也能顺畅管理 DSH 会话,可以按官方命令安装试用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜