dsh-iphone-mode

August 30, 2026 · View on GitHub

Mobile/touch optimizations for the DeepSeek Harness (DSH) Web GUI — makes the harness genuinely usable from a phone browser (e.g. over Tailscale).

What it fixes

Problem on iPhoneFix
iOS Safari zooms into any input under 16px on focus (composer, search boxes) and the layout never recoversfont-size: 16px on all inputs under @media (pointer: coarse) — desktop untouched
Content hidden under the notch / home indicatorviewport-fit=cover + env(safe-area-inset-*) body padding (portrait bottom, landscape sides)
Tiny touch targetsgentle 36px minimums on buttons/options under coarse pointers
Stock GUI dialogs render off-viewport at desktop width on a phone (Commands palette "doesn't work" — it opens, you just can't see it; menus clip both edges)viewport clamp: every [class*="_dialog_"] capped to calc(100vw - 24px) on narrow screens, with 16px inputs inside them too

Pure client-side plugin: injects one <style> tag and ensures the viewport meta allows cover fitting. No server-side work.

Install

cd /path/to/your-dsh-profile   # e.g. ~/.dsh/profiles/web
pnpm add github:johndfowler/dsh-iphone-mode
# append "dsh-iphone-mode" to dsh.profile.bundles in package.json
# restart `dsh web`

Pairs with (the mobile stack)

License

MIT