插件目录 / UI & Skins / dsh-client-ui-responsive
dsh-client-ui-responsive
已验证 · 实测可装 kelai141
功能简介
dsh Web UI 的移动响应式 AppFrame——派生自 dsh-client-ui-layout,新增 <640px 抽屉侧栏、底部 sheet 与安全区。
可用 — 实测通过,早期项目
dsh Web UI 的移动响应式 AppFrame——派生自 dsh-client-ui-layout,新增 <640px 抽屉侧栏、底部 sheet 与安全区。 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
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.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-client-ui-responsive」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
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 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
改变 dsh 的外观或交互方式——一套主题、皮肤或新面板,重塑工作区。
适合谁
在 web UI 里一待几小时、想让它按自己的习惯好看又好用的人。
二次开发建议
皮肤、面板和主题 token 是扩展点——写新皮肤、加面板,或与上游配色同步 token。