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.

Maestro Mobile — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
M

@ddtcorex/dsh-maestro-mobile

Maestro Mobile

Portrait and mobile adaptation for DeepSeek Harness Web UI — overlay drawer, full-width conversation, sheet-based dialogs, safe-area handling

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

npx -y @deepseek-ai/dsh plugin --profile web add github:ddtcorex/dsh-maestro-mobile#046e2e5a675a6f1f6196189d710b8ad32bd09963
READMECompatibilityVersions

Compatibility and provenance

Maestro Mobile is published as @ddtcorex/dsh-maestro-mobile and currently resolves to version 1.4.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
9/12/2026

Versions

1.4.0stable
9/12/2026
1.3.4stable
9/11/2026
1.3.3stable
9/6/2026
Show 6 more versionsCollapse versions
1.3.2stable
9/4/2026
1.3.1stable
9/2/2026
1.3.0stable
9/1/2026
1.2.0stable
8/30/2026
1.1.0stable
8/28/2026
1.0.0stable
8/25/2026

Related plugins

Loading related plugins…

Latest
1.4.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
Not declared
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
9/18/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

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsClient 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 bundle

README

dsh-maestro-mobile

Mobile adaptation for the DeepSeek Harness (DSH) Web UI. On touch-primary devices below 1024px it turns the sidebar into an overlay drawer, sheets the dialogs, and tunes the composer for phones; any mouse-driven window, at every width, is a complete no-op — a narrow desktop window or a scaled display never gets the mobile shell.

What you get

CapabilityHow it works
Sidebar → drawerOn touch-primary devices below 1024px the sidebar becomes a left overlay drawer (~80vw, transform:none when open); desktop is untouched at every width
Dialogs → sheetsSettings, explorer, and preview become mobile-friendly bottom sheets with env(safe-area-inset-*) handling and notch avoidance
Status-bar & safe areasStatus-bar / notch padding, light/dark theme-color, and touch-action: manipulation + gesturestart guard against double-tap zoom
Composer stays cleanPermission capsule, model name, and switch menus use fixed-size pinning so they never squeeze or overlap on narrow screens
Tablet friendly768–1023px centered, width-constrained sheets; phone and tablet geometries are verified separately
Easy diagnosticsAppend ?dsh-maestro-mobile-debug=1 (legacy ?mobile-nav-debug=1) for a floating bar with viewport / frame / floating-panel / JS-error state

Requirements

  • Node.js ≥ 22, pnpm ≥ 11
  • A running DeepSeek Harness web profile (pnpm dsh web)
  • Chromium 105+ for the :has() selectors

Install

# from the registry
dsh plugin --profile web add @ddtcorex/dsh-maestro-mobile

# local development (live link: edit + rebuild just works)
dsh plugin --profile web add link:/path/to/dsh-maestro-mobile

The repo ships committed lib/ build output, so there is no allowBuilds block. Restart dsh web after installing or after any pnpm build.

Manual cordis.yml row

If you are not using dsh plugin, add this row to your cordis.yml:

- id: dsh-maestro-mobile
  name: '@ddtcorex/dsh-maestro-mobile'

Development

pnpm install        # install (pnpm@11.7.0, lockfile v9)
pnpm verify         # type-check host + client (tsc --noEmit)
pnpm test:core      # node --test tests/reconciler-core.test.ts
pnpm build          # tsc host + client && node scripts/build-client.mjs -> lib/

pnpm build is the required gate after any source change; lib/ is committed, so a change is incomplete until the build refreshes it.

Optional CDP regression probe (requires a live DSH Web on :3080):

DSH_PROBE_SESSION_ID=<id> pnpm smoke:cdp

Architecture

  • Host / client split is load-bearing: src/index.ts is the intentionally empty host apply(); all browser behavior lives in src/client/.
  • src/client/index.tsx injects ['slots','layout','locale','sessionLogDownload'], registers locale dictionaries, injects one <style data-plugin> tag, and registers two slots (MobileNavToggle and MobileDrawerFooter).
  • Shared full-tree reconciler: reconciler-core.ts (zero-import engine) + phone-chrome.ts (a single MutationObserver driving installMobileEffect).
  • Styles are concatenated tokens → base → layout → sheet → explorer-sheet → composer → settings-sheet → misc into one tag; mobile rules target (max-width: 1023px) and (pointer: coarse).

License

MIT