DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
M

@ddtcorex/dsh-maestro-mobile

Maestro Mobile

DeepSeek Harness Web UI 的竖屏和移动端适配——覆盖式抽屉、全宽对话、基于底部面板的对话框、安全区域处理

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:ddtcorex/dsh-maestro-mobile#7c2347298d0ac4d8ae01386170ca0fc298c47369
README兼容性版本

兼容性与来源证明

Maestro Mobile 以 @ddtcorex/dsh-maestro-mobile 发布,当前版本为 1.9.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/11/4

版本

1.9.0stable
2026/11/4
1.8.1stable
2026/10/28
1.8.0stable
2026/10/26
查看其余 18 个版本收起版本
1.7.4stable
2026/10/21
1.7.3stable
2026/10/18
1.7.2stable
2026/10/17
1.7.1stable
2026/10/7
1.7.0stable
2026/10/4
1.6.2stable
2026/9/25
1.6.1stable
2026/9/24
1.6.0stable
2026/9/23
1.5.0stable
2026/9/22
1.4.0stable
2026/9/12
1.3.4stable
2026/9/11
1.3.3stable
2026/9/6
1.3.2stable
2026/9/4
1.3.1stable
2026/9/2
1.3.0stable
2026/9/1
1.2.0stable
2026/8/30
1.1.0stable
2026/8/28
1.0.0stable
2026/8/25

相关插件

正在加载相关插件…

最新版
1.9.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 2
周下载
0
最近提交
2026/11/4
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Better Sidebardsh-better-sidebarBetter Sidebar for DSH — 在一列中提供文件树、编辑器、变更、任务和侧边聊天,并为每个对话单独显示。同时提供服务,供其他插件注册侧边栏标签页和文件查看器。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包

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 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), DSH 0.2.x (verified on 0.2.2-alpha.2)
  • Chromium 105+ for the :has() selectors

Response compression is the host's job when it is enabled: with webServer configured compression: gzip (the deployed profile does this) the plugin leaves the responses alone, because DSH's own middleware already serves brotli/gzip and wins the writeHead race. On a profile that keeps the host default (compression: none) the plugin installs its own transparent gzip/brotli patch.

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

lib/ is gitignored build output: pnpm build produces it locally, and pnpm-workspace.yaml carries the allowBuilds.esbuild entry a fresh install needs. 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: 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           # node --test tests/*.test.ts (full suite)
pnpm test:core      # node --test tests/reconciler-core.test.ts tests/composer-keyboard-touch.test.ts (fast subset)
pnpm build          # tsc host + client && node scripts/build-client.mjs -> lib/

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

Optional CDP regression probe (requires a live DSH Web on :3080, PIN cookie; to probe the raw server instead, set DSH_PROBE_URL=http://127.0.0.1:3082/?token=<launch-token> as in docs/upstream/upgrade-runbook.md §2):

DSH_PROBE_SESSION_ID=<id> pnpm smoke:cdp

Architecture

  • Host / client split is load-bearing: src/index.ts owns the session-delete route (POST /api/mobile-nav.session.delete) plus the conditional response-compression patch; all browser behavior lives in src/client/.
  • The delete route authenticates through the host (connection.requestRejection) because the /api launch-token fence is a prefix route that an exact route shadows; it fails closed with 503 admission-unavailable when the host publishes no connection service.
  • src/client/index.tsx injects ['slots','layout','locale','sessionLogDownload','sessions','workspaces'], registers locale dictionaries, injects one <style data-plugin> tag, and registers three slots (MobileNavToggle in the session header, MobileDrawerFooter in the sidebar foot, ShellOverlay backdrop + FAB).
  • Shared full-tree reconciler: src/client/core/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