dsh-phone-bridge:用手机跨网访问电脑上的 DSH 会话

前言

DeepSeek Harness(DSH)的 Agent 会话通常开在桌面客户端或本机 dsh web 上。离开工位后,若仍想发文字、传截图并看到回复流式输出,常见做法是远程桌面或把服务暴露到公网——前者笨重,后者对私人会话来说风险偏高。下面介绍的 dsh-phone-bridge(GitHub:chs-1108/dsh-phone-bridge)走另一条路:手机与电脑各自加入你名下的 Tailscale tailnet,在 WireGuard 加密的对等网络上访问 DSH 自带的 webServer,不经过公网中继、也不改 DSH 核心。

这是什么

phone-bridge 是社区维护者 chs-1108 为官方 DeepSeek Harness 编写的客户端类插件(当前 Release v1.1.2,MIT 许可证)。手机侧用浏览器或原生 Android 壳打开一个小型 Web 界面,把文字和图片送入真实的 DSH 会话,并通过 sessionController 订阅助手流式输出,在手机上边生成边读。

数据路径可概括为:

Phone (WebView / browser)
   │  HTTP over Tailscale — encrypted WireGuard, peer to peer
   ▼
DSH webServer  ──▶  /phone-bridge 路由  ──▶  sessionController  ──▶  model

插件只消费 DSH 公开的 webServer 与 sessionController 服务,不补丁核心、不 fork 宿主。官方 Web 与桌面 EXE(README 标注兼容 DeepSeek Harness 0.2.0-rc.2)均支持,但需分别用 profile web 与 desktop 安装并 Apply。

核心功能

跨网访问,不绑同一 Wi-Fi

手机与 PC 登录同一 Tailscale 账号后,各得稳定的 100.x.y.z 地址。切换 Wi-Fi 或蜂窝数据时 URL 不必跟着改。README 明确:无公网服务器、无第三方中继;流量在你自建的 tailnet 内。

真实会话,流式回复

消息进入普通 DSH 会话,而非旁路通道。可通过 /api/prefs 把 bridge 固定到指定会话,或由插件懒创建并复用。插件订阅 sessionController.follow({ assistantStream: true }),手机端轮询增量结果,长回答可边写边看。

文字与图片

单条消息支持文字及最多 8 张图片。Android APK 通过 onShowFileChooser 接入系统选择器(含拍照),经 MediaStore 写回可读 URI。不装 APK 时,现代浏览器打开同一 URL 亦可发文字、附图片。

一键部署(Windows)

仓库提供 install.cmd / setup-phone-bridge.ps1:在 Windows 10/11 上可自动安装 Tailscale、调整监听地址、注册插件、构建 APK 并通过 USB 推送到手机(需自备 Tailscale 账号;推机可选 adb)。APK 为通用构建,无内置地址,每位用户扫描自己 PC 上 DSH 生成的二维码配对。

环境与依赖

项目 要求
DSH 0.2.0 或更新,桌面 EXE 或 dsh web
Node.js ≥ 18
主机 部署脚本为 PowerShell,面向 Windows 10/11
手机 Android 7.0(API 24)及以上用 APK;或任意现代浏览器
账号 自备免费 Tailscale 账号

可选:仅构建 APK 时需 JDK 17 与 Android SDK build-tools 34.0.0。

安装与启用

Release 页:v1.1.2。手机装 phone-bridge-1.1.2.apk(约 249 KB);PC 侧可用 zip phone-bridge-plugin-1.1.2.zip 或直接从 GitHub 添加插件。

1、PC 安装插件并重启 DSH

桌面 profile 官方示例:

# 从 GitHub 安装插件,然后重启 DSH
dsh plugin --profile desktop add github:chs-1108/dsh-phone-bridge

若已下载 zip,可改为:

dsh plugin --profile desktop add "D:\path\to\phone-bridge-plugin-1.1.2.zip"

重启 DSH 后打开 Settings → Phone Sync,出现二维码即表示插件侧就绪。使用 dsh web 时须用 profile web 单独安装同一仓库插件(与 desktop 分开 Apply)。

2、两端安装 Tailscale 并登录

PC 从 tailscale.com/download 安装;手机从 Play Store 安装。两侧使用同一 Tailscale 账号。

3、修改监听地址(必做)

DSH 的 web 服务默认绑定 127.0.0.1,只接受本机浏览器;经 Tailscale 来的手机请求会被直接拒绝。

推荐在 Settings → Phone Sync 中,若出现「仅监听 loopback」的红色提示,点击 Fix it for me:插件会定位当前 profile 的 cordis.patch.yml,修改 host 并在旁生成带时间戳的备份,之后需完全退出并重新打开 DSH。

手动编辑路径:

  • Windows:%USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml
  • macOS / Linux:~/.dsh/profiles/desktop/cordis.patch.yml

在 webserver 条目中把 host 改为可被 tailnet 访问的地址(资料中完整 YAML 见仓库 README「Manual」一节)。

4、手机安装 APK 并配对

adb install -r phone-bridge-1.1.2.apk

打开应用,在 DSH Settings → Phone Sync 扫描 PC 上的二维码。APK 不内置服务器地址,每人只连自己的 PC。

README 亦给出三步速览(含上述 dsh plugin 与 Tailscale、APK 安装),可与上文对照使用。

典型用法

  1. 在电脑上正常打开 DSH,确认 Phone Sync 页二维码可用且监听地址已修复。
  2. 手机连上 Tailscale 后,用 APK 或浏览器打开配对后的地址。
  3. 输入问题;需要时拍照或选图(最多 8 张),发送后观察流式回复。
  4. 若要把对话固定到已有会话,按 README 通过 /api/prefs 配置(细节见仓库文档)。

适用场景与注意

适合谁:经常在移动场景追问 Agent、需要传现场照片、又不想把 DSH 暴露到公网的 DSH 用户;已有或愿意注册 Tailscale 的开发者。

权限与安全:插件在当前 DSH 进程权限下运行,能访问该会话与插件声明的能力。安装前请阅读 源码 与 MIT 许可证,确认符合你的安全策略。

网络与排错:两端必须在线且 Tailscale 连通;监听地址未改是最常见的「手机连不上」原因。更完整的故障排除见仓库 README Troubleshooting。

生态说明:DSH 奉行「一切皆插件」;SkillHub 目录页为社区收录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-phone-bridge 把 DSH 会话搬到口袋里:Tailscale 专网穿透、真实 sessionController 会话、流式回复与图文输入,且无需公网中继。需要版本与手动配置细节时,以 GitHub Release 与 README(含 README.zh-CN.md)为准。

  • 目录页:https://www.skillhub.cn/plugins/chs-1108/dsh-phone-bridge
  • 仓库:https://github.com/chs-1108/dsh-phone-bridge
羽毛球分组比赛记分
小程序二维码

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

小夜