DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Dock Vitals — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
D

dsh-dock-vitals

Dock Vitals

在 DeepSeek Harness composer 状态栏中实时显示 CPU、内存和 GPU 使用情况:提供可点击的徽章和详细信息面板,支持按指标切换,并可在设置中选择三种刷新速度。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:MM998LI/dsh-dock-vitals#3548e9c8aa01e013635ff09a0553c549840ad64f
README兼容性版本

兼容性与来源证明

Dock Vitals 以 dsh-dock-vitals 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/13

版本

0.1.1stable
2026/10/13
0.1.0stable
2026/10/12

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/13
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包

README

dsh-dock-vitals

Live CPU / memory / GPU readout in the DeepSeek Harness composer status bar — a small clickable badge next to the built-in context meter.

2 turns 30 steps · 98 tok/s │ 1.8M tok · cache 84% │ 6%
CPU 13%  MEM 87%  GPU 15%
                ↑ this plugin's badge, right of the context meter
  • Display-only plugin. It registers no tools for the model. Samples never enter the conversation context and are never sent anywhere.
  • Three metrics out of the box — CPU / memory / GPU; video memory and GPU temperature are one toggle away in settings.
  • GPU works across vendors, no admin rights: nvidia-smi, rocm-smi, macOS ioreg, and Windows PDH counters as the catch-all. Whichever backend answers is named in the snapshot, and a backend that cannot report a field leaves it blank instead of printing 0.
  • Click the badge for a details panel: per-metric values, GPU model, core count and capacity.
  • Three refresh presets: fast 1.5 s / medium 3 s / slow 10 s (default 3000 ms).
  • Opening ten sessions still samples once — every badge shares one snapshot and one timer.
  • Sampling stops on its own 15 seconds after the last reader.
  • Follows the host language (Chinese / English), including the details panel and tooltips.

Install

dsh plugin --profile <profile> add dsh-dock-vitals

Or drop the tarball in:

dsh plugin --profile <profile> add ./dsh-dock-vitals-0.1.0.tgz

Restart DSH afterwards.

Data sources

MetricSourceNotes
CPUNode os.cpus() sampled twiceMachine-wide busy percentage (1 - Δidle/Δtotal), not per-core. The first sample has no baseline and reads empty.
Memoryos.totalmem() / os.freemem()
GPUA vendor CLI, probed per platform (see below)When nothing answers, GPU shows — while CPU and memory keep working.

GPU backends, tried in this order on each platform — the first that answers wins, and the winner is remembered so later ticks skip the dead ones:

PlatformBackendCommandPermissionVideo memory / temperature
Windows / Linux, NVIDIAnvidia-smi--query-gpu=... --format=csv,noheader,nounitsnoneboth
Windows, any vendorPDH counters via typeperf"\GPU Engine(*)\Utilization Percentage" -sc 2 -si 1noneneither
Linux, AMDrocm-smi-u --showmemuse --showmeminfo vram -t --showtemp --showproductname --csvnoneboth
macOS, any GPUioreg (IOKit registry)-r -d 1 -w 0 -c IOAcceleratornoneused only (no total)

typeperf is the only way to read a GPU on Windows for AMD/Intel — ROCm is Linux-only — so it is worth knowing its cost: one round takes ~2.7 s, where nvidia-smi takes ~50 ms. That is why GPU sampling is decoupled from the badge refresh rate: CPU and memory keep their own cadence, and the GPU value is served from the last completed reading.

Aggregation follows Task Manager: sum each process per engine type, then take the busiest engine type per adapter, then the busiest adapter. Summing every instance together over-reports, and reading only the 3D engine misses video encode/decode load entirely.

A field the active backend cannot report is null in the snapshot, never 0 — a missing temperature and a 0 °C temperature are different things. The details panel hides those rows rather than printing a made-up number.

The host side exposes one read-only endpoint:

GET /dsh-dock-vitals/snapshot
{
  "cpu": { "percent": 13.2, "cores": 24 },
  "memory": { "usedPercent": 87.3, "usedGiB": 13.7, "totalGiB": 15.7 },
  "gpu": {
    "available": true,
    "name": "NVIDIA GeForce RTX 4060 Laptop GPU",
    "utilPercent": 15,
    "memoryUsedMiB": 1816,
    "memoryTotalMiB": 8188,
    "temperatureC": 64,
    "clockMegahertz": 2370
  },
  "gpuError": null,
  "gpuBackend": "nvidia-smi",
  "host": { "platform": "win32", "release": "10.0.26300" },
  "intervalMs": 3000,
  "updatedAt": 0
}

gpuBackend names the backend that produced the reading, so "why is my GPU blank / missing a temperature" is answerable from the payload itself. Non-loopback callers get 403; anything but GET/HEAD gets 405.

Settings

Settings → System Status:

OptionDefaultNotes
Enable badgeonOff means the badge never renders and never fetches
CPUon
Memoryon
GPUon
Video memoryoffUnavailable while GPU is off
GPU temperatureoffSame
Refresh interval3000 ms1500 – 60000 ms

Every field is volatile, so changes apply immediately without a restart. Configuration lives in the settings namespace dock-vitals — the id of the plugin's entry in your profile.

Compatibility

  • dsh >=0.2.0-rc.1 (developed and verified on 0.2.0-rc.2).
  • Node >=22.
  • Windows / macOS / Linux. CPU and memory come from Node's os; the GPU backends are read-only CLIs and registry reads (nvidia-smi, typeperf, rocm-smi, ioreg). Nothing needs administrator rights — this deliberately avoids powermetrics, which is macOS's richest GPU source but requires sudo on every call.
  • Works in both the desktop app and the browser GUI: dsh.client.platform is web, and the desktop app is a shell around the same web frontend.

Development notes

  • Client components may only require modules from the host whitelist (react, react/jsx-runtime, react-dom, react-dom/client, @deepseek-ai/cordis, @deepseek-ai/dsh-client-store, @deepseek-ai/dsh-client-ui-slots, @deepseek-ai/dsh-client-ui-primitives, @deepseek-ai/dsh-client-ui-dockkit). Anything else fails to resolve, and a throwing require kills the factory → the entry fails → the desktop build refuses to open. Wrap every require in try/catch and ship a fallback.
  • Never call a hook inside apply(). useSyncExternalStore's getSnapshot must return a stable reference — an object rebuilt on every call causes an infinite re-render loop.
  • Styles use --dsw-* theme tokens only; literal colours are reserved for graphics.
  • UI is contributed through ctx.slots.inject(ownerKey, () => ctx.slots.register(...)).

License

MIT