packages/dsh-remote-web-ui
zhu1090093659/dsh-web手机/PC 远程操控 dsh web 工作区:扫码配对、令牌门控通道、SSE 实时同步,提供移动端与完整桌面 GUI 两种远程形态。
DSH Web 远程访问网关:登录鉴权 + 到本机服务的 HTTP/WebSocket 反向代理,无需 --trusted-host。
DeepSeek Harness (DSH) Web GUI 的远程访问网关:登录认证 + HTTP/WebSocket 反向代理到本机 DSH 服务。
English · MIT
dsh plugin --profile web add dsh-plugin-remote && dsh web
注意:这是 DSH(DeepSeek Harness)插件,需要通过
dsh plugin(或 profile 依赖)安装到 profile 中才会激活网关;单独npm i不会生效。
| 登录页 | 主界面(对话 / 轨迹 / 远程访问 页签) |
|---|---|
| 远程桌面页签 | 设置 → 远程访问 |
|---|---|
--trusted-host/admin/*,需登录会话),在 设置 → 远程访问 分区中管理:
node-datachannel 提供 WebRTC 快速链路,Next.js 登录应用在 gateway/ 内http://<服务器IP>:4080 —— 首次访问创建唯一账号node lib/remote-passwd.mjs add|set-password|list|del <用户名>$DSH_HOME/plugin-data/dsh-plugin-remote/(users.json、whitelist.json、logs/)在 Windows 10/11 x64 上,网关就绪后插件会自动启动
native/windows-x64/dsh-remote-host.exe。Helper 使用每次启动时随机生成且不落盘的
令牌回连网关;只有已登录网关的用户才能查看和控制桌面。
当前源码提供两级画面链路。执行 native:build 后,Windows Helper 会通过
Media Foundation 将 BGRA 画面编码为 H.264,并把每个访问单元送入真正的
WebRTC H.264/RTP 视频轨道,由媒体层负责节流、拥塞反馈、NACK 和关键帧请求;
这避免把完整 JPEG 帧持续堆进 TCP 队列。启动阶段、H.264 解码不可用或视频
轨道卡顿时,网关会自动保留并切换到 JPEG DataChannel;ICE 建链失败时再回退
到已认证的 WebSocket。包内会优先使用 dsh-remote-host-h264.exe,旧 exe
保留作兼容回退;执行 npm run native:build 会同时刷新两份 Helper。
鼠标移动和滚轮使用可丢弃的低延迟通道,键盘、点击、ACK 与输入复位使用可靠 有序通道,避免弱网下旧画面阻塞新输入;受限网络建议在插件配置中填写 TURN。
rtcIceServers 使用浏览器 RTCConfiguration 格式,例如:
{
rtcIceServers: [
'stun:stun.example.net:3478',
{ urls: 'turns:turn.example.net:5349', username: 'user', credential: 'secret' },
],
}
Windows 安全桌面(UAC、登录界面及锁屏)不能被捕获或控制。设置
config.desktop: false 可以禁用桌面投影。
npm run native:build
npm run gateway:build
npm run test:desktop
MIT