Plugin directory / UI & Skins / dsh-client-ui-responsive
dsh-client-ui-responsive
Verified · install-tested on dsh kelai141
What it does
dsh-client-ui-responsive — DSH plugin (ui)
Works — verified, early-stage project
dsh-client-ui-responsive — DSH plugin (ui) It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-client-ui-responsive
dsh-mobile 生态 · dsh-mobile-apk(壳 APK)· dsh-shell-termux(shell)· dsh-host-web-compat(浏览器兼容)· dsh-mobile(协调仓库,private)
Mobile-responsive AppFrame for the DeepSeek Harness
web UI. A drop-in replacement for the upstream ui-layout that adds a proper Mobile form
(<640px): drawer sidebar, bottom-sheet details, top bar with hamburger, and safe-area insets —
while keeping the Wide/Narrow behavior byte-identical to upstream.
Quick start
1. Install — package into the web profile's node_modules (see dsh-shell-termux for the pattern).
2. Mount — in the profile's cordis.patch.yml:
- id: ui-layout
disabled: true
- insert:
- id: ui-responsive
name: '@dsh-android/dsh-client-ui-responsive'
3. Restart and verify the browser roster (window.__DSH_BOOT__ entries contain@dsh-android/dsh-client-ui-responsive, ui-layout is gone).
Breakpoint system
| tier | width | form |
|---|---|---|
| Wide | ≥1024px | three columns, upstream behavior |
| Narrow | 640–1024px | upstream auto-collapse rail + manual re-expand |
| Mobile | <640px | single column: sidebar → left drawer, details → bottom sheet, top bar + hamburger, safe areas |
Landscape phones (≥640 logical px) reuse the original Wide/Narrow UI unchanged.
Behavior notes
- Same slots, same services:
sidebar/conversation/details/shell.overlayandctx.layoutare provided identically to ui-layout — consumers (ui-sidebar, ui-conversation)
work unchanged. - Mobile state semantics: hamburger toggles the drawer (mask tap closes); opening details via
ctx.layout.openDetails()shows the bottom sheet;shell.overlaystays the top layer (z 20). - Rotation is instant: the frame switches tiers via the same rAF-throttled ResizeObserver;
prefers-reduced-motiondisables transitions.
Build
npm install # baseline pinned to @deepseek-ai/* 0.1.0-rc.6
npm run build # tsc (lib/types) + tsdown (lib/client.js browser bundle)
npm run typecheck
The browser bundle uses the __ModuleLoader__.load contract; rebuild before probing a live server
(the registry serves lib/client.js, not sources).
Testing
- Component specs: host CDP against a served page at 412px (drawer open/close, mask) and 1280px
(three-column regression) — see the project verification log in the coordination repo. - Old-kernel browsers (pre-ES2024 WebView) cannot load the client bundles; use a current WebView
(system WebView is fine) — the polyfill plugin helps for older kernels.
License
MIT. Derived from @deepseek-ai/dsh-client-ui-layout (MIT, © 2026 DeepSeek) — see NOTICE.
Design rationale: docs/design.md.
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-client-ui-responsive for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:kelai141/dsh-client-ui-responsive Headless (CLI) profile:
dsh plugin --profile headless add github:kelai141/dsh-client-ui-responsive Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.
When to use it
Change how dsh looks or how you interact with it — a theme, a skin, or a new panel that reshapes the workspace.
Who it's for
Users who spend hours in the web UI and want it to look and feel the way they work.
For developers — extending it
Skins, panels, and theme tokens are the extension points — author a new skin, add a panel, or sync tokens with an upstream palette.