前言¶
在本地使用 DeepSeek Harness(DSH)时,常需要通过手机端进行输入或查看终端。常见做法包括搭建 VPN、部署反向代理或使用内网穿透服务,配置较为繁琐,且依赖第三方服务。本文介绍一个插件,可以在 DSH 启动时自动检查并重建手机访问通道,将新链接发送到邮箱,从而实现从手机访问桌面端 DSH 实例。
是什么¶
dsh-phone-access 是一个 DSH 插件,负责在桌面端 DSH 启动时检查手机端服务可用性,必要时重建隧道与 web 实例,并将新访问链接写入文件或通过邮件发送。该插件不常驻进程,仅在工作目录下部署一组脚本与配置文件。
核心功能¶
插件在 DSH 启动时执行一次检查:
- 等待 20 秒(避开 DSH 启动过程中 web 实例结束的动作)。
- 检查 3081 端口是否有 DSH web 实例在监听。
- 检查 cloudflared 进程是否存活。
若两者都存在,不执行任何操作;若任意一项缺失,则重启隧道、重启 web 实例,写入新链接,并发送邮件。
安装与启用¶
- 克隆插件源码到本地:
$src = "$env:USERPROFILE\.dsh\profiles\desktop\plugins-src\dsh-phone-access"
git clone https://github.com/jisvrin/dsh-phone-access.git $src
- 创建目录链接:
cmd /c mklink /J "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-phone-access" "$src"
- 在
profiles/desktop/package.json中登记:
"bundles": [ "...", "dsh-phone-access" ],
"dependencies": { "dsh-phone-access": "file:C:/Users/<user>/.dsh/profiles/desktop/plugins-src/dsh-phone-access" }
-
将
scripts/下的三个 ps1 文件复制到~/.dsh/web-service/,重启 DSH 生效。 -
验证插件是否加载:
Get-Content "$env:USERPROFILE\.dsh\web-service\plugin-trigger.log"
若出现 apply() called,表示插件已加载。
- 查看生成的访问链接:
Get-Content "$env:USERPROFILE\.dsh\web-service\mobile-urls.txt"
典型用法¶
- 家庭宽带为 CGNAT,没有公网 IP,无法做端口映射或 DDNS。
- 电脑长期开机,希望用手机作为输入与查看终端。
- 不希望手机安装客户端或开启 VPN。
- 可接受链接随重建变化,通过邮件获取新地址。
适用场景与注意¶
- 适合家庭或本地环境,电脑长期开机,通过手机访问桌面端 DSH 会话。
- 不适合需要固定域名访问、手机端离线运行 agent、不允许电脑对公网暴露端口或非 Windows 系统的场景。
- 插件以当前 dsh 进程权限运行,安装前建议查看源码与许可证(MIT)。
短结尾¶
dsh-phone-access 通过启动时检查与重建隧道,为没有公网 IP 的环境提供了一条从手机访问桌面端 DSH 的路径。更多细节与源码可查看项目主页与 GitHub 仓库。
参考资料¶
- 项目主页:https://www.skillhub.cn/plugins/jisvrin/dsh-phone-access
- GitHub:https://github.com/jisvrin/dsh-phone-access