Back to home

jackuh105

dsh-mobile-ui

Responsive mobile CSS plugin for DeepSeek Harness (dsh): turns the web settings panel into a full-screen sheet with a top tab bar and pinned close button on small screens.

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-mobile-ui

English | 繁體中文

Responsive CSS override plugin for the DeepSeek Harness (dsh) web settings panel.

What it does

On viewports ≤ 680px (mobile browsers), it:

  • Turns the 800px-wide desktop settings modal into a full-screen vertical sheet.
  • Converts the 188px left nav rail into a full-width, horizontally scrollable tab bar at the top.
  • Pins the close button to the top-right corner.
  • Makes the content area fill the remaining height with independent scrolling and safe-area padding.
  • Lets General settings rows wrap instead of squeezing their controls off-screen.

Desktop / tablet (>680px) is unaffected.

Install

From GitHub

dsh plugin --profile web add -w https://github.com/jackuh105/dsh-mobile-ui.git

From a local checkout

git clone https://github.com/jackuh105/dsh-mobile-ui.git
cd dsh-mobile-ui\..
dsh plugin --profile web add -w ./dsh-mobile-ui

dsh plugin automatically adds this package to the web profile's bundle list because it declares dsh.bundle.

Restart the web profile after installing:

dsh web

If you access the web UI through a reverse proxy such as Tailscale, keep your existing startup flags (for example --trusted-host).

Verify

Open the browser developer tools and confirm the returned HTML <head> contains:

<style id="dsh-mobile-ui">...</style>

Or narrow a desktop browser window below 680px and open the settings panel to see the layout change.

Uninstall

dsh plugin --profile web remove dsh-mobile-ui

Then restart dsh web to restore the original layout.

Tweak

Edit the CSS string in lib/index.js (for example change the 680px breakpoint), then restart dsh web.

Compatibility

The CSS selectors currently target the settings panel structure of dsh 0.1.0-rc.6. If dsh is upgraded and its class names change, the selectors may need to be updated.

Troubleshooting

If dsh plugin --profile web add fails with ERR_PNPM_ADDING_TO_ROOT, add -w before the package spec:

dsh plugin --profile web add -w https://github.com/jackuh105/dsh-mobile-ui.git

The dsh profile directory is a pnpm workspace root, and some pnpm versions require -w to install into it. dsh plugin forwards the flag verbatim to pnpm.