前言¶
DeepSeek Harness(DSH)通常跑在桌面环境里。人离开电脑——在公司、在路上——想接着问一句、看日志或批准一轮会话,常见做法是远程桌面、VNC,或再装一套客户端。这些路径要么重、要么要在手机上装 App。
DSH My Phone 是社区插件,维护者为 ssy-in,分类为客户端。它在本机 DSH 旁起一个配对与代理入口:手机用浏览器打开页面,看到的是原生 DSH 界面,无需单独安装 App,也无需注册账号。同 Wi-Fi 可走局域网;不在同一网络时可选 Cloudflare 快速隧道。下文按「是什么 → 能做什么 → 怎么装怎么用 → 安全与限制」说明,事实均来自插件 README 与仓库元数据。
这是什么¶
一句话:把当前电脑上的 DSH「装进口袋」——手机扫码配对后,通过插件代理访问宿主官方会话,而不是在插件里另造一套 UI。
数据流可以概括为:
手机浏览器 ──▶ DSH My Phone(配对凭据)──▶ 本机 DSH(官方会话)
插件已发布到 npm,包名为 dsh-my-phone,许可证 MIT;依赖 Node.js >= 20,并通过 Cordis 以 patch 形式挂入 DSH(peerDependencies 含 @deepseek-ai/cordis ^4.0.5)。
核心功能¶
手机端零安装。 浏览器打开配对后的地址即可使用完整 DSH 界面;未持有效凭据时只会看到「用手机扫电脑上的码」,没有手输配对码的页面。
局域网与外网两种入口。 局域网默认可用(同 Wi-Fi,不经第三方)。外网默认通过 Cloudflare 快速隧道(trycloudflare.com 类地址);第一次开启时插件会在后台下载 cloudflared(约 53MB,只需一次)。README 说明:快速隧道地址每次重启会变,需要重新在电脑设置页查看;固定域名需自备域名与 Cloudflare 命名隧道(文档提到 v0.2 支持命名隧道)。
配对与设备管理。 电脑端点「生成二维码」才会出码(不会自动生成;二维码带一次性票据,3 分钟有效、用一次作废,需手动点「换一个二维码」刷新)。手机扫码后出现「信任这台电脑?」,须主动点信任才建立设备。每台设备一枚 HMAC 令牌,可在「高级」里备注、断开或删除;默认最多 8 台,满员后再扫会提示先在电脑上删掉一台。
界面入口。 DSH 任意界面右下角有悬浮入口(「连接 DSH」),与设置页同一套「连接 / 高级 / 消息·日志」面板;连上后提示行会消失,图标可拖拽贴边。宿主 Web UI 还提供 settings.plugin.item 设置卡片。管理页仅绑定 127.0.0.1(默认管理地址 http://127.0.0.1:8080/__myphone/,端口被占用时自动向后尝试最多 12 个端口)。
安全设计要点(README 归纳)。 插件不解析 .credentials.yaml,而是调用宿主 ctx.connection.authenticatedUrl() 换取官方会话;管理面与公网访问面分离;凭据可按设备吊销。完整风险说明见仓库 SECURITY.md——README 强调:打开入口相当于把本机 DSH 账号能力暴露给拿到入口的人,局域网入口默认打开,用不到应关闭;外网隧道默认开启但仅在需要时使用。
安装与启用¶
装进当前 profile(npm 已发布包):
dsh plugin add dsh-my-phone --profile desktop
本地源码目录也可安装(README 注释示例):
# dsh plugin add ./dsh-my-phone --profile desktop
安装后重启 DSH,在本机浏览器打开管理页(仅本机可访问):
http://127.0.0.1:8080/__myphone/
状态与设置写在 ~/.dsh/.dsh-my-phone/state.json(含本机签名密钥,等同于密码,勿外传)。常用字段如下:
| 字段 | 默认 | 说明 |
|---|---|---|
lanEnabled |
true |
局域网入口 |
lanPort |
8080 |
管理页端口(仅 127.0.0.1) |
publicPort |
8081 |
公网入口端口(开启时监听) |
tunnelEnabled |
true |
外网 Cloudflare 隧道 |
cloudflaredPath |
'' |
cloudflared 可执行文件路径 |
maxDevices |
8 |
最多配对设备数 |
autoOffMinutes |
30 |
连续无访问自动收回入口;0 表示不自动关 |
README 注明 v0.4.3 起 autoOffMinutes 默认改为按通道分开计算且默认关 0 的行为调整;以当前 state.json 实际写入为准。
典型用法¶
同 Wi-Fi 下第一次连接
- 重启 DSH 后打开管理页或点右下角悬浮入口。
- 点击「生成二维码」,用手机相机或浏览器扫码。
- 在手机上点「信任这台电脑,进入 DSH」。之后可直接用手机保存的入口地址访问。
在公司访问家里电脑(外网)
- 在电脑「高级」中确保外网隧道已开启,等待约 10–30 秒出现
https://xxx.trycloudflare.com类地址(或扫对应二维码)。 - 手机打开该地址并完成一次「信任这台电脑」。
- 隧道地址变化或 DSH 重启后,需按界面提示重新扫码;README 说明外网通道断线后插件会按退避策略尝试重连,连上新域名时需手机重扫。
连不上时排查(README v0.4 起)
- 悬浮窗 → 高级 → 排查日志 → 展开,或使用「复制诊断」。
- 查看
~/.dsh/.dsh-my-phone/pair.log(配对尝试)与error.log(500 堆栈)。
手机端「高级」为只读视图,开关与换码、撤销其他设备必须在电脑管理面操作。
适用场景与注意¶
适合谁: 已在桌面 profile 长期使用 DSH,偶尔需要用手机继续同一套会话与界面;希望避免远程桌面或单独移动客户端;能接受自行管理局域网/隧道开关与设备列表。
务必知晓:
- 插件以当前 DSH 进程权限运行;安装前应阅读源码与 MIT 许可证,并阅读
SECURITY.md。 - 社区目录页(SkillHub)与 GitHub 仓库由维护者发布,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文介绍的是社区插件之一。
- README「已知限制」一节(标注 v1.5.0)仍列出例如快速隧道地址不固定、隧道断线行为等历史表述;较新版本 CHANGELOG 中对外网重连、UI 等有后续改进,以你安装的版本 README / CHANGELOG 为准。
- 目录页线索星标为 0,不代表功能完整度;以仓库文档与自测为准。
结尾¶
DSH My Phone 解决的是「人不在电脑旁,仍用手机浏览器接着用本机 DSH」——局域网优先、外网隧道可选、按设备配对与吊销。安装命令为 dsh plugin add dsh-my-phone --profile desktop,装好后在本机 http://127.0.0.1:8080/__myphone/ 生成二维码即可开始。