DeepSeek Harness Web GUI 的实时监控标签页,以 btop 风格展示 CPU/内存/温度/GPU。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-vitals
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:JoblessJoe/dsh-vitals
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
中文简介 · DeepSeek Harness (dsh) Web 界面插件:像 btop 一样实时显示硬件负载,无需离开聊天。会话标题栏有迷你小组件,Chat / Trajectory 旁边有完整的 Hardware 标签页:CPU 总负载和每核负载、内存、温度,以及每块 GPU 的温度、负载、功耗和显存。支持 Linux、macOS、Windows,零运行时依赖,无需配置。安装:
dsh plugin --profile web add dsh-vitals
A DeepSeek Harness (dsh) web GUI plugin that shows live hardware load right where you work: a self-contained, dependency-free companion to btop. Watch your GPU while your local model thinks, without leaving the chat.
dsh plugin --profile web add dsh-vitals
Restart dsh: CPU and GPU load appear in the session header, and the full Hardware tab sits next to Chat / Trajectory. Full details under Install.
What it shows
- CPU — overall utilisation, a live 60s sparkline, highest temperature reading, and per-core load (every physical core, any count) — with per-thermal-zone detail when there's more than one sensor
- Memory — used / available / total with utilisation %
- GPUs — one card each: name, temperature, utilisation, power draw, and VRAM (used / total)
Data is sampled host-side on every poll (~0.5 s) and rendered live.
How it works
- Host — a
GET-only route registered on the dsh web server (/plugins/dsh-vitals/data) that reads the OS's own sources with no privileged access and returns JSON. - Client — a single self-contained bundle that polls the route and draws the panels with inline styles (no CSS pipeline, no assets).
Where it shows up
Two access points, both live the moment the plugin is bundled — no setup:
- A mini widget in the session header, next to the "⋯" menu: CPU and per-GPU load as tiny bars, always visible while you chat. Hover for temps and VRAM; click to jump to the full tab.
- A full
Hardwaretab next to Chat / Trajectory at the top of the conversation view: per-core CPU, memory, temperatures and every GPU.
Platform support
Linux, macOS and Windows. Each signal uses the best unprivileged source the OS offers and hides itself when there is none:
| Signal | Linux | macOS | Windows |
|---|---|---|---|
| CPU load (overall + per core) | /proc/stat |
os.cpus() |
os.cpus() |
| Memory | /proc/meminfo |
vm_stat (counts cache as available, like Activity Monitor) |
os.freemem() |
| CPU temperature | /sys/class/thermal |
hidden (needs root) | WMI thermal zones, when the board exposes them (often needs dsh running as admin) |
| NVIDIA GPUs | nvidia-smi |
nvidia-smi |
nvidia-smi.exe (PATH or NVSMI folder) |
| Apple / other GPUs | — | ioreg utilisation + memory in use |
— |
Everything degrades gracefully: a missing source hides that panel or shows a placeholder instead of breaking the tab. Any number of GPUs and any CPU core count is supported.
Install
From your dsh web profile (web below is the profile name; use whichever
profile backs your web GUI):
dsh plugin --profile web add dsh-vitals
This installs the package into the profile and adds it to
dsh.profile.bundles for you — no manual package.json editing. (No local
dsh binary? Run the equivalent by hand from the profile directory, e.g.
~/.dsh/profiles/web/: pnpm add dsh-vitals, then add "dsh-vitals" to
that package.json's dsh.profile.bundles array yourself.)
The published package ships its built lib/ output, so no build step runs
on install — nothing else to do before restarting.
Restart your dsh web service and open the web GUI — see Where it shows up above for how to find it.
New bundles are registered from the profile's
bundlesarray, so a one-time service restart is required the first time you add it.
Building from source
Requires Node 20+. Dependencies are dev-only (esbuild); the published package has zero runtime npm dependencies.
git clone https://github.com/JoblessJoe/dsh-vitals.git
cd dsh-vitals
pnpm install
node scripts/build.mjs # emits lib/index.js + lib/client.js
package.json declares a build script, so pnpm build works too.
Configuration
None. The plugin reads whatever the host exposes; there is no config surface.
Security
The data route sits outside the dsh web server's /api trust fence, so it
enforces that fence itself: Sec-Fetch-Site: cross-site requests are rejected
(403) and only GET/HEAD are served (405 otherwise). All sources are read-only.
License
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8597
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8597
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4424
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
ccch1mneyyy/dsh-TUI★ 4268
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 4098
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1445
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。