← Back to home@BOWLUNA

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 轮才能回到上次提问的地方

计划做什么(窄范围,刻意如此)

只做最痛的四处,不做完整重设计:

  1. 工具调用与思考过程默认折叠成一行摘要,可展开
  2. 代码块与 diff 支持横向滚动与字号切换
  3. 输入区正确处理虚拟键盘的视口变化
  4. 触摸目标不小于 44px

不做什么

  • 不做远程访问(手机连上 dsh 是另一个问题,dsh-pocket 等已在做,且竞争激烈)
  • 不做完整的响应式重设计:改动越大越容易和别的 UI 插件打架,也越难跟版本
  • 绝不查询 [data-slot] 之类的 DOM 锚点——只用 slots.inject / slots.register

为什么这类插件容易烂尾,以及本项目怎么避免

写这个项目的动机很显眼——生态里 dsh-mobile-* 系列已有 25+ 个同名或近名仓库,而它们绝大多数在创建当天就停止推送,一个月后最高也只有 3★。

失败模式很清楚:DSH 的 UI 每个版本都在变,而"补丁式移动适配"要持续跟修,投入永不结束、回报又小,于是弃坑。

本项目的应对是三条纪律:

  1. 只碰声明式插槽(官方契约),不碰 DOM 结构;
  2. 范围刻意窄(上面四处),不追求"完整适配";
  3. 时间盒——不追求做全,做完四处就停。

License

MIT