DeepSeek Harness Hub
← 返回列表

sshhhll002/dsh-remote-gpu-monitoring

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

一个用于 DeepSeek Harness Web 的远程多服务器 GPU 状态面板:只需一眼即可查看所有可通过…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/18 · 已提供中文文档
综合分
28.4
GitHub 分
28.4
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add sshhhll002/dsh-remote-gpu-monitoring
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-remote-gpu-monitoring

一个用于 DeepSeek Harness Web 的远程多服务器 GPU 状态面板:只需一眼即可查看所有可通过 SSH 访问的 GPU 服务器,就在侧边栏中——一个可折叠面板加上 agent 工具。

● Remote GPU · 3/4 free                (sidebar foot entry, collapsible)
┌────────────────────────────────────────┐
│ Remote GPU                  [⚙][↻][✕]  │
│ ● gpu-a                       1/1 free │
│   GPU0 RTX 4090  22.7/24.0G  0% 32°C 58W│
│ ● gpu-b                      0/2 free │
│   GPU0 RTX 3090  23.5/24.0G 11% 52°C 96W│
│   GPU1 RTX A6000 10.0/48.0G  2% 40°C 45W│
└────────────────────────────────────────┘

为什么需要它

监控一组机器通常意味着逐个 ssh 登录每台机器并手动运行 nvidia-smi。这个插件把它变成一个由所有浏览器会话共享的实时面板,并带有可供模型直接回答的缓存快照——因此“哪台服务器有空闲显卡?”只需一次工具调用,而不是七次 SSH 往返。

功能特性

- 一个面板,所有服务器——对每台主机执行固定的只读 nvidia-smi 查询:每张卡的型号、显存、利用率、温度和功耗,并按阈值进行颜色编码。混合 GPU 的服务器也没问题——每张卡都会单独标注。
- 零配置——启动时解析 ~/.ssh/config(Include、通配符、带引号的别名),并监视每个具体别名;Host  模式和 ! 否定会被跳过。
- 按服务器选择——⚙ 视图会列出所有发现的主机;未勾选的服务器会从面板中消失,并立即停止采集。
- 设计上安全——只有 Host 进程会打开 SSH:BatchMode=yes、仅公钥、一条固定的只读命令。任何用户输入都不会到达远程端,也不存在任意命令工具。私钥永远不会离开你的 ~/.ssh/config / agent。
- 设计上低成本——所有浏览器会话共享一个主机端缓存;按主机复用 ControlMaster socket(每次刷新无需握手);单飞、错峰采集和指数退避。
- Agent 工具——gpu_overview(缓存快照,零 SSH 开销)和 gpu_refresh(立即执行一次采集)。

安装

dsh plugin --profile web add github:sshhhll002/dsh-remote-gpu-monitoring   # from GitHub
dsh plugin --profile web add dsh-remote-gpu-monitoring                     # from npm, once published
dsh --profile web                                                          # restart dsh, then refresh the page
插件通过安装启用:出现在配置文件的 bundle 列表中即为开关。重启一次,然后侧边栏条目、面板和工具会随应用一起出现。

工作原理

browser panel ──GET/POST /api/remote-gpu──▶ host cache ◀──ssh── your servers
(ControlMaster, fixed read-only
nvidia-smi, 5s refresh)

- Host 进程是唯一与服务器通信的组件;每个浏览器会话读取相同的缓存快照。
- 每台主机的 ControlMaster socket 在刷新之间保持,因此 5 秒一次的 tick 只是在现有连接上执行一次简单 exec,而非握手。
- 连接详情(HostName、端口、密钥、跳板主机)始终来自你的 ~/.ssh/config,并在每次探测时重新读取;只有别名列表在启动时发现一次。
- 面板唯一的写入是选择集;未选中的主机会完全停止被查询。

配置

以下全部为可选。该行默认附带 hosts: 'auto'(发现 ~/.ssh/config 中的每个具体别名)。若要改为监视显式列表,请在配置文件的 cordis.patch.yml 中覆盖该行:

- id: remote-gpu-monitoring
name: dsh-remote-gpu-monitoring
config:
hosts: ['gpu-a', 'gpu-b', 'train-01']

所有行配置键都会合并到默认值之上:

| 键 | 默认值 | 含义 |
| --- | --- | --- |
| hosts | 'auto' | 'auto' = ~/.ssh/config 中的每个具体别名,或别名的 string[] |
| intervalMs | 5000 | 每台主机的采集间隔 |
| sshTimeoutMs | 9000 | 每次探测的超时时间 |
| busyMemPct | 80 | 显存百分比达到或超过此值时,显卡计为忙碌 |
| busyUtilPct | 50 | 利用率百分比达到或超过此值时,显卡计为忙碌 |
| noGpuRetryMs | 300000 | 无 GPU 主机的重新探测频率 |
| backoffBaseMs / maxBackoffMs | 5000 / 60000 | 失败退避递增 |

要求

- 服务器可通过系统 ssh 客户端使用密钥认证访问(即 ssh  … 无需密码提示即可运行),别名位于 ~/.ssh/config 中。
- 每台 GPU 服务器上都有 nvidia-smi。没有它的主机会被检测到并从面板中隐藏(会定期重新探测)。

故障排除

| 症状 | 修复 |
| --- | --- |
| 某台主机显示红色错误行 | 面板会打印确切的 ssh 错误。请验证从运行 dsh 的机器上,ssh  'nvidia-smi' 能以非交互方式运行。 |
| 某台主机被标记为 no GPU | 该主机未安装 nvidia-smi,或该别名不是 GPU 机器。在 ⚙ 中取消勾选;它每 5 分钟会被重新探测。 |
| 新别名未出现 | 发现过程在启动时运行——编辑 ~/.ssh/config 后请重启 dsh。 |
| 面板为空 | 未发现任何具体别名;请检查 ~/.ssh/config 是否存在且包含 Host 条目(像 Host  这样的模式按设计会被忽略)。 |
| 更改未显示 | 插件集和配置更改在 dsh 重启后生效,然后刷新页面。 |

开发
这里刻意没有构建步骤:index.js 是宿主部分(纯 ESM,导出 inject + apply),client.js 是预构建的 __ModuleLoader__ 工厂包(仅依赖 react)。编辑任一文件,重启 dsh,刷新即可。

卸载 / 更新

dsh plugin --profile web update dsh-remote-gpu-monitoring   # 拉取更新版本
dsh plugin --profile web remove dsh-remote-gpu-monitoring   # 卸载

安全说明

- 远程命令是固定的:nvidia-smi --query-gpu=index,name,memory.used,memory.total,utilization.gpu,temperature.gpu,power.draw,power.limit --format=csv,noheader,nounits。它是只读的,且从不根据用户输入构建。
- 该插件不读取私钥,也不存储凭据——它将一切委托给你现有的 ssh 配置。
- 可选加固:将每台服务器上的密钥限制为仅执行此查询:
command="nvidia-smi --query-gpu=... ",restrict ssh-ed25519 AAAA...

许可证

MIT

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

💬 加入 DPharness 群聊

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

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群