Repository navigation
Releases
v1.1.2 — 清除配对修复 · 仅 Tailscale · 安装包 0.9 MB
下载
| 文件 | 装在哪 | 大小 |
|---|---|---|
phone-bridge-1.1.2.apk |
手机 | 249 KB |
phone-bridge-plugin-1.1.2.zip |
电脑(DSH 插件) | 0.9 MB |
APK 是通用包,没有把电脑地址写死 —— 谁的手机都能连自己的电脑。
怎么用
- 电脑和手机都装好 Tailscale,登录同一个账号
- 电脑装插件,重启 DSH,打开「设置 → 手机同步」
- 手机 App 点「扫描电脑上的二维码」
- 开始用。两端不用连同一个 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 — 后台保活 · 回复可靠 · 任意电脑配对
下载哪个
| 文件 | 用途 |
|---|---|
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。