Web GUI 移动端适配:窄屏全宽响应式布局、会话抽屉、44px 触摸目标、安全区适配与阅读增强,桌面端零影响。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:TZHR-invest/dsh-plugins#path:/packages/dsh-mobile-ui
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
dsh web 移动端 UI 优化插件:在手机(≤768px 视口)上把 dsh 变成真正的移动端体验。
- 响应式布局:隐藏左侧图标栏,内容全宽;会话列表以抽屉形式展开
- 右上角菜单按钮:新建 / 会话列表 / 设置 全部入口收纳进抽屉
- 阅读增强:消息间距、气泡宽度、辅助文本(工具行/上下文注入/状态统计)字号提升
- 触摸优化:防双击缩放延迟、点击高亮去除、输入框 16px(防 iOS focus 自动缩放)
- 安全区适配:env(safe-area-inset-*) 支持刘海屏
- 桌面零影响:所有增强仅在 ≤768px 媒体查询下生效
安装
# 在插件源码目录
bash install.sh # 安装(幂等)
bash install.sh --restart # 安装并重启 dsh web(含 headless 冒烟,插件问题自动中止)
bash install.sh --uninstall # 卸载
安装内容:
- 源码留档
~/.dsh/plugins/dsh-mobile-ui/ - 运行副本
~/.dsh/profiles/node_modules/dsh-mobile-ui/ - web profile 组合接线(
cordis.patch.yml插入插件行)
开发与验证
bash scripts/build.sh # 语法 + 契约预检(含 classic-script 校验)
bash scripts/package.sh # 打包 dist/dsh-mobile-ui-install.tar.gz
本地快速迭代:复制到 ~/.dsh/profiles/node_modules/dsh-mobile-ui/ 后刷新页面
(客户端插件有 HMR 通道,改 client.js 后页面自动更新)。
工作原理
- CSS 层:注入 style[data-plugin-css=dsh-mobile-ui],全部规则包在 @media (max-width:768px) 内,桌面端不加载任何效果。
- JS 层:matchMedia 驱动;窄屏时把主布局 grid 改为单列、隐藏侧边栏, 注入右上角菜单按钮 + 遮罩;菜单把侧边栏临时变为 fixed 抽屉(overlay)。
- hero 标题置顶:纯 CSS 实现——composerHero 栈在 hero 态撑满视口 (flex:1),输入卡 margin-top:auto 沉底,标题/工作区行自然留在顶部。
维护须知(重要)
- dsh 前端 CSS 类名是构建产物(hash 前缀),升级 dsh 后若选择器失效:
- 浏览器控制台确认 body.dsh-mobile-ui 类与 #dsh-mobile-tabbar 存在;
- 失效通常发生在布局类([class*=frame] 等),按新版类名前缀微调 CSS/JS;
- 修好后重新 bash install.sh。
- 布局探测采用「三列 grid + 首列 56px」结构识别(非类名硬编码), 对类名漂移有一定容错;按钮转发优先 aria-label(新建会话 等)。
- 严禁用 JS 移动 React 渲染的 DOM 节点(insertBefore/appendChild 搬动 pXSMma_root 等):React fiber 树仍记录旧父节点,重渲染时 removeChild 抛 NotFoundError,整个会话视图被卸载 → 页面空白。布局需求一律用 CSS (flex/order/:has)表达;hero 标题置顶即纯 CSS 实现。
回滚
bash install.sh --uninstall 后重启 dsh 即完全移除(不残留样式/导航 DOM)。
链接
同类插件
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 2622
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 1231
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 1198
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
omdsh-dev/dsh-at-file★ 214
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
huiliyi37/dsh-tianshu-tui★ 159
DeepSeek Harness 的终端 UI(TUI)。
Nagi-ovo/dsh-visualize★ 114
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。