DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Client Ui Android — DSH Plugin for DeepSeek Harness
← Plugins
C

dsh-client-ui-android

Client Ui Android

Android/mobile adaptation for the DeepSeek Harness web GUI: UA-based Android detection plus a touch-first mobile layout (off-canvas sidebar drawer, full-screen settings, single-line composer toolbar, safe-area insets)

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:LeMonXi-i/dsh-client-ui-android#2dccd8033f7510233510b916da9502ef0bc9bb1d
READMECompatibilityVersions
homedrawer
settings
composer

Compatibility and provenance

Client Ui Android is published as dsh-client-ui-android and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/21/2026

Versions

0.1.0stable
8/21/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
8/17/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in ui-customization.

Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundlePet@linxin666/dsh-petMulti-pet companion plugin for the dsh web GUI: a registry-driven floating pet that reacts to model activity, with per-pet naming, petting/feeding interactions and an affinity score

README

dsh-client-ui-android

Android / mobile adaptation for the DeepSeek Harness web GUI (dsh web).

When the GUI is opened from an Android phone (or any narrow touch screen), this plugin detects it and makes the desktop UI usable on a phone:

  • off-canvas sidebar drawer with a floating hamburger button,
  • full-screen settings with a horizontal nav row,
  • a single-line composer toolbar (+ / permission / model / send) that never overlaps,
  • safe-area insets, no double-tap zoom, tap-target polish.

English | 中文

Screenshots

Phone home (drawer)Drawer openSettings (Models)Composer toolbar
homedrawersettingscomposer

What it does

1. Android detection

At page load the browser half reads the user agent + UA-Client-Hints and stamps <html>:

  • data-platform="android", data-android="true" (+ data-android-version),
  • data-device-type="mobile|tablet|desktop", data-touch,
  • data-dsh-mobile / data-dsh-tablet + the dsh-mobile / dsh-android classes,
  • a debug snapshot at window.__DSH_DEVICE__.

2. Touch-first base (mobile & tablet)

  • viewport upgraded to viewport-fit=cover + interactive-widget=resizes-content (the composer stays above the Android keyboard, content avoids the cutout/gesture area),
  • safe-area insets on the app frame (env(safe-area-inset-*)),
  • touch-action: manipulation (no double-tap zoom / 300ms tap delay), 16px input font (no focus zoom), overscroll containment (no accidental pull-to-refresh).

3. Phone layout (data-dsh-mobile)

  • the AppFrame collapses to a single column,
  • the sidebar becomes an off-canvas drawer (hamburger button opens it, a scrim closes it), the details column becomes a slide-in drawer, drag handles are hidden,
  • drawers slide with left/right offsets — never transform — so position: fixed overlays (the settings modal is rendered inside the sidebar) are not trapped in a transformed containing block.

4. Settings modal on phones

Full-screen page with a horizontal nav row (the desktop two-column layout would otherwise squeeze the content column); long model names get ellipsis truncation and permission rows keep their text + selector pill from overflowing.

5. Composer toolbar row

On phones the "+" button, the permission button, the model name and the send button stay on one line: the permission trigger is compacted to an icon-only button (its name appears in the picker after tapping), and the model group may only shrink (name ellipsis) on very narrow screens — nothing ever overlaps.

6. Inert on desktop

Nothing changes when the platform is not Android / not a narrow touch device.

Install

Requires DeepSeek Harness >= 0.1.0-rc.6 (the web surface with client bundles).

Option A — from npm

dsh plugin --profile web add dsh-client-ui-android

Option B — from GitHub

dsh plugin --profile web add github:LeMonXi-i/dsh-client-ui-android

Option C — manual (no pnpm)

  1. Put the dsh-client-ui-android folder into ~/.dsh/profiles/web/node_modules/.
  2. Add it to dsh.profile.bundles in ~/.dsh/profiles/web/package.json:
"dsh": {
  "profile": {
    "bundles": [
      "@deepseek-ai/dsh-base",
      "@deepseek-ai/dsh-web-app",
      "dsh-client-ui-android"
    ]
  }
}

Then restart dsh web and refresh the page (hard refresh on the phone). Open the GUI from an Android phone and the adaptation kicks in automatically. On desktop nothing changes.

How it works

  • Host half (lib/index.js) — a minimal cordis loader entry. It exists so the profile loader can mount the package and the client-modules scanner can serve the browser bundle; it does nothing itself.
  • Browser half (lib/client.js) — declared via dsh.client in package.json (platform web, eager load). It is served at /plugins/dsh-client-ui-android/client.js and appears in window.__DSH_BOOT__. It runs the detection pass, injects a scoped stylesheet, tags the AppFrame / settings modal with stable data-* attributes, and mounts the hamburger + scrim into the shell.overlay slot.
  • Patch (cordis.patch.yml) — the profile patch row that activates the bundle.

The lib/*.js files are the source — plain JS, no build step required.

Compatibility

  • Android Chrome / WebView (modern), and any narrow touch browser (iOS included for the touch base layer).
  • The scoped CSS uses :has() (Chrome 105+/Safari 15.4+), 100dvh, and interactive-widget=resizes-content (Chrome 108+) with graceful fallbacks.

Development

# edit lib/client.js, then copy the folder into the profile and restart
# or use the HMR flow: pnpm run dev:web from the deepseek-harness checkout

License

MIT