dsh-tether

by zexadev

工具与能力github收录于 08-23

在手机上用你开发机里的 DeepSeek Harness:跨网络、点对点、不经任何服务器;无需中继、无需同 Wi-Fi、手机不用装 Linux

Use the DeepSeek Harness on your dev machine, from your phone. Across networks, peer to peer, through no server at all. No relay to configure, no shared Wi-Fi, no Linux on your…

安装

dsh plugin --profile web add github:zexadev/dsh-tether

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

DSH Tether 把 DeepSeek Harness 的 Web 界面通过点对点直连带到手机上。agent 依旧跑在你代码所在的那台电脑,手机拿到的是 DSH 自己的完整界面——会话、工具调用、审批、设置全都在,不是另做一套。用 6 位码配对一次,之后两端在哪个网络都能互相找到。

它解决什么

你不在电脑那个网络里,又不想中间有一台服务器。

手机连回自己开发机,常见做法要么要求两端在同一个局域网,要么要求你部署并信任一台中转。这个项目两样都不要:两端靠 iroh 直接打洞,打通后流量不经过任何第三方;打不通才退回 relay,而 relay 上过的也只是它读不懂的密文。

如果你只在和电脑同一个 WiFi 下用手机,你并不需要这些——局域网方案更简单。

下载与安装

装在哪 下载 安装方式
电脑 — dsh plugin --profile web add dsh-plugin-tether
手机 Release 里的 dsh-tether-<版本>-arm64.apk 已签名,直接安装
手机(iOS) Release 里的 dsh-tether-<版本>-ios-unsigned.ipa 测试版,未签名,需自签

插件带一个 Rust 写的 sidecar 负责 iroh 连接,按平台拆成独立子包;安装时只会下载与你系统匹配的那一个,不用手动选。

手机端按 CPU 架构分了四个包,近十年的安卓手机都选 arm64;arm 给 32 位老设备,x86 / x86_64 给模拟器和 ChromeOS。装错了系统会直接拒绝安装,不会装出问题。

iOS 版是测试版:本项目没有 Mac,该包只在 CI 上构建过,从未在真机上运行。需要用 AltStore、Sideloadly 一类工具自行签名(免费 Apple ID 签的应用 7 天过期)。遇到问题请提 issue。

也可以从源码构建 sidecar(需要 Rust):

git clone https://github.com/zexadev/dsh-tether && cd dsh-tether
cargo build --release -p tether-host
dsh plugin --profile web add .

配对

电脑上照常启动 dsh web,在侧栏底部点**「连接手机」**,会给出一行配对串:

手机上打开 DSH Tether →「添加电脑」→ 把那一整行粘进去 → 给这台电脑起个名字 → 连接。

之后每次打开 App 自动连上,不用再配对。

主要功能

安全

  • 配对码是 6 位随机数(CSPRNG),10 分钟有效,每个窗口只许试 3 次。配对之后凭手机的 iroh 公钥授权,那是 TLS 验证过的,伪造不了。
  • 未配对方够不到你的界面:代理流只在完成控制流握手的连接上提供,未配对连接首行最多 512 字节就被拒。
  • 流量由 iroh 端到端加密(QUIC/TLS)。打洞成功时不经过任何第三方;退回 relay 时,relay 上过的也只是它读不懂的密文。
  • 插件自己那两条 HTTP 路由套了与 dsh /api 同一套浏览器信任判据:Host 必须是回环权威,跨站标记一律拒,带 Origin 时必须与 Host 同源。恶意网页的跨站请求和 DNS 重绑定都会拿到 403。
  • 已知边界:上面那套判据防的是浏览器被当枪使,挡不住本机进程。本机进程的 Host 就是回环,能取到一个配对码,进而把自己配成一台「手机」。也就是说,已经能在你开发机上执行代码的攻击者,可以借此拿到长期访问权。若你的机器上会跑不受信任的代码,别用这个插件。

已知限制

  • iOS 版是测试版:只在 CI 上构建,从未在真机运行过,且需要自行签名。安卓版是经过真机验证的那一个。
  • App 打开时才连接,不在后台常驻——Android 的 doze 也留不住它。
  • 手机上的界面是 DSH 自己的,窄屏适配靠注入的最小样式完成;dsh 改版式时可能需要跟进。
  • 已针对 dsh 0.1.0-rc.7 与 0.1.0-rc.8 验证。dsh 处于 developer preview,换更新的 dsh 之前先看这一行。

验证过什么

跨网直连是这个项目的立意,所以给证据而不是给说法。手机关掉 WiFi 只走 5G、电脑在家宽,插件侧输出:

[tether] 手机已连接: 我的手机
[tether] 连接路径: P2P 直连(NAT 打洞成功) Ip(…:41341)

选中路径是公网地址,说明两端是打洞打通的,relay 全程没用上。上面第一张截图就是手机在这条路径上渲染的 DSH 界面——状态栏没有 WiFi 图标。

配对(含错码被拒)、审批送达、多设备切换都在真机上验证过。打洞失败退回 relay 这条路径,尚未在真实网络下触发过。

与 DeepSeek Harness 的关系

DSH Tether 是基于 DeepSeek Harness 与 Cordis 插件机制构建的独立社区项目。它不修改上游源码:固定版本的 dsh 原样运行,本项目作为一个普通 DSH 插件接入,只依赖官方公开的扩展点。

本仓库由社区独立维护,与深度求索不存在隶属、合作、授权或背书关系,也无深度求索员工或上游官方团队成员参与开发、维护或治理。README 中使用的 DeepSeek Harness 标识仅用于说明本项目服务于该上游,不代表任何授权或背书关系;手机应用图标同样取自该上游标识。

上游提供智能体能力、插件系统和 Web 界面;本项目负责:

  • 电脑与手机之间的点对点连接与配对
  • 把上游的 Web 界面带到手机上,并做窄屏适配
  • 手机端的多设备管理与系统通知

从源码构建

需要 Node ^22.19 || >=24、Rust;构建 APK 另需 JDK 21 与 Android SDK/NDK(Windows 上可用 scripts/setup-android-env.ps1 装齐)。

cargo build --release -p tether-host          # 电脑侧 sidecar
cd app && pnpm install
pnpm exec tauri android build --apk --target aarch64

许可证

MIT

友情链接

  • LINUX DO —— 本项目在该社区分享

原始 README: https://github.com/zexadev/dsh-tether/blob/main/README.zh.md ↗