dsh-mobile-first
DSH 移动端 UI 适配:手机、平板、窄窗口下让 Web 界面真正可用(仅用声明式插槽,抗版本更新)|Mobile-first UI adaptation for the DeepSeek Harness web client
- Stars
- 0
- Language
- —
- Created
- Sep 17, 2026
- Updated
- Sep 17, 2026
Introduction
dsh-mobile-first
状态:规划中 · Status: planned. 尚无可用版本。
让 DSH 的 Web 界面在手机、平板与窄窗口下真正可用。仅使用声明式插槽,跟着官方版本走。
要解决什么
DSH 的 Web UI 是为宽屏设计的。在手机上:
- 工具调用卡片一条条铺开,一屏只够看两条
- 代码块与 diff 横向溢出,读不了
- 虚拟键盘弹出时输入框被遮挡(
100vh的经典问题) - 桌面端的紧凑按钮点不中(触摸目标小于 44px)
- 长会话滚 300 轮才能回到上次提问的地方
计划做什么(窄范围,刻意如此)
只做最痛的四处,不做完整重设计:
- 工具调用与思考过程默认折叠成一行摘要,可展开
- 代码块与 diff 支持横向滚动与字号切换
- 输入区正确处理虚拟键盘的视口变化
- 触摸目标不小于 44px
不做什么
- 不做远程访问(手机连上 dsh 是另一个问题,
dsh-pocket等已在做,且竞争激烈) - 不做完整的响应式重设计:改动越大越容易和别的 UI 插件打架,也越难跟版本
- 绝不查询
[data-slot]之类的 DOM 锚点——只用slots.inject/slots.register
为什么这类插件容易烂尾,以及本项目怎么避免
写这个项目的动机很显眼——生态里 dsh-mobile-* 系列已有 25+ 个同名或近名仓库,而它们绝大多数在创建当天就停止推送,一个月后最高也只有 3★。
失败模式很清楚:DSH 的 UI 每个版本都在变,而"补丁式移动适配"要持续跟修,投入永不结束、回报又小,于是弃坑。
本项目的应对是三条纪律:
- 只碰声明式插槽(官方契约),不碰 DOM 结构;
- 范围刻意窄(上面四处),不追求"完整适配";
- 时间盒——不追求做全,做完四处就停。
License
MIT