DeepSeek Harness Hub
← 返回列表

移动端适配ddtcorex/dsh-maestro-mobile

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

把网页界面转成手机抽屉与底部面板布局

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/15 · 已提供中文文档

DeepSeek Harness Web UI 的竖屏与移动端适配——覆盖式抽屉、全宽对话、底部弹窗对话框、安全区域处理。低于 1024px 时进行适配;在 ≥1024px 时不做任何操作。

综合分
30.7
GitHub 分
30.7
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ddtcorex/dsh-maestro-mobile
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包@ddtcorex/dsh-maestro-mobile(未发布到 npm,仅可源码安装)
Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 10:26:18

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-sidebar@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-session-log-export
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-maestro-mobile

针对 DeepSeek Harness (DSH) Web UI 的移动端适配。在低于 1024px 的触控优先设备上,它会把侧边栏变成覆盖式抽屉,将对话框改为底部面板,并针对手机调整输入区;任何鼠标驱动的窗口,无论宽度如何,都完全不做任何改动——窄桌面窗口或缩放显示永远不会进入移动端外壳。

你能获得什么

| 能力 | 工作原理 |
|---|---|
| 侧边栏 → 抽屉 | 在低于 1024px 的触控优先设备上,侧边栏变成左侧覆盖式抽屉(约 80vw,打开时为 transform:none);桌面端在任何宽度下都不受影响 |
| 对话框 → 面板 | 设置、资源管理器和预览变为移动端友好的底部面板,并处理 env(safe-area-inset-*) 和刘海避让 |
| 状态栏与安全区域 | 状态栏 / 刘海内边距、浅色/深色 theme-color,以及 touch-action: manipulation + gesturestart 防护,防止双击缩放 |
| 输入区保持整洁 | 权限胶囊、模型名称和切换菜单使用固定尺寸固定,因此在窄屏上永远不会被挤压或重叠 |
| 平板友好 | 768–1023px 居中、宽度受限的面板;手机和平板几何布局分别验证 |
| 易于诊断 | 追加 ?dsh-maestro-mobile-debug=1(旧版 ?mobile-nav-debug=1)可显示一个浮动栏,包含视口 / 帧 / 浮动面板 / JS 错误状态 |

要求

- Node.js ≥ 22,pnpm ≥ 11
- 一个正在运行的 DeepSeek Harness web profile(pnpm dsh web)
- 支持 :has() 选择器的 Chromium 105+

安装

从注册表安装
dsh plugin --profile web add @ddtcorex/dsh-maestro-mobile

本地开发(实时链接:编辑 + 重新构建即可生效)
dsh plugin --profile web add link:/path/to/dsh-maestro-mobile

lib/ 是被 gitignore 的构建输出:pnpm build 会在本地生成它,而 pnpm-workspace.yaml 包含全新安装所需的 allowBuilds.esbuild 条目。安装后或任何 pnpm build 后,请重启 dsh web。

手动添加 cordis.yml 行

如果你不使用 dsh plugin,请将以下行添加到你的 cordis.yml:

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

开发

pnpm install        # 安装(pnpm@11.7.0,lockfile v9)
pnpm verify         # 类型检查 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 都是必需的关卡;lib/ 是被 gitignore 的构建输出,因此在构建于本地刷新它之前,更改都不算完成。

可选的 CDP 回归探测(需要在 :3080 上运行一个实时 DSH Web):

DSH_PROBE_SESSION_ID= pnpm smoke:cdp

架构

- Host / client 分离是承重设计:src/index.ts 是有意留空的 host apply();所有浏览器行为都位于 src/client/。
- src/client/index.tsx 注入 ['slots','layout','locale','sessionLogDownload'],注册语言字典,注入一个  标签,并注册两个插槽(MobileNavToggle 和 MobileDrawerFooter)。
- 共享全树协调器:reconciler-core.ts(零导入引擎)+ phone-chrome.ts(单个 MutationObserver 驱动 installMobileEffect)。
- 样式按 tokens → base → layout → sheet → explorer-sheet → composer → settings-sheet → misc 顺序拼接进一个标签;移动端规则针对 (max-width: 1023px) and (pointer: coarse)。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群