DeepSeek Harness Hub
← 返回列表

手机远程直连客户端zexadev/dsh-tether

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

DSH 随身:有电脑连电脑,没电脑本地跑。

自动检查通过:npm 包已发布且 engines 声明满足基线;该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/18 · 已提供中文文档

DeepSeek Harness 的移动客户端——通过 iroh 点对点连接,在 Android 或 iOS 手机上远程跨网络使用你开发机上的 dsh,无需设置服务器(回退到只能看到密文的中继)

综合分
51.5
GitHub 分
51.5
用户评分
★ Stars
45
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-plugin-tether
npm 包 dsh-plugin-tether 已校验归属本仓库,走 npm 安装最省事
🟢实装验证通过· 2026/9/19
由 dsh-plugin-verify(GitHub Actions)在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-plugin-tether @ 0.1.13
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 14:29:51

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-user-approval
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH Tether

DSH 随身:有电脑连电脑,没电脑本地跑。
连电脑:跨网络点对点打洞直连,不用架任何服务器,不用同一个 WiFi;打不通才退回 relay,relay 只见密文。
本地跑(Android):DeepSeek Harness 直接在手机上运行,装完即用,不装 Termux 不敲命令。

独立的社区开源项目,与深度求索不存在隶属、合作、授权或背书关系。本仓库无深度求索员工或 DeepSeek Harness 上游官方团队成员参与。中文 · English

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

手边没有电脑时,同一个 App 还能在手机本地把 DSH 跑起来(Android),见本地模式。

它解决什么

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

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

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

与 ds-harness-remote 的区别

同类里最常被拿来比的是 liguobao/ds-harness-remote。按两边的 README 对照:

| | DSH Tether | ds-harness-remote |
| --- | --- | --- |
| 建链 | 直连优先(iroh 打洞),失败才退回 relay,relay 只见密文;不用账号,不用架服务器 | 登录其服务后建链,LAN → P2P → TURN → Relay 逐级回退,也可自建 relay |
| 没电脑时 | Android 本地模式,DSH 跑在手机上 | — |
| 客户端 | Android、iOS(测试版) | PC、Android、Web,无 iOS 原生 App |
| 许可证 | MIT | 仓库未附许可证 |

下载与安装

| 装在哪 | 下载 | 安装方式 |
| --- | --- | --- |
| 电脑 | — | 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。装错了系统会直接拒绝安装,不会装出问题。只有 arm64 包带本地模式的运行时,其余三个包没有这个入口。

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 自动连上,不用再配对。

本地模式:没电脑也能用(Android)

打开 App → 顶栏「主机」→ 在本机运行。第一次要先解压运行时(实测约 9 秒),之后每次约 2 秒出现 dsh 的界面;在设置里填上 API Key 就能对话。

- 装完即用:不装 Termux、不开终端、不敲命令、不要 root。Node 24 与 dsh 0.1.2-rc.1 的完整依赖树打在 APK 里,首次启动离线解压;之后只有调用模型 API 才需要网络。
- 没有配对:dsh 就在这台手机上,没有远端。会话、设置、工作区只存在手机里,和连电脑时看到的完全是两套,来回切换互不影响。
- 常驻:运行期间有一条常驻通知(前台服务),退后台、锁屏不会被系统收掉;进程真被杀了,下次打开 App 自动重起,会话已落盘不丢。
- 版本随 App 走:内置的 dsh 随 App 升级一起升,当前内置 0.1.2-rc.1。
- 只有 arm64 的 APK 带本地模式;iOS 的沙箱不允许子进程,iOS 版没有这个入口。
- 手机上没有 bash 和完整的 coreutils,依赖 shell 的工具用不全;对话、文件读写不受影响。

想走 Termux 的老路也行:在 Termux 里装好 dsh 和本插件(会自动选到 android-arm64 的 sidecar 子包),再用远程模式配对连接——手机自己也是一台「电脑」。这条路不做引导,只是仍然能用。

主要功能

跨网直连
两端靠 iroh 直接打洞,打通后流量不经过任何第三方。手机在 4G/5G、电脑在家宽也能连上,不需要公网 IP、内网穿透或自建中转。打洞失败才退回 relay,而 relay 上过的只是它读不懂的密文。

完整的 DSH 界面
手机上跑的就是 DSH 自己的 Web 界面,不是另做一套:会话、工具调用、审批、设置一个不少。窄屏下做了适配——侧栏改成抽屉覆盖、设置页导航横排、内容占满整宽。

多台电脑
手机侧栏底部的「我的电脑」里,配过的电脑都留着,可以切换、改名、删除,也能添加新的。换一台不用重新填凭证。电脑侧栏的「连接手机」随时能出新的配对码。

审批通知
agent 卡在等你批准时,手机会推一条系统通知。批准本身在 DSH 自己的界面里点——本插件刻意不代答审批,只把「它在等你」送到锁屏上。

安全

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

已知限制

- iOS 版是测试版:只在 CI 上构建,从未在真机运行过,且需要自行签名。安卓版是经过真机验证的那一个。
- App 打开时才连接,不在后台常驻——Android 的 doze 也留不住它。
- 手机上的界面是 DSH 自己的,窄屏适配靠注入的最小样式完成;dsh 改版式时可能需要跟进。
- 本地模式只有 arm64 包有,iOS 没有;手机上没有 bash 与完整 coreutils,依赖 shell 的工具用不全。arm64 包因内置运行时约 71 MB,其余包约 32 MB。
- 已针对 dsh 0.1.0-rc.7、0.1.0-rc.8、0.1.2(alpha 与 rc.1)与 0.1.5-alpha.1 验证。dsh 处于 developer preview,换更新的 dsh 之前先看这一行。dsh 0.1.2-alpha 引入的浏览器认证完全在电脑侧处理,手机 App 无需更新。

验证过什么

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

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

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

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

本地模式在 Redmi(Android 16)真机验证:全新安装后首次启动到界面出现 9.1 秒(含解压运行时),之后启动 2.1 秒;退后台 30 秒 node 进程仍在;强杀 App 后重开自动恢复到本地模式。

与 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 —— 本项目在该社区分享

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群