🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

hutao562/dsh-remote-dsh

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
✓ 可直接安装

一个 DeepSeek HarnessDSH插件。它在侧边栏顶部添加一行「远程」;点击它会把整个页面变成另一台主机的…

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=20);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/11 · 已提供中文文档

DeepSeek Harness plugin: a sidebar tab that takes over the whole page with another DSH instance's Web GUI, plus a remote session-state badge. 在侧边栏顶部加一个「远程」标签,整页切到另一台主机上的 DSH。

综合分
28.9
GitHub 分
28.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-remote-dsh
npm 包 dsh-remote-dsh 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 0 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · browser
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 14 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-remote-dsh @ 0.1.1
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 04:21:51

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-remote-dsh

npm
license
topic

一个 DeepSeek Harness(DSH)插件。它在侧边栏顶部添加一行「远程」;点击它会把整个页面变成另一台主机的 DSH Web GUI。这一行还带有一个针对该远端的会话状态点 —— 当它正在运行某些东西时显示蓝色,当自你上次查看以来有活动到达时显示绿色。

┌────────────┬──────────────────────────────────┐
│ DSH        │                                  │
│ 🌐 远程 ●1  │                                  │
│ + 新会话   │      另一台主机上的 DSH           │
│ 会话列表…   │      (整个页面都是它)             │
└────────────┴──────────────────────────────────┘

实际长这样。侧边栏顶部那一行 —— 蓝色胶囊就是远端的状态点(这里远端正跑着东西,数字是会话数):

本机侧边栏的「远程」行

点开之后,整个页面都变成远端那台机器的 DSH:顶栏是插件的(返回 / 主机 / 添加 / 设置 / 连通状态),下面是它的 GUI,连侧边栏都是它的:

整页切到远端的 DSH

装

dsh plugin --profile web add dsh-remote-dsh

然后重启一次 DSH。 想跟 main 分支的话,换成 github:hutao562/dsh-remote-dsh 也一样。

用

1. 在另一台主机上装好 DSH 并跑 dsh web(它会打印带 ?token= 的 URL)。
2. 把它映射到本机的回环端口:
ssh -L 3081:127.0.0.1:3080 you@remote-host

3. 侧边栏点「远程」→「+ 添加」→ 地址填 http://127.0.0.1:3081。
4. 点「⚙」展开设置行,把远程 dsh web 打印的 token 粘进去 →「配对」。

之后只要 cookie 没过期(默认 30 天)就直接进。cookie 能扛远程重启;但 token 是每进程生成的,重新配对要用当前这次的。

一条硬规则:必须是本地回环端口

远程 DSH 的会话 cookie 是 HttpOnly; SameSite=Strict,跨 site 的 iframe 连它的 index.html 都取不到,直接 401:

| 远程在浏览器里的地址 | 结果 |
|---|---|
| http://127.0.0.1:(ssh -L,或 frpc stcp / xtcp + visitor) | ✅ 可用 |
| https://remote.example.com(frps http/tcp 公网域名) | ❌ 401 |
| http://100.x.y.z:3080(Tailscale IP 直连) | ❌ 403 + 401 |

即使用 FRP,也要用 stcp/xtcp + frpc visitor 模式映射成本地回环端口。 这样被控端一行配置都不用改。

原因、推论,以及确实需要公网域名时的做法 → docs/why-loopback.md

rail 上的状态点

| 颜色 | 含义 | 何时消失 |
|---|---|---|
| 琥珀 | 远端有会话卡在等你回答(批准 / 提问 / 计划评审) | 在那边答完 |
| 蓝 | 远端正跑着东西(含子代理) | 跑完 |
| 绿 | 自你上次打开远程视图之后,有会话跑完了一轮 | 打开远程即清零 |
| 红 | 读不到(该远端没装 peer) | 恢复后 |

配色和形状都取自远端侧边栏自己那套状态点 —— 蓝色就是会话列表里那个 8 格追逐动画,不是另画一个圆点。

展开时,状态是行最右端的计数胶囊(点 + 数字),和会话行的时间戳在同一条竖线上;侧边栏收起成 rail 时没有文字的位置,点就挂在图标右上角,计数留给 tooltip。

行上的「远程」两个字由外壳渲染,插件隔着 :has() 只定三样 —— UI 字族、14px、字重 500 —— 让它和「新会话」(14/500)一个腔调,而不是像段正文。order: 1 把胶囊排到文字之后,所以文字回到文字列、胶囊落到行尾。

琥珀是唯一一个"看一眼不会消失"的状态 —— 它是阻塞,不是通知。点进远程视图就能看到那边弹出的批准框或提问,答完即灭。

绿点按会话计数:一个会话即便既被提示过、又刚跑完,也只算一个。

要让状态点工作,被控端也要装本插件并以 peer 角色运行。它只发布匿名计数(没有会话 id、标题或内容),而且不需要任何凭据 —— 这是它相比"本地保存 token"的关键优势。
角色配置、为什么不比时钟、以及唯一一处围栏放宽的范围 → docs/peer-status-badge.md

被控端还要做的配置

被远程访问的机器很容易被 DSH 判定成“本机工作站”,于是几处面向它自己桌面的功能会打开:文件夹对话框弹在它的屏幕上、Open In 在它那边启动程序、每次启动在它桌面弹一个浏览器……这些都得在被控端关掉,否则你只会对着白屏和 401 猜。

一份可直接抄的清单(五组配置,附原因和验证方法)→ docs/remote-host-setup.md

文件

| | |
|---|---|
| lib/index.js | Node 半面:主机注册表、/api/remote-dsh 路由、回环围栏、存活探测 |
| lib/client.js | 浏览器半面:手写 __ModuleLoader__ bundle,注册三个官方 slot |
| cordis.patch.yml | bundle 层插入行(走 dsh plugin add 时生效) |
| docs/ | 上面链接的深度说明 |
| .verify/host-pending.mjs | Node 半面自检:pending 的记账与归因 |
| .verify/client-smoke.mjs | 浏览器半面冒烟测试 |

没有构建步骤 —— lib/ 就是源码,改完即生效。

开发

npm install
npm test          # 112 项断言
npm run test:host   # 只跑 Node 半面:waterfall 记账、resolve / reject / 同步抛出、子代理归因
npm run test:client # 只跑浏览器半面:module loader 契约 + 真 React 渲染 + jsdom 真实点击

想在源码目录里改并让本机 DSH 立刻加载(首次插入即热加载,不需要重启)→ docs/implementation.md

已知限制

- 琥珀色只在被控端装了 v4 以上的 peer 时才出现。 旧版 peer 不上报 pending,不会因此变红,但也不会有琥珀。
- 接管时会盖住本地侧边栏,返回靠顶栏按钮;焦点进了 iframe 之后 Esc 会失效。
- 改 lib/index.js 需要重启 DSH;lib/client.js 的改动刷新页面即可。
- 只做“用起来”,没做 agent 集成 —— 没有把远程主机暴露成模型工具。

其余取舍与实现细节 → docs/implementation.md

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群