packages/dsh-remote-web-ui
zhu1090093659/dsh-web手机/PC 远程操控 dsh web 工作区:扫码配对、令牌门控通道、SSE 实时同步,提供移动端与完整桌面 GUI 两种远程形态。
「设置」按钮上方的一键二维码,让手机通过带鉴权的反向代理连接 Web 界面。
English | 中文
一个 DeepSeek Harness(DSH)Web 插件:在侧边栏底部「设置」按钮上方添加一个 二维码按钮。它运行一个小型、 带鉴权的反向代理,让同一网络(或公网)上的手机扫码后安全地打开 Web UI。它是 一个持久化的 bundle 插件(Host 半边 + 浏览器半边),每次启动都会自动加载。
sidebar.footer.action,id qr-connect),堆叠在官方
「插件」按钮上方。http://<局域网 IP>:<端口>/?auth=<密钥>。http://<公网 IP>:<端口>/?auth=<密钥>(蓝色)。0.0.0.0:<端口> 的 node 子进程)校验密钥,签发会话
Cookie(默认 30 天),然后转发到回环 Web UI —— 包括 WebSocket 升级,使实时
更新也能同步到手机。0 表示关闭自动刷新)。| 文件 | 用途 |
|---|---|
lib/index.js | Host 半边 —— 运行反向代理与 /__qr/* 状态路由。 |
lib/client.js | 浏览器半边 —— 二维码按钮与配置卡片。 |
lib/proxy.cjs | 带鉴权的反向代理子进程(HTTP + WebSocket)。 |
cordis.patch.yml | 插入插件行的组合补丁。 |
package.json | 包元数据(dsh.bundle + dsh.client 清单)。 |
dsh plugin --profile web add github:mervyn-teo/dsh-plugin-qr-connect
然后重启 dsh web —— Host bundle 在启动时加载。
默认配置在 cordis.patch.yml(port、sessionDays、refreshSeconds、publicHost)。可在
那里(或 profile 自带的 cordis.patch.yml)修改后重启,或在运行时通过配置卡片
调整。publicHost 是公网二维码使用的自定义域名或 IP,代替自动检测的公网 IP
(支持 host、host:port 或完整的 https:// 源;留空则自动检测)。Host 半边提供三个同源路由供浏览器半边使用:GET /__qr/info、
POST /__qr/rotate 与 GET|POST /__qr/config。
subprocess、fs、webServer 服务。https://api.ipify.org)。本地 IP 与公网 IP 的探测在进程内完成(不再依赖 ip/curl/shell 命令),手动
轮换密钥通过子进程 stdin 通知,因此 Host 半边可在 Windows、macOS、Linux 上运行。
该代理会把完整的 agent shell 暴露给任何能访问该端口的设备,仅靠 30 秒密钥和 会话 Cookie 保护。请使用较短的会话时长,将其视为可信网络内的便利工具,而不是 强化的远程访问层。