前言¶
DSH 插件生态遵循「一切皆插件」的思路。对于已经在使用 DSH 的人来说,如果希望在 iPhone 上继续访问同一套 DeepSeek Harness,就需要一个可供 iOS 客户端连接、且带设备鉴权的 WebSocket 入口。
dsh-plugin-mobile-gateway 面向这个场景:它安装在 DSH Web 插件 profile 下,在 DSH WebUI 中提供“移动设备”入口,用于开启网关、生成配对二维码和管理可信设备。
这是什么¶
dsh-plugin-mobile-gateway 由 Clarklevis1995 维护,许可证为 MIT。它让 iPhone 通过经过设备鉴权的 WebSocket 连接 DeepSeek Harness。
插件使用的 WebSocket 路径为:
/ws/mobile
当前 package.json 版本为 0.6.5。Linux 服务器一键公网安装从 v0.6.4 开始提供。
核心能力¶
下面介绍已核实的主要能力:
- 在 DSH WebUI 左侧边栏提供“移动设备”入口
- 可开启网关、生成配对二维码和管理可信设备
- 支持局域网 WebSocket 接入:
ws://<局域网 IP>:3081/ws/mobile - 支持 Linux 服务器公网 WebSocket 接入:
wss://<公网 IP>/ws/mobile - 通过二维码进行 iOS 设备配对
- 支持通过 Tailscale Serve 或 Cloudflare Quick Tunnel 远程连接
3081端口 - Linux 服务器公网场景可安装系统 Helper、Nginx、Certbot 和证书续期定时器
- 提供
status、remove、remove-helper等公网入口/Helper 管理命令
安装与启用¶
安装前确认已安装 dsh CLI 和 pnpm,并能正常启动 dsh web。
执行以下命令安装插件:
dsh plugin --profile web add dsh-plugin-mobile-gateway@latest
安装后停止并重新启动 WebUI:
dsh web
启动后打开 WebUI,确认左侧边栏出现“移动设备”。
局域网配对¶
如果 iPhone 与运行 DSH 的电脑位于同一局域网,可以按下面的步骤配对。
1、打开 WebUI 的“移动设备”。
2、开启“允许移动设备连接”。
3、保持“设备鉴权”开启。
4、填写设备名称并点击“生成配对二维码”。
5、在 iOS 客户端打开“设备认证”,扫描二维码。
6、等待 WebUI 的可信设备显示“在线”。
局域网接入地址为:
ws://<局域网 IP>:3081/ws/mobile
注意:
- 配对二维码只能使用一次,并会在 5 分钟后过期。
- 如果系统防火墙拦截连接,只允许私有网络访问 TCP
3081。 - 不要把 TCP
3081开放到公网,也不要开放 DSH WebUI 端口。
Linux 服务器公网接入¶
Linux 服务器公网配对适用于带固定公网 IPv4 的 Ubuntu/Debian 服务器,当前尚不支持 CentOS。
先执行初始化命令:
npx --yes dsh-plugin-mobile-gateway@latest init
该命令会请求一次 sudo 权限,用于安装系统 Helper、Nginx、Certbot 和证书续期定时器。执行完成后启动或重新启动:
dsh web
进入 WebUI 的“移动设备”,在“公网接入”填写公网 IPv4,并点击“配置公网接入”或“更新公网配置”。
公网 WebSocket 地址为:
wss://<公网 IP>/ws/mobile
配对步骤与局域网相同,但公网调试时必须保持“设备鉴权”开启。
使用 Tailscale 或 Cloudflare Quick Tunnel¶
如果没有直接的公网 IPv4 入口,可以使用 Tailscale Serve 或 Cloudflare Quick Tunnel 将 3081 端口转发出来。使用前先启动 dsh web,并在“移动设备”面板开启“允许移动设备连接”和“设备鉴权”。
Tailscale Serve 可执行:
tailscale serve --bg 3081
然后将生成的地址改为:
wss://<设备名>.<tailnet>.ts.net/ws/mobile
填入 WebUI,再生成二维码配对。
Cloudflare Quick Tunnel 可执行:
cloudflared tunnel --url http://127.0.0.1:3081
命令行会显示类似:
https://<随机名称>.trycloudflare.com
将地址改为:
wss://<随机名称>.trycloudflare.com/ws/mobile
填入 WebUI,再生成二维码配对。Cloudflare Quick Tunnel 仅用于临时调试,地址每次可能变化且没有可用性保证。
管理与卸载¶
查看公网入口状态:
sudo env "PATH=$PATH" npx --yes dsh-plugin-mobile-gateway@latest status
插件还提供 remove 和 remove-helper 两类管理命令,分别用于移除公网入口或系统 Helper。执行前请确认当前服务器用途。
卸载插件:
dsh plugin --profile web remove dsh-plugin-mobile-gateway
源码开发¶
源码开发时需要以 file: 路径安装插件,并重启 dsh web。
适用场景与注意¶
- 适合需要在 iPhone 上通过 iOS 客户端接入 DSH 的场景。
- 适合局域网、Linux 服务器公网 IPv4,或通过 Tailscale / Cloudflare Quick Tunnel 远程连接的场景。
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证。 - 不要把 DSH WebUI 端口或 TCP
3081开放到公网。 - 公网调试时必须保持设备鉴权开启。
- 配对二维码只能使用一次,并会在 5 分钟后过期。
- Linux 服务器公网接入适用于 Ubuntu/Debian,当前不支持 CentOS。
链接¶
GitHub 仓库:
https://github.com/Clarklevis1995/dsh-plugin-mobile-gateway