dsh-plugin-mobile-ui:用手机远程操作本地 DeepSeek Harness

前言

DeepSeek Harness(DSH)的 Web 界面默认面向桌面浏览器:在本地跑 dsh web 时,用手机同一局域网访问往往还要自己折腾反向代理、域名或 VPS。若只想在通勤或外出时查看会话、发指令,常见做法是再装一层隧道插件、再配认证,组件分散。

下面介绍社区插件 dsh-plugin-mobile-ui(维护者 dexwebcode)。它归入 DSH 插件目录的「客户端」类,把密码门禁、公网隧道和移动端 UI 打在一个包里:嵌入本地 DSH 后自动起 Web 服务与隧道(默认 ngrok,可切 Cloudflare Tunnel),对外提供 React PWA,无需自备域名或 VPS,可加到手机主屏幕,并带登录保护与 WebSocket 流式能力。

这是什么

dsh-plugin-mobile-ui 是面向 DeepSeek Harness 的移动端访问插件。安装到 DSH 的 web 配置档后,在官方 Web UI 之上增加窄屏适配层,同时内置 relay(密码与 TLS 门禁)和 tunnel(经 ngrok 或 cloudflared 发布公网 HTTPS 链接)。桌面宽屏(宽度大于 1023px)仍使用原生界面,移动层仅在窄屏启用。

许可证为 MIT(见仓库 README)。当前资料中的包版本为 3.6.0(package.json)。

核心功能

以下能力均来自仓库 README 与 package.json 说明。

公网访问与隧道

  • 自动创建公网 HTTPS 链接,不依赖自购域名或 VPS。
  • 默认通过 ngrok 建隧道;若 ngrok 不可用(例如 ERR_NGROK_9040),可在启动 DSH 前设置环境变量 DSH_TUNNEL_PROVIDER=cloudflared,并使用 PATH 或 ~/.dsh/bin/ 中的 cloudflared 二进制(Cloudflare 方案无需账号)。
  • 支持配置多个 ngrok authtoken(带名称);当月流量用尽(ERR_NGROK_725)时可自动切到下一个,也可在设置里手动切换;界面提供 ngrok 流量条与可手调基线的计数。

安全与连接手机

  • 公网入口需自定义密码,长度至少 10 个字符。
  • 「手机连接」卡片提供 QR 与一次性 8 位连接码(有效期约 24 小时);扫码或打开公网链接后输入密码即可使用。登录 cookie 有效期约 30 天。
  • relay 对静态资源做 brotli 压缩,并结合 Service Worker 缓存,降低重复访问隧道流量。

移动端界面(PWA)

在窄屏上为官方 DSH Web UI 增加:

  • 顶栏按钮打开侧栏会话列表、新建会话;
  • 顶部状态与统计条、切换会话时的加载指示;
  • 输入框上方「滚到最新消息」按钮;
  • 键盘与可视区域处理、standalone PWA 清单与图标,可安装到主屏幕。

其他

  • 设置导航中 Mobile UI 分区排在首位;ngrok 令牌、公网链接、连接码与密码均在界面配置,无需改配置文件。
  • 若页面 12 秒内未加载或请求失败,界面会提示:从部分地区访问 DeepSeek 可能需要 VPN(README 中的区域提示)。

环境与依赖

要求 说明
DeepSeek Harness 已安装并可通过 dsh web 启动
Node.js ^22.19.0 或 >=24(包 engines)
ngrok authtoken 免费令牌,用于默认隧道
cloudflared 选用 Cloudflare 隧道时必需
pnpm dsh plugin 通过 pnpm 管理配置档包,需在 PATH 中

隧道二进制(ngrok 或 cloudflared)须位于 PATH 或 ~/.dsh/bin/(Windows 示例:~/.dsh/bin/ngrok.exe)。

安装与启用

插件安装到 DSH 的 web 配置档。README 给出多种方式,任选其一。

从 npm(Plugin Hub 一行安装):

dsh plugin --profile web add dsh-plugin-mobile-ui

从 GitHub:

dsh plugin --profile web add github:dexwebcode/dsh-plugin-mobile-ui

仓库已包含构建产物(lib/、vendor/relay.js),从 git 源安装即可使用。

从本地打包文件:

在已克隆的仓库中执行 npm run build 或 npm pack,再安装生成的 dsh-plugin-mobile-ui-<版本>.tgz:

dsh plugin --profile web add "/绝对路径/dsh-plugin-mobile-ui-3.6.0.tgz"

也可在 DSH Web 界面 设置 → 插件 中添加 GitHub 仓库或 tarball。

安装后运行 dsh web,打开 设置。若出现 Mobile UI 且位于列表靠前,说明插件已加载到当前配置档;若无该分区,检查 --profile web 是否与正在运行的配置档一致。

典型用法

README「快速开始」流程可概括为下面步骤。

  1. 按上一节完成安装。
  2. 启动 Harness:
dsh web
  1. 在本地 Web UI 打开 设置 → Mobile UI。
  2. 在 ngrok 令牌 字段粘贴 ngrok 控制台 的 authtoken,点保存;可通过「添加令牌」增加多组「名称 + 令牌」。
  3. 等待 隧道 卡片出现公网链接。
  4. 在 登录密码 中设置不少于 10 位的密码(分享链接前务必完成)。
  5. 用手机扫描 手机连接 卡片中的 QR,或打开公网链接并输入屏幕上的 8 位码,再输入密码。

若需改用 Cloudflare 隧道,在启动 DSH 前设置:

export DSH_TUNNEL_PROVIDER=cloudflared

并确认 cloudflared 可用,再执行 dsh web。

适用场景与注意

适合: 已在本机运行 DSH,希望用手机在任意网络下操作同一实例的开发者;不想单独维护域名、VPS 或额外隧道插件,且能接受 ngrok 免费额度或自建 cloudflared 的同学。

注意:

  • 插件与 DSH 同属本地进程生态:dsh plugin 在配置档目录内通过 pnpm 安装包,插件逻辑以当前 DSH 进程权限运行。安装前建议阅读 GitHub 源码 与 MIT 许可证,公网链接与密码策略自行评估风险。
  • 公网暴露的是经 relay 保护的本地 Web UI,仍等同于远程控制本机 Harness,勿使用弱密码或长期泄露 QR/连接码。
  • 社区插件目录(如 SkillHub 上的条目)由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 本身遵循「一切皆插件」的扩展方式,本插件是其中一条客户端向的补充路径。

结尾

dsh-plugin-mobile-ui 把隧道、密码门禁和移动 PWA 层收进单次 dsh plugin --profile web add … 安装,在设置里配好 ngrok(或 cloudflared)与密码即可用手机管本地 DSH。进一步了解参数与安全章节见仓库 README。

  • 插件目录页:https://www.skillhub.cn/plugins/dexwebcode/dsh-plugin-mobile-ui
  • 源码与文档:https://github.com/dexwebcode/dsh-plugin-mobile-ui
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜