DeepSeek Harness(DSH)局域网访问插件:dsh-mobile-gateway

官方 dsh web 默认仅监听 127.0.0.1,手机 App 无法直接连接。dsh-mobile-gateway 插件解决了这个问题。它通过覆盖 webserver 配置,将服务器地址改为 0.0.0.0,并挂载一条 token 门控的 /m/api 前缀路由,供手机 App 使用。

核心功能

本插件主要提供以下能力:

  • 服务器监听所有网卡:通过 cordis.patch.yml 覆盖配置,无需修改源码或重新编译。
  • 手机调用全部 RPC:在官方 /api 旁挂载 /m/api 路由,验证 token 后进程内转发给官方 apiProxy,不触碰官方安全围栏。
  • 实时消息推送:提供 /m/api/events.mux 和 /m/api/events.host WebSocket 下行流,帧格式与官方一致。
  • 审批 / 提问应答:通过 /m/api/respond 接口直通官方 respond 通道。
  • 大图发送:放宽请求体上限,支持 500 MB 消息图片。
  • 管理页:提供 /m/ 路径,仅限本机访问。用于生成/轮换 token、按网卡生成配对二维码、管理设备列表与屏蔽。
  • 侧边栏入口:在官方 Web GUI 侧边栏底部(设置旁)显示手机图标,点击弹窗或转新标签页打开管理页。
  • 扫码配对:二维码编码 服务器\|令牌,配套 App 扫码自动填入。

安装

使用官方 CLI 安装插件:

dsh plugin --profile web add github:agent-mobile/dsh-mobile-gateway

配置

安装后需要配置 token。token 必填,其余字段有默认值。有两种配置途径:

途径一:profile patch

编辑 ~/.dsh/profiles/web/cordis.patch.yml:

- id: mobile-gateway
  config:
    token: 换成一个长随机串
    allowSettings: true        # 放行 settings.*,默认 true
    allowCredentials: true     # 放行 credentials.*,默认 true
    maxRequestBodyBytes: 750000000

途径二:Web GUI

在 Web GUI 的“设置 → 插件配置 → mobile-gateway”中修改,支持热生效。

配置字段说明

字段 默认 说明
token (必填) App 侧以 Authorization: Bearer <token> 呈现;留空插件拒绝启动
allowSettings true 放行 settings.describe/update/replace/mutate
allowCredentials true 放行 credentials.describe/set/unset
maxRequestBodyBytes 750000000 单请求体上限(须与官方 connection 行同步调大)

启动与使用

配置完成后,直接启动 dsh web 即可:

dsh web

启动后,终端会打印 LAN 地址(例如 LAN: http://192.168.1.5:3080)。手机 App(需 v1.0.35+)在同一 Wi-Fi 下,通过该 LAN 地址连接,并在请求头中携带 Authorization: Bearer <token>。

App 端点映射

App 需将请求前缀从官方 /api 改为 /m/api:

  • 官方 fork 直连:POST /api/<method>
  • 本插件路由:POST /m/api/<method>
  • 官方 WebSocket:ws://…/api/events.mux
  • 本插件 WebSocket:ws://…/m/api/events.mux

注意事项

  • 版本要求:已验证兼容 @deepseek-ai/dsh 0.1.2-rc.1,Node.js 版本需满足 ^22.19 || >=24。
  • 局域网边界:本插件仅提供局域网访问,不提供公网隧道。如需外网访问,需自行搭建 Cloudflare named tunnel 等带认证的通道。
  • 禁用 --trusted-host:不要使用 --trusted-host 参数,本插件通过独立路由实现安全隔离。
  • 卸载:如需停用,执行以下命令并重启:
dsh plugin --profile web remove dsh-mobile-gateway

生态背景

DeepSeek Harness(DSH)采用“一切皆插件”的设计理念。dsh-mobile-gateway 作为社区插件,通过扩展官方接口,实现了无需改动源码的局域网接入方案。

羽毛球分组比赛记分
小程序二维码

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

小夜