DeepSHPlugins
dsh-plugin-remote 项目预览
GITHUB / COMMUNITY PROJECT

dsh-plugin-remote

客户端与终端JavaScript

DSH Web 远程访问网关:登录鉴权 + 到本机服务的 HTTP/WebSocket 反向代理,无需 --trusted-host。

0 Starssiberiah2o 更新时间 2026-08-21
访问 GitHub 仓库
dsh-plugin-remote 项目预览
dsh-plugin-remote 界面截图dsh-plugin-remote 界面截图dsh-plugin-remote 界面截图dsh-plugin-remote 界面截图

项目介绍

中文

DSH Web 远程访问网关:登录鉴权 + 到本机服务的 HTTP/WebSocket 反向代理,无需 --trusted-host。

English

Remote access gateway for the DSH Web GUI: login auth plus an HTTP/WebSocket reverse proxy to the loopback server, no --trusted-host needed.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
siberiah2o
仓库
siberiah2o/dsh-plugin-remote
GitHub Stars
0
Forks
0
开发语言
JavaScript
许可证
未记录
最近推送
2026-08-21
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

38/ 100
维护活跃
86
文档与实用信息
100
生态关注度
0
安装便捷信号
100
项目声明信号
80

近 21 天仍在更新;README 含完整安装与使用说明;标准命令一键安装。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:siberiah2o/dsh-plugin-remote

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-plugin-remote

Remote access gateway for the DeepSeek Harness (DSH) Web GUI — login auth + HTTP/WebSocket reverse proxy to the loopback DSH server.

中文 · MIT

Install

dsh plugin --profile web add dsh-plugin-remote && dsh web
Note: this is a DSH (DeepSeek Harness) plugin — install it into a profile through dsh plugin (or the profile's dependencies) so the gateway activates; a plain npm i alone does not wire it in.

Screenshots

LoginMain view (对话 / 轨迹 / 远程访问 tabs)
loginmain view
Remote desktop tabSettings → Remote Access
remote desktopsettings

Features

  • Login-gated remote access: scrypt credentials + HttpOnly session cookie; HTTP/WebSocket reverse proxy with Host/Origin rewriting — no --trusted-host needed
  • White-themed login page (shadcn/ui, mobile-friendly) with the DeepSeek Harness brand
  • Gateway admin API (/admin/*, session-required), managed in the

Settings → 远程访问 section:

  • Remote-access whitelist (IP / CIDR; loopback always allowed; hot-reloaded)
  • Account password changes (old sessions revoked immediately)
  • Request log: every request persisted to per-day JSONL shards, download + 1/3/7-day retention rules
  • Localized zh/en, follows the GUI language
  • Zero-install Windows desktop projection: the plugin starts its bundled

x64 native helper automatically; no .NET, FFmpeg, driver, or separate agent installation is required

  • Interactive remote desktop as a dedicated 远程访问 tab in the

conversation view ring (next to 对话/轨迹), projecting the Windows desktop full-width with pointer input, keyboard input, and weak-network/balanced/sharp quality profiles. The primary WAN transport is WebRTC with independent lossy frame/pointer channels and a reliable control channel; the original WebSocket viewer remains an automatic fallback

  • The gateway keeps its custom HTTP/WebSocket plumbing on Node built-ins; the

optional native node-datachannel package provides the WebRTC fast path and the Next.js login app lives inside gateway/

Usage

  • Open http://<server-ip>:4080 — the first visit creates the only account
  • Manage accounts: node lib/remote-passwd.mjs add|set-password|list|del <username>
  • Data lives under $DSH_HOME/plugin-data/dsh-plugin-remote/ (users.json, whitelist.json, logs/)

Windows desktop

On Windows 10/11 x64, the plugin launches native/windows-x64/dsh-remote-host.exe after the gateway becomes ready. It connects back with a random process-local authentication token that is never written to disk. Only logged-in gateway users can open the viewer/control channel.

The current Windows helper source has two video paths. After native:build, the primary path captures BGRA frames, encodes H.264 through Media Foundation, and sends one access unit into a real WebRTC H.264/RTP track. The browser and libdatachannel then use the media transport's pacing, congestion feedback, NACKs, and keyframe requests instead of putting every full frame into a TCP queue. During startup or when H.264 cannot be decoded, the gateway keeps the JPEG DataChannel path alive and switches to it automatically; the authenticated WebSocket viewer is the final compatibility fallback. The package prefers the dsh-remote-host-h264.exe binary when present and keeps the old exe as a legacy fallback; npm run native:build refreshes both copies.

Pointer motion and wheel events use a disposable low-latency channel, while keyboard, button transitions, ACKs, and input-reset messages remain ordered and reliable. This prevents stale video from blocking new input on a weak link.

For clients behind symmetric NAT or UDP-restricted networks, configure a TURN server in the plugin row. The values use the browser RTCConfiguration shape:

{
  rtcIceServers: [
    'stun:stun.example.net:3478',
    { urls: 'turns:turn.example.net:5349', username: 'user', credential: 'secret' },
  ],
}

STUN is useful for direct paths; TURN is the reliable relay fallback. Keep the WebSocket fallback enabled when deploying in environments where UDP policy is unknown.

Windows secure desktops (UAC prompts, sign-in, and locked sessions) cannot be captured or controlled. Set config.desktop: false to disable projection.

Development verification

npm run native:build
npm run gateway:build
npm run test:desktop

License

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目