kelai141 / dsh-client-ui-responsive

목록에 있음

dsh Web UI 的移动响应式 AppFrame——派生自 dsh-client-ui-layout,新增 <640px 抽屉侧栏、底部 sheet 与安全区。

main도구 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:kelai141/dsh-client-ui-responsive

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 9cbc9cd동기화 2026. 8. 18.

dsh-client-ui-responsive

🌐 中文说明 / 中文 README

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

tierwidthform
Wide≥1024pxthree columns, upstream behavior
Narrow640–1024pxupstream auto-collapse rail + manual re-expand
Mobile<640pxsingle 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.overlay and ctx.layout are 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.overlay stays the top layer (z 20).
  • Rotation is instant: the frame switches tiers via the same rAF-throttled ResizeObserver; prefers-reduced-motion disables 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.

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

테스트감지됨
문서감지됨

저장소 정보

언어
TypeScript
라이선스
MIT
마지막 업데이트
2026. 8. 18. 오후 12:17

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.