raomaiping-hash/dsh-client-ui-mobile

Mobile UI optimizer for the DeepSeek Harness Web GUI — drawer sidebar, full-screen settings, safe areas, touch-friendly targets.

Reshapes the DeepSeek Harness Web GUI below a max-width: 820px breakpoint without touching upstream code (a <style> block plus a small React overlay): the sidebar becomes a left drawer with either an in-flow expand button next to the official Session log button or a floating action button, closed by backdrop or Esc and auto-closed on session switch; the settings dialog becomes a full-screen sheet with scrollable section tabs and safe-area insets; the right sidebar / details column docks as a bottom sheet; the hover-only tool-row Inspect button is revealed and enlarged to a 32 px touch target; and the composer gets safe-area insets, 16 px input font and touch-action: manipulation. Selectors deliberately target stable attributes and CSS-module local-name suffixes so they survive DSH frontend rebuilds.

uncategorized ★ 0 updated 2026-08-17
View on GitHub ↗

Install

dsh plugin --profile web add github:raomaiping-hash/dsh-client-ui-mobile

README install: the GitHub form for the web profile, optionally pinned to a commit for reproducibility (dsh plugin --profile web add github:raomaiping-hash/dsh-client-ui-mobile#<sha>); then restart the DSH Web process and open the GUI on a phone-width viewport (or resize the browser to ≤ 820 px). A tarball form is also documented (dsh plugin --profile web add ./dsh-client-ui-mobile-0.1.0.tgz from pnpm pack). The plugin is pure ESM with no build step and no install scripts — nothing executes at install time. Uninstall with dsh plugin --profile web remove dsh-client-ui-mobile and restart.

Compatibility

Declared target DSH 0.1.5-rc.2 (dshTarget in package.json; previously 0.1.3-alpha.2). README note on 0.1.5: the AppFrame was reworked — the details column is gone and only the rightbar column carries a data attribute ([data-rightbar-col] with data-rightbar-collapsed / -fullscreen / -instant), so the plugin targets stable attributes and CSS-module suffixes instead of hashed class names. Visual behavior still needs a phone-width E2E pass on 0.1.5-rc.2.

Details

Recent updates

README threat model: UI-only plugin — no host routes, no file access, no network and no settings persistence; it reads ctx.layout and ctx.slots and writes only DOM nodes plus a <style> tag, all torn down on stop/update, and the README recommends pinning a commit hash for reproducibility. Development is deliberately light: node --check client.js and node tests/smoke.mjs; client-HMR picks up edits without a rebuild.

FAQ

How do I install dsh-client-ui-mobile?
Run dsh plugin --profile web add github:raomaiping-hash/dsh-client-ui-mobile (optionally with #<sha> to pin a commit), then restart the DSH Web process and open the GUI at ≤ 820 px width. A tarball form from pnpm pack is also documented.
Does the plugin change the desktop layout?
No — everything is scoped to @media (max-width: 820px); the README states the desktop layout is untouched.
Is it safe to install?
The README documents it as a UI-only plugin: no host routes, no file access, no network and no settings persistence. It writes only DOM nodes and a <style> tag, all released on stop/update. As with any plugin, the README advises installing only from sources you trust and pinning a commit.

More plugins in uncategorized

Browse more in uncategorized

Guides for uncategorized plugins