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.
Install
dsh plugin --profile web add github:raomaiping-hash/dsh-client-ui-mobileREADME 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
- Repo: raomaiping-hash/dsh-client-ui-mobile
- Category: uncategorized
- Stars: 0
- Version: GitHub install (the README's install section documents the GitHub and tarball forms and claims no npm release; the unrelated npm name dsh-client-ui-mobile 0.1.9 has registry repository → github.com/gihungdang/dsh-client-ui-mobile, verified 2026-09-12, so it is not used as this page's install form)
- Last push: 2026-08-17
- First seen: 2026-08-17
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.