dsh-phone-remote
IdentifiedHost-side dsh plugin that pairs a phone to a dsh instance through a self-hosted relay: one outbound connection carries the session list, streaming chat, approvals, attachments and file previews to a d
dsh-phone-remote
dsh-web-remote 的 DSH Host 插件:把一台运行 DeepSeek Harness 的电脑接入中继(relay),让手机通过专用移动壳远程 使用它——会话列表、流式对话、审批、附件、终端、文件浏览,全部经中继转发。
在线演示:yubi233.github.io/dsh-phone-remote —— 纯前端 mock(静态页,无 relay、无真实会话),渠道名已脱敏为「演示渠道 A–E」, 数据全部在浏览器内模拟。
一个包,两个半区:
- Host 半区(
lib/index.js,Node):cordis 插件。向 relay 注册本机、维持出站 WebSocket、把手机 RPC 桥接到 DSH;并在 DSH web GUI 的/api/web-remote/*挂本地 控制台路由(仅本机/同源可访问)。 - Client 半区(
lib/client.js,浏览器):在 DSH web GUI 注入两个入口—— 设置 → 手机远程(完整页,打开即出配对二维码)和 插件 → dsh-phone-remote 详情页底部的同款区块。两处都能配置中继、生成配对码、管理 已配对设备——不需要改任何配置文件或敲命令。
安装
dsh plugin --profile web add dsh-phone-remote
重启 profile(dsh web),设置导航出现「手机远程」即安装成功。
用法:装完即用(局域网模式,默认)
不需要单独部署任何东西。 插件内置 relay 与手机壳静态页:安装后自动在本机 启动中继(默认端口 8787,被占用时自动换端口),监听局域网。
- 打开 DSH 网页 → 设置 → 手机远程。状态卡直接显示局域网地址,例如
http://192.168.1.23:8787,并自动生成配对二维码。 - 手机连同一个 Wi-Fi,打开该地址即可使用;或点「配对手机」扫码;把地址发给 别人也行。
- 已配对设备可在面板里随时撤销。
Host 进程重启后自动恢复本地中继;设备配对记录持久化在
~/.dsh/storages/web_remote_local_relay.json。
可选:接入外部 relay(服务器模式)
要让手机在局域网外也能访问(例如公网 VPS),在面板「中继服务器」里填外部 relay 地址与注册令牌 →「保存并连接」;随时可点「使用局域网模式」切回。 外部 relay 的最小环境变量:
| 变量 | 作用 |
|---|---|
HOST / PORT | 监听地址(公网部署必须前置 TLS) |
RELAY_REGISTRATION_TOKEN | 注册本插件的共享密钥(公网必设) |
RELAY_TRUST_PROXY=1 | 反向代理后按真实客户端 IP 限速 |
RELAY_STORE_FILE | 配对与令牌持久化 |
RELAY_STATIC_DIR | 可选:托管手机壳静态页(本包 shell/ 目录) |
从部署配置固定(可选)
不想用面板配置时,在 patch 行里带 config(此时面板修改会覆盖这里的值):
- insert:
- id: web-remote-host
name: 'dsh-phone-remote'
config:
relayHttpUrl: https://relay.example.com
hostId: <uuid>
hostSecret: <secret>
hostName: my-mac
registrationToken: <RELAY_REGISTRATION_TOKEN>
安全模型
- 配对是一次性 256-bit token(默认 5 分钟过期),claim 端点免鉴权但按 IP 限速; 换取的 device token 只返回一次,relay 只存哈希。
- 控制台路由只接受本机回环或同源浏览器请求,跨源一律 403。
- 单 Host 单手机:第二台设备接管在 60 秒内升级为冲突,可在面板撤销后重新配对。
- 日志不出现 token、prompt、附件内容。
已知限制
- 手机壳与 relay 的部署(含 HTTPS、登录门)不在本包内,见仓库
deploy/README.md。 - 审批/提问按 Session 路由;Host 进程重启后等待中的旧审批不可回答。
Comments
Loading…
Similar plugins
by kinderao
Phone and remote access to the DSH Web UI: scan a LAN QR code, or reach your PC from anywhere through a self-hosted relay server you run yourself instead of a cloudflared tunnel. Per-device credential
★ 4
↓ 181/wk
GPL-2.0
JavaScript
Sep 17, 2026
dsh plugin --profile web add dsh-pocket-relayby chanyuenpang
Host-side plugin that links the Cindy mobile app to DSH: phone channels for sessions, messages, approvals, todos and goals, plus a settings card.
★ 4
↓ 983/wk
MIT
JavaScript
Nov 3, 2026
dsh plugin --profile web add dsh-cindy-hostby WNLUO
DeepSeek Harness 移动端插件:手机远程操控宿主,提供受限移动 API、中转隧道与局域网配对(可作无头宿主运行)
★ 20
↓ 23.6k/wk
MIT
JavaScript
Nov 4, 2026
dsh plugin --profile web add dsh-mobile-pluginby feiyang-dev
DeepSeek Harness mobile remote-control plugin: LAN/external remote control (QR / on-off toggle / remote-access password gate), rich telemetry (expandable device details, system CPU/memory/load, DSH app state: version/sessions/workspaces/plugins/models), real external-tunnel status detection (frpc token / reconnect diagnostics), mobile-first UI polish (composer image upload entry via system picker, settings single-column layout) and faster remote loading.
★ 0
MIT
JavaScript
Oct 7, 2026
dsh plugin --profile web add @feiyang666/dsh-mobile-remoteby Hongjun1-RGB
DSH 插件:在界面里拨一个开关,用手机浏览器继续当前会话(内嵌反向代理 + Cloudflare 隧道 + 微信推送)
★ 1
MIT
JavaScript
Oct 15, 2026
dsh plugin --profile web add dsh-phone-accessby NOirBRight
Mobile remote pairing for DSH with QR offers, a loopback Host Gateway, encrypted Relay or Quick Tunnel transport, same-LAN WebRTC Direct, and revocable Device Tokens for the Android client.
★ 0
MIT
JavaScript
Sep 13, 2026
dsh plugin --profile web add @dsh-mobile/pairing