前言¶
DeepSeek Harness 的 Web 服务器出于安全设计只绑定 127.0.0.1,且官方禁止使用 --host 0.0.0.0。这导致开发者无法直接从局域网或公网访问 GUI。dsh-mobile-access 插件通过在 PC 端运行网关代理,填补了这一空白。它不仅实现了端口转发,还内置了 PC 端审批门禁与网络环境自动识别功能,确保移动端访问的安全性。
核心功能¶
- PC 端审批门禁:手机设备首次访问必须由 PC 端批准。支持批准、拒绝、撤销、恢复、删除以及“取消授权并删除”操作。
- 网络环境自动识别:自动识别访问来源为局域网(LAN)、VPN 或公网直连。网络环境变化时,手机端会弹窗询问是否切换模式。
- 外网安全访问:公网直连时会提示改用 Tailscale 或 ZeroTier。PC 端面板可开启“禁止公网直连”策略,强制拦截公网来源的设备。
- 实时状态同步与转发:PC 端“当前会话”自动同步到手机端,且支持 WebSocket 实时转发(
/api/events.mux、/api/events.host)。 - 移动端适配:自动适配移动端 UI,主题跟随 DSH 主题 token(支持深色/浅色及第三方皮肤),输入栏工具区与操作区自动分行。
安装与启用¶
本插件是静态插件包,随 DSH 启动自动加载。安装后无需每次重启重新部署。
执行以下命令安装:
# 方式一:本地安装
dsh plugin --profile web add dsh-mobile-access
# 方式二:从 GitHub 安装(锁定版本 v1.0.5)
dsh plugin --profile web add dsh-mobile-access@github:TongaiLinC/dsh-mobile-access#v1.0.5
安装后,重启 DSH。启动成功后,PC 页面右下角会出现一个蓝色“📱”悬浮按钮。
使用流程¶
1. 启动网关(PC 端)¶
点击右下角的“📱”按钮打开移动端访问面板,点击 “启动网关”。
该网关默认监听 0.0.0.0:3081。如果使用 Windows 系统,首次启动时请允许防火墙放行该端口的入站连接。
2. 访问与扫码(手机端)¶
- 局域网访问:手机连接同一 Wi-Fi,使用相机或微信扫描 PC 面板上的二维码,或直接在浏览器输入
http://<PC局域网IP>:3081。 - 公网访问:建议使用 Tailscale 或 ZeroTier 等工具建立 VPN 隧道后,通过 VPN 地址访问。
3. 首次审批¶
手机首次访问会进入门禁页面。给设备命名并提交申请后,PC 端面板的“设备审批”区会出现该设备。点击 “批准” 后,手机端约 3 秒内会自动放行进入 GUI。
4. 设备与策略管理(PC 端)¶
- 设备管理:在 PC 面板中,你可以对设备执行批准、拒绝、撤销、恢复或删除操作。
- 安全策略:开启“禁止公网直连”策略后,所有来自公网的设备请求将被强制拦截,必须走 VPN 访问。
注意事项¶
- 安全风险:网关链路无 TLS 加密,Cookie 与对话内容存在被嗅探风险。强烈建议通过 VPN(如 Tailscale/ZeroTier)加密访问,而非直接使用 HTTP。
- 身份认证:旧版公开的
x-dshm-admin: 1头已废弃,任何局域网设备都能伪造它。新版采用x-dshm-admin-token结合回环地址校验,确保管理权限仅限 PC 本机。 - 数据持久化:设备与策略数据保存在
$DSH_HOME/dsh-mobile/state.json文件中。 - 防火墙:Windows 用户需确保防火墙允许
node.exe对端口 3081(默认)的入站连接。
总结¶
该插件解决了 DSH Web GUI 仅绑定本地的问题,通过 PC 端作为中继网关,实现了移动端安全、可控的访问方式。对于需要在多设备间切换或使用移动设备开发智能体的用户,它提供了一个低侵入、功能完整的解决方案。