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 作爲社區插件,通過擴展官方接口,實現了無需改動源碼的局域網接入方案。

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

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

小夜