🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

远程门户 tsukii12/dsh-remote-portal

DeepSeek Harness
tsukii1212 天前有提交已提供中文文档扫描:含敏感能力

扫码配对后,用手机或公网地址远程操作本机

30.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add tsukii12/dsh-remote-portal
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/10/28·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 37 处,展示前 31 条)
  • 读取本地文件
    index.js:218
    const stat = await stat_(target);
  • 读取本地文件
    index.js:226
    let body = await readFile(target);
  • 读取本地文件
    index.js:274
    if (statSync(drive)) roots.push({ name: drive, path: drive });
  • 读取本地文件
    index.js:297
    resolved = await realpath(target);
  • 读取本地文件
    index.js:301
    const info = await stat_(resolved).catch(() => null);
  • 读取本地文件
    index.js:307
    readdir(resolved, { withFileTypes: true }),
  • 写入本地文件
    index.js:367
    await mkdir(target);
  • 发起网络请求
    client.js:859
    fetched = fetch(path, init);
  • 写入剪贴板
    client.js:993
    navigator.clipboard.writeText(text).then(function () { finish(true); }, function () { finish(legacyCopy(text)); });
  • 发起网络请求
    client.js:2331
    fetch(BASE + "/assets/mobile.css?v=" + CLIENT_VERSION, { credentials: "same-origin" }).then(function (res) {
  • 发起网络请求
    client.js:2350
    fetch(BASE + "/assets/mobile.js?v=" + CLIENT_VERSION, { credentials: "same-origin" }).then(function (res) {
  • 读取本地文件
    lib/gateway.mjs:686
    const stat = statSync(fileURLToPath(href));
  • 发起网络请求
    lib/gateway.mjs:993
    await proxy.request(req, res, {
  • 读取本地文件
    lib/gateway.mjs:1396
    statSync(join(pluginRoot, "icon.svg"));
  • 读取本地文件
    lib/gateway.mjs:1440
    stat = statSync(file);
  • 读取本地文件
    lib/gateway.mjs:1476
    body = gzipSync(readFileSync(file));
  • 读取本地文件
    lib/gateway.mjs:1486
    const stream = createReadStream(file);
  • 读取本地文件
    lib/gateway.mjs:1500
    const body = readFileSync(file);
  • 写入本地文件
    lib/state.mjs:253
    try { renameSync(this.path, keep); } catch { }
  • 读取本地文件
    lib/state.mjs:276
    const text = readFileSync(file, "utf8");
  • 写入本地文件
    lib/state.mjs:294
    mkdirSync(this.dir, { recursive: true, mode: 0o700 });
  • 写入本地文件
    lib/state.mjs:301
    writeFileSync(tmp, JSON.stringify(data, null, 2), { mode: 0o600 });
  • 写入本地文件
    lib/state.mjs:304
    try { if (existsSync(this.path)) copyFileSync(this.path, this.bakPath); } catch { }
  • 读取本地文件
    lib/state.mjs:304
    try { if (existsSync(this.path)) copyFileSync(this.path, this.bakPath); } catch { }
  • 写入本地文件
    lib/state.mjs:305
    renameSync(tmp, this.path);
  • 写入本地文件
    lib/state.mjs:306
    try { chmodSync(this.path, 0o600); } catch { }
  • 删除本地文件
    lib/state.mjs:311
    try { unlinkSync(tmp); } catch { }
  • 发起网络请求
    lib/proxy.mjs:379
    upReq = mod.request({
  • 发起网络请求
    lib/mint.mjs:255
    request = mod.request({
  • 发起网络请求
    lib/tunnel.mjs:154
    const upstream = http.request(
  • 读取本地文件
    lib/tunnel.mjs:282
    if (caFile) { try { options.ca = readFileSync(caFile); } catch { } }
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 远程访问:局域网扫码配对,以及通过自建中转服务器公网访问。

README

由 DeepSeek 最新模型翻译生成
简体中文 · English dsh-remote-portal 为 DeepSeek Harness 提供远程能力:局域网或公网远程访问。 功能 · 安装 · 更新 · 公网访问 · 安全 · 常见问题 DeepSeek Harness 只监听 127.0.0.1,用一次性启动令牌认证——离开这台电脑就用不了。本插件不改动 dsh 的任何机制,只在它前面加一道自己的门:独立端口上的网关,先验密码或一次性配对码,再转发给本机 dsh。 面板是主区域里的一个页面(和「插件」「自动化任务」同级),侧栏保持可用。 功能 | 局域网一条地址 | http://<局域网IP>:3081/,手机浏览器直接打开,不需要公网 IP 或端口映射 | | 扫码配对 | 面板生成二维码,180 秒有效、一次即失效 | | 公网访问 | 在你自己的服务器上跑中转,服务器主动拨出,得到稳定公网地址 | | 密码与设备 | scrypt 加盐、连错锁定、逐台设备撤销 | | 移动端重排 | 侧栏变抽屉、对话框不溢出、长代码/宽表格/大图不撑破页面 | | 服务器目录选择器 | 「添加工作区」列出服务器上的目录,可逐级进入、可新建文件夹 | | 零依赖 | 只用 Node 内置模块,无构建步骤 | 移动端侧栏抽屉服务器目录选择器 安装
展开完整文档(README 剩余 1 节)
简体中文 · English

dsh-remote-portal

为 DeepSeek Harness 提供远程能力:局域网或公网远程访问。

功能 · 安装 · 更新 · 公网访问 · 安全 · 常见问题

DeepSeek Harness 只监听 127.0.0.1,用一次性启动令牌认证——离开这台电脑就用不了。本插件不改动 dsh 的任何机制,只在它前面加一道自己的门:独立端口上的网关,先验密码或一次性配对码,再转发给本机 dsh。

面板是主区域里的一个页面(和「插件」「自动化任务」同级),侧栏保持可用。

功能

| 局域网一条地址 | http://<局域网IP>:3081/,手机浏览器直接打开,不需要公网 IP 或端口映射 |
| 扫码配对 | 面板生成二维码,180 秒有效、一次即失效 |
| 公网访问 | 在你自己的服务器上跑中转,服务器主动拨出,得到稳定公网地址 |
| 密码与设备 | scrypt 加盐、连错锁定、逐台设备撤销 |
| 移动端重排 | 侧栏变抽屉、对话框不溢出、长代码/宽表格/大图不撑破页面 |
| 服务器目录选择器 | 「添加工作区」列出服务器上的目录,可逐级进入、可新建文件夹 |
| 零依赖 | 只用 Node 内置模块,无构建步骤 |

移动端侧栏抽屉服务器目录选择器

安装

从 DeepSeek Harness 安装(推荐):插件 → 添加插件 → 填入

https://github.com/tsukii12/dsh-remote-portal

从命令行装:

git clone https://github.com/tsukii12/dsh-remote-portal
cd dsh-remote-portal
./install.sh # macOS / Linux,装进 desktop + web profile .\install.ps1 # Windows

使用国内镜像:

dsh plugin --profile desktop add \
https://ghfast.top/https://github.com/tsukii12/dsh-remote-portal/archive/refs/heads/master.tar.gz

装完重启 DeepSeek Harness 即可。

首次必做一步:侧栏 → 远程访问 → 设置访问密码。在此之前门户不会监听局域网。

更新

先移除,再安装:

dsh plugin --profile desktop remove dsh-remote-portal
dsh plugin --profile desktop add https://github.com/tsukii12/dsh-remote-portal

Web端把 --profile desktop 换成 --profile web。

更新后必须重启 dsh:宿主侧代码(index.js、lib/)只在启动时加载,光刷新页面只换到客户端一半。

锁定版本:

dsh plugin --profile desktop add https://github.com/tsukii12/dsh-remote-portal#v0.6.0

版本记录见 CHANGELOG.md。

公网访问

在你自己的服务器上跑中转(单文件、零依赖)。一条命令:

curl -fsSL https://raw.githubusercontent.com/tsukii12/dsh-remote-portal/master/tools/deploy-relay.sh | sudo bash

国内网络:

推荐:ghfast 代理
curl -fsSL https://ghfast.top/https://raw.githubusercontent.com/tsukii12/dsh-remote-portal/master/tools/deploy-relay.sh | sudo bash

备用:jsDelivr(可能滞后数小时)
curl -fsSL https://cdn.jsdelivr.net/gh/tsukii12/dsh-remote-portal@master/tools/deploy-relay.sh | sudo bash
脚本会自己下载 relay.mjs,探测环境、逐项提问(回车即默认),完成安装并注册 drp 命令。

交互式设置:

| 提问 | 说明 |
| 访客如何连接 | 1) HTTP 不加密 / 2) HTTPS |
| HTTPS 用域名还是 IP | 域名:配好证书后浏览器不报警;IP:自签证书,浏览器警告一次,之后照常加密 |
| 域名解析 | 填完域名会实际解析一次(优先问 1.1.1.1,避开本机缓存):指向本机才继续;指向别处(如走了 CDN)会提示并让你决定继续还是换域名;没有 A 记录会提示先加记录 |
| 证书 | 1) 自动申请,HTTP 校验(需 80 端口空闲)/ 2) 自动申请,DNS 校验(80 被拦也能签:Cloudflare 令牌或手工 TXT)/ 3) 我已有证书(粘贴 PEM 或填路径)/ 4) 自签(浏览器提示不安全) |
| 端口 | 对外端口、中转端口(自动跳过已占用的;域名被 80/443 拦截时对外端口默认 8443) |

⚠️ 选 HTTP 时,访问密码和全部会话内容(聊天、文件、命令输出)在公网上是明文。只有完全可信的局域网才该这么做。

管理命令:

$ drp
service running · autostart on uptime 2h 14m agent port 1.2.3.4:9443 (TLS) visitor 0.0.0.0:443 (TLS, self-signed) endpoint tls://1.2.3.4:9443 relay reachable tunnel connected · 2 streams traffic in 8.0 MiB · out 7.9 MiB · 2140 requests · 3 clients public https://1.2.3.4/__t/ab12cd34ef56/

更新中转:再跑一次同一条命令即可——令牌与证书会复用,端口不会漂移。

面板里「中转服务器」只填 IP:端口(如 1.2.3.4:9443),协议自动识别(先试 TLS,失败回退明文)。完整部署见 docs/DEPLOY-SERVER.md。

安全

门户是唯一的门:没设密码就不会监听非回环地址。
* 会话 Cookie dsh_portal:HttpOnly、SameSite=Lax、绑定 UA,TLS 下自动 Secure。
* 门户自己的每个响应都带严格 CSP / X-Frame-Options: DENY;被代理的 dsh 响应一个字节都不改(有测试钉死)。
* 上游认证用宿主凭据在后台换取,令牌不出本机、不落日志、不回显面板。
* 明文 HTTP 下同网段可抓包看到 Cookie;介意就配 TLS 或走中转。

详见 SECURITY.md。

常见问题

远程端某些按钮点了没反应?
多数是只在桌面端有意义的入口(在资源管理器 / VS Code 中打开等)。

局域网打不开?
① 面板状态是否「运行中」;② 手机与电脑是否同一网段;③ 防火墙是否放行端口;④ 监听地址是否为 0.0.0.0 或 auto。

公网地址打不开?
一台中转可以接多台 dsh:drp token add 生成新令牌,drp tokens 列出所有隧道,drp urls 列出所有地址。

drp status 看隧道状态:offline 说明家里没连上中转(检查 9443 是否放行、令牌是否一致);connected 但 503 说明反代缓冲(见部署文档排障表)。

撤销设备会踢掉 dsh 会话吗?
不会。撤销只让那台设备的门户 Cookie 失效,底层 dsh 身份是多设备共享的。

测试

node --test → 82 个测试,约 75 秒,网络路径不 mock:门户用真实监听端口,隧道用真实中转 + 真实 agent(覆盖 HTTP、HTTPS、WebSocket),二维码由独立解码器校验,移动层跑在测试自己启动的 dsh 上。缺少 Chrome 时浏览器测试会显式跳过。

兼容性

| dsh 版本 | 0.2.x(在 0.2.1-rc.2 上逐项验证) |
| profile | desktop(Electron)与 web(dsh web) |
| 系统 | Windows / macOS / Linux |
| 浏览器 | Chrome / Edge / Safari 15.4+ / Firefox 121+ |

文档

- ARCHITECTURE.md — 设计与实测宿主事实
- docs/DEPLOY-SERVER.md — 服务端部署(systemd / Caddy / nginx / TLS)
- CHANGELOG.md — 逐版本记录
- SECURITY.md — 安全策略

已知限制

* 只在同一网络内可达,公网访问需要服务器进行中转;不做 NAT 穿透。

许可

MIT
预览分享卡片长什么样 ↓tsukii12/dsh-remote-portal
分享 · DeepSeek Harness Hub
tsukii12/dsh-remote-portal

扫码配对后,用手机或公网地址远程操作本机

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部