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.