DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

qlings /

qlings/DSH-Remote-Desktop

Verified

DSH 远程桌面插件:从另一台电脑连接主机 DSH,支持远程审批、任务事件提醒及本机与远程切换。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@02cfdd18

DSH Remote Desktop

DSH Remote Desktop · 远程桌面

Version DeepSeek Harness Issues

在另一台电脑的 DSH 中,连接并操作主机上的同一个 DSH 工作环境。

DSH Remote Desktop 是 DeepSeek Harness 的远程访问插件。电脑 A 负责运行 DSH、执行任务和保存文件,电脑 B 显示 A 的 DSH 界面,并接收审批与任务完成事件。你可以在 B 上继续对话、查看执行过程、处理审批,也可以随时切回 B 本机的 DSH。

适合让办公室电脑、工作站或常开设备持续执行任务,再从另一台电脑接着操作。

安装 · 快速开始 · 网络与部署 · 配置参考 · 常见问题

功能

  • 同一份工作环境:会话、文件读写、终端命令、模型调用与审批都在主机 A 上发生。
  • 设置页配对:填写地址和令牌即可连接,支持粘贴整段配对信息,日常使用无需编辑配置文件。
  • 主机与从机切换:两台电脑安装同一个插件,在设置页选择角色,配对信息持久保存。
  • 本机与远程切换:从机可以返回本机工作,主机上的任务继续运行。
  • 审批与完成提醒:待审批角标、事件时间线、标题闪烁和提示音;后台系统通知取决于运行环境与通知权限。
  • 断线恢复:在断线面板修改地址与令牌、重试连接,或改用本机。
  • 多种网络方式:支持局域网、虚拟组网与域名访问;支持 HTTP、HTTPS 和 WebSocket 转发。
  • 共享开关:关闭「共享本机」会断开从机连接并释放中继端口。

工作方式

电脑 B · 从机                              电脑 A · 主机
B 的 DSH 界面                              A 的 DSH 工作环境
      ↓                                          ↑
本地代理 127.0.0.1:9528  ── HTTP(S) + WS ──→  插件中继 :9527
                            配对令牌鉴权       文件 / 工具 / 审批

这里的“远程桌面”指 DSH 的 Web 界面,功能范围限于 DSH。两台电脑均需安装 DSH 和本插件;从机仍运行自己的 DSH 与本地代理。远程会话使用主机的模型配置和文件环境。

安装

使用前准备

  • 两台电脑均已安装并能正常打开 DeepSeek Harness 的 Web 界面或桌面客户端。
  • 两台电脑网络可达,主机中继端口可访问。
  • 插件提供可直接加载的 JavaScript,无需自行编译。
  • 插件使用 DSH 的 Web 服务与客户端扩展接口,目前未声明最低兼容版本;旧版宿主遇到加载问题时,请先更新并检查实际使用的 profile。

从 GitHub 安装

两台电脑都要安装。 普通 dsh web 用户执行:

dsh plugin --profile web add github:qlings/DSH-Remote-Desktop

固定到指定版本:

dsh plugin --profile web add "github:qlings/DSH-Remote-Desktop#v1.4.5"

自定义 profile 请将 web 替换为实际名称。安装后按宿主提示重新加载或重启 DSH,打开 设置 → 远程桌面。

DSH Desktop 用户:优先使用应用内的插件安装入口,填写 github:qlings/DSH-Remote-Desktop;也可以让 DSH 助手通过插件安装工具安装这个 GitHub bundle。桌面客户端的 profile 由应用管理,命令行安装到 web 不一定会显示在桌面客户端中。

如果 GitHub 安装出现 allowBuilds 提示,请核对来源,并按 DSH 给出的提示处理后重试。

从本地目录安装

下载并解压仓库,或克隆到本地:

git clone https://github.com/qlings/DSH-Remote-Desktop.git

在宿主插件安装工具中选择该目录。Web profile 也可以安装绝对路径:

dsh plugin --profile web add /absolute/path/to/DSH-Remote-Desktop

插件包名为 @local/dsh-remote-desktop,与 GitHub 仓库名不同。当前通过 GitHub / 本地目录分发,未提供 npm 安装方式。

更新与卸载

通过宿主插件管理器更新或移除。CLI 用户可重新执行 GitHub 安装命令更新默认分支;固定标签安装时,需显式改为目标版本。

dsh plugin --profile web remove @local/dsh-remote-desktop

移除插件不会主动清理已保存的配对状态文件。

快速开始

全新安装且未预设角色、共享配置时,插件默认不共享本机。先在设置页选择这台电脑的用途。

1. 电脑 A:共享工作环境

  1. 正常启动并打开 A 的 DSH。
  2. 进入 设置 → 远程桌面,选择用于执行任务的主机角色,打开 共享本机。
  3. 复制 配对地址 和 配对令牌,或使用合并复制配对信息的按钮。
  4. 确认 B 能访问 A 的中继端口,默认 TCP 9527。

可以给 A 设置容易识别的本机名称,例如“办公室工作站”;B 的状态栏会显示它。

2. 电脑 B:保存配对并连接

  1. 打开 B 的 设置 → 远程桌面,选择连接其他电脑的从机角色。
  2. 填写 A 的地址和令牌,或点击 粘贴配对信息。
  3. 点击 保存并连接,等待状态显示已连接,进入远程桌面。

地址示例:192.168.0.33:9527。也支持把 地址|令牌 整串粘到地址框,或粘贴包含 host:、token: 的两行配对信息。配对修改即时生效,通常无需重启。

3. 返回本机与停止共享

  • B 返回本机:关闭「连 A / 连本机」开关,或点击工具栏的「回到本机」。A 的任务继续运行。
  • A 停止共享:关闭「共享本机」,现有远程连接会断开;再次打开后可重新连接。
  • 换主机:在 B 的设置页修改地址和令牌后重新保存。

网络与部署

场景 主机端准备 从机地址示例
局域网 打开共享,允许 B 访问 TCP 9527 192.168.0.33:9527
Tailscale 等虚拟组网 两台电脑加入可互通的网络 100.x.y.z:9527
域名与 HTTPS 反向代理 代理根路径与 WebSocket,配置 advertise https://dsh.example.com
主机直接提供 HTTPS 配置 tlsCert、tlsKey 与对外地址 https://dsh.example.com:9527

不带协议的地址默认使用端口 9527;显式使用 http:// 或 https:// 时,未填端口分别使用 80 或 443。不支持 URL 子路径。

HTTPS 反向代理

Caddy 示例:

dsh.example.com {
    reverse_proxy 127.0.0.1:9527
}

主机将 advertise 设为 https://dsh.example.com,从机填写同一地址。advertise 只控制展示的配对地址,不会自动配置 DNS、证书或防火墙。

nginx 需要转发 WebSocket,在已有 HTTPS 站点内配置:

location / {
    proxy_pass http://127.0.0.1:9527;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 3600s;
}

代理需挂在根路径 /,不支持 https://example.com/dsh/。

配置参考

日常配对、角色切换、共享开关、本机名称和本机 / 远程切换可在设置页完成。高级配置由宿主的插件配置提供。

状态文件位于 $DSH_HOME/dsh-remote-desktop.json;未设置 DSH_HOME 时使用 ~/.dsh/dsh-remote-desktop.json。

配置项 默认值 说明
role "" 自动选择;也可设为 host、client 或 off
host "" 从机连接的主机地址
token 自动生成 配对令牌,两端需一致
name 系统主机名 本机显示名称
bind / port 0.0.0.0 / 9527 主机中继监听地址与端口
share 见下文 主机共享开关
localPort 9528 从机本地代理端口,仅监听 127.0.0.1
autoOpen true 从机自动进入远程界面
mode "" 跟随保存的模式;可显式设为 remote 或 local
advertise "" 展示的主机对外地址
allow [] 来源 IP 白名单;为空时仍需令牌
tlsCert / tlsKey "" 主机 HTTPS 证书与私钥路径
caFile "" 从机使用的自定义 CA 证书路径
insecure false 从机是否跳过 TLS 证书校验,仅供调试
dshPort 自动探测 主机本地 DSH Web 端口,探测失败时可指定
secret 自动读取 高级选项:主机 browser-session 密钥
stateFile 默认状态文件 自定义状态文件路径

持久化与优先级: 设置页保存的地址、令牌、角色等优先于配置初始值;role: off 始终停用插件,显式 mode 优先于保存的模式。全新状态且未显式设置 role / share 时共享关闭;已有状态或显式配置角色时,请同时检查 share,其配置默认值为 true。

高级配置示例(调整已有插件行的 config,不要重复插入):

- id: dsh-remote-desktop
  name: '@local/dsh-remote-desktop'
  config:
    role: host
    share: false
    bind: 0.0.0.0
    port: 9527
    advertise: https://dsh.example.com

访问边界

  • 配对令牌允许从机操作主机 DSH,包括其中可用的文件、工具与审批能力。只交给可信设备与使用者。
  • 主机使用自己的 browser-session 密钥为上游请求签名;从机不需要主机 DSH 启动 token。从机代理注入配对令牌,并隔离两端 Cookie。
  • 令牌由 18 字节随机数据生成并以 Base64URL 保存;状态文件与本机设置接口含配对信息,应按敏感配置保管。
  • 公网连接请使用 HTTPS 或可信虚拟组网;HTTP 不加密传输内容。
  • allow 检查直接连接中继的来源 IP;反向代理部署需结合代理端访问控制。
  • 需要立即中止访问时关闭共享;更换令牌可使旧配对失效。

常见问题

现象 检查方式
安装后找不到设置入口 确认装到了当前宿主的 profile,重新加载或重启 DSH
未拿到 DSH Web 端口 在 A 上打开一次 DSH;仍无法探测时设置 dshPort
连接被拒绝或超时 检查共享开关、地址、端口、防火墙与组网连通性
返回 401 检查令牌;设置了 allow 时还需检查来源 IP
证书校验失败 检查域名与证书,私有 CA 可配置 caFile
能打开界面但操作无响应 检查反向代理的 WebSocket Upgrade 转发
从机显示 502 检查主机中继、本机 DSH 服务与网络连接
本地代理端口被占用 更换从机的 localPort 后保存
没有系统通知 检查通知权限与系统设置;前台主要使用闪烁与角标
重启后仍连接之前的主机 配对信息会持久保存,在设置页修改后重新连接

反馈请前往 Issues,附插件版本、DSH 版本、主机 / 从机角色和脱敏错误信息。请勿提交配对令牌、凭据文件或生产证书私钥。

开发与验证

node verify.mjs

自检脚本覆盖配对鉴权、状态与配置路由、角色切换、共享开关、HTTP / HTTPS、WebSocket、持久化及异常连接等行为。它使用临时插件状态目录;部分完整代理检查需要本机 DSH 凭据与可访问的 DSH Web 服务,缺少条件时会跳过相应检查。

通过 DSH_WEB_URL 指定运行中的 DSH Web 地址,例如 PowerShell:

$env:DSH_WEB_URL = 'http://127.0.0.1:58414'
node verify.mjs

test/cert.pem 与 test/key.pem 是公开的自签测试夹具,仅用于自检,禁止用于实际部署。

文件 用途
index.js 主机中继、从机代理、事件流与设置接口
client.js 设置页、远程界面、工具栏与提醒
cordis.patch.yml DSH bundle 注册,初始 config: {}
locale/、icon.svg 中英文元信息与插件图标
verify.mjs、test/ 自检脚本与测试证书
—/ 5

No ratings yet

Verified DSH bundle

Commit 02cfdd1832f7

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout