Skip to content

Releases

v1.1.2 — 清除配对修复 · 仅 Tailscale · 安装包 0.9 MB

Choose a tag to compare

@chs-1108 chs-1108 released this 17 Oct 06:56

下载

文件 装在哪 大小
phone-bridge-1.1.2.apk 手机 249 KB
phone-bridge-plugin-1.1.2.zip 电脑(DSH 插件) 0.9 MB

APK 是通用包,没有把电脑地址写死 —— 谁的手机都能连自己的电脑。

怎么用

  1. 电脑和手机都装好 Tailscale,登录同一个账号
  2. 电脑装插件,重启 DSH,打开「设置 → 手机同步」
  3. 手机 App 点「扫描电脑上的二维码」
  4. 开始用。两端不用连同一个 Wi-Fi

⚠️ 装完必看:让 DSH 能被手机访问

DSH 的 web 服务默认只监听 127.0.0.1,手机连不进来。装完插件如果手机一直「连接失败」,先检查这个。

v1.1.2 起插件会自动检测:设置面板顶部出现红框时,点「一键修复」就行。插件会自己找到 profile 的 cordis.patch.yml,改好 host,并在旁边留一份带时间戳的备份。

然后完全退出 DSH 再打开(关窗口不算)。

手动改(自动修复失效时)

编辑 %USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml,加上:

- id: webserver
  name: '@deepseek-ai/dsh-host-webserver'
  inject: [webStartup]
  config:
    host: '0.0.0.0'
    port: !!js ctx.webStartup.port ?? 3080
    compression: gzip
    compressionLevel: 1
    compressionThresholdBytes: 1024

验证

netstat -ano | findstr LISTENING | findstr 19387
看到 含义
0.0.0.0:19387 或 [::]:19387 ✅ 手机能连进来
127.0.0.1:19387 ❌ 只有本机能连,手机一定失败

这个版本修了什么

  • 监听地址检测:/health 和 /api/status 返回 boundHost / loopbackOnly,面板用红框提示
  • 一键修复:自动改 YAML,留备份,二次点击无副作用
  • 配置定位穿透 Junction:DSH 用目录联接挂载插件,之前定位不到 profile,点了没反应 —— 已修
  • 失败可读:报错带文件路径和候选 profile 列表

排错

症状 原因 修法
Failed to connect to /x.x.x.x 地址填了别的设备 扫二维码,别手填
服务返回 502 服务没起来或只监听本机 点「一键修复」再重启
地址对但连不上 手机 Tailscale 隧道没建 Tailscale 断开再连
密钥只有 44 位 抄错了,实际是 48 位 从二维码取
面板红框无按钮 装的是旧版 重装 1.1.2

v1.1.0 — 后台保活 · 回复可靠 · 任意电脑配对

Choose a tag to compare

@chs-1108 chs-1108 released this 17 Oct 05:50

下载哪个

文件 用途
phone-bridge-1.1.0.apk 大多数人用这个。装好后扫码配对,连你自己的电脑
源码 zip(GitHub 自动生成) 插件本体,通过 dsh plugin 安装到 DeepSeek Harness

APK 是通用包,不含任何写死的地址。装好后打开,扫电脑上 DSH → 设置 → 手机同步里的二维码即可,也可以手动粘贴地址和密钥。

本版修了什么

手机切后台就断连

浏览器在后台会节流甚至完全暂停 setInterval,一次网络抖动就会让轮询永久停止。改成自调度 setTimeout + 退避重试,并在 visibilitychange / pageshow / online 时立刻恢复。

Android 端补了前台服务(持有 partial wake lock + 最小化常驻通知),息屏时 WebView 的 JS 计时器不再被冻结。同时移除了 web.onPause() —— 标准模板里那行正是挂起计时器的元凶。

回复收不到,或者收到不相干的内容

runningJob() 按插入顺序返回第一个 running 的 job,多个 job 并发时后续轮次永远绑在最旧那个上。改成按 turn 号精确匹配。

assistant-stream 的帧不带 turn 号,只能由 turn/start 显式绑定的 job 消费。之前会抓到桌面端正在输出的文字,当成手机这轮的回答。现在会话正忙时会明确返回 409,而不是给错文本。

job 现在会落盘到 jobs.json,DSH 重启后手机轮询的 job 不会再 404。

扫码配对其他电脑时页面打不开

network_security_config 只允许 loopback 明文,而白名单是编译期固定的 —— 扫码指向的地址在编译时不可能知道,于是 WebView 直接拒绝。现在默认允许明文,烘入了具体 host 的构建仍会自动收紧。

顺手修了「清除配对」:它原本只删 localStorage,不碰原生存的配对信息,点了等于没点。

完整流程

# 1. 装插件
dsh plugin --profile desktop add github:chs-1108/dsh-phone-bridge

# 2. 两端装 Tailscale,登同一账号
# 3. 手机装上面的 APK,扫 DSH 设置页里的码
# 4. 打开 App 就能收发

详细说明见 README.zh-CN.md。