前言¶
DeepSeek Harness (DSH) 采用插件化架构,Web 界面通常需要查看底层资源占用。传统的命令行监控工具(如 btop)在 Web 侧并不直观。dsh-vitals 是为 DSH Web GUI 提供的硬件负载监控插件,旨在提供类似 btop 的可视化体验,让用户在不离开聊天界面的情况下实时查看 CPU、内存和 GPU 状态。
插件概览¶
名称:dsh-vitals
维护者:JoblessJoe
许可证:MIT
该插件主要提供以下能力:
* CPU 监控:显示总体利用率,以及每核心的负载情况(支持任意数量物理核心)。
* 内存监控:显示已用、可用及总量,并计算使用率。
* GPU 监控:支持 NVIDIA GPU,显示温度、利用率、功耗和显存使用情况。
* 界面集成:在会话标题栏提供迷你小组件,并在聊天视图旁提供完整的 Hardware 标签页。
* 零依赖:无运行时依赖,安装后直接可用。
安装与启用¶
安装过程通过 DSH 的插件管理工具完成,无需手动编辑配置文件。
- 确保你的 DSH 环境已安装并配置好 Web profile(
web)。 - 执行以下命令将插件安装到 Web profile 中:
npx @deepseek-ai/dsh plugin --profile web add dsh-vitals
该命令会自动将插件添加到 `dsh.profile.bundles` 配置中。
安装完成后,Web profile 会自动热重载。无需重启,只需刷新浏览器页面即可看到插件效果。
使用方式¶
刷新页面后,插件会自动在两个位置显示数据:
-
会话标题栏迷你小组件
- 在聊天界面顶部的会话标题栏(”⋯” 菜单附近)会出现一个小组件。
- 它以短条形式显示 CPU 和 GPU 的实时负载。
- 交互:鼠标悬停可查看温度和显存信息;点击小组件可跳转到下方的完整 Hardware 标签页。
-
Hardware 标签页
- 在对话视图顶部,点击 Hardware 标签。
- 该页面展示详细的硬件数据:
- CPU:总体负载、60秒动态曲线图、最高温度、每核心负载(支持多热区详情)。
- 内存:已用/可用/总量及利用率。
- GPU:单张卡显示名称、温度、利用率、功耗和显存使用。
技术细节¶
- 数据获取:插件通过一个独立的 GET 接口(
/plugins/dsh-vitals/data)读取主机数据,该接口未受 DSH 服务器/api信任护栏的保护,因此启用了跨站保护,仅接受 GET 请求。 - 平台支持:
- Linux:使用
/proc/stat、/proc/meminfo和nvidia-smi。 - macOS:使用
os.cpus()、vm_stat和ioreg(注意:macOS CPU 温度读取通常需要 root 权限,插件会隐藏无数据的面板)。 - Windows:使用
os.cpus()、os.freemem()和nvidia-smi.exe(需 PATH 或特定目录)。
- Linux:使用
- 构建要求:虽然安装使用的是预编译包,但若需从源码构建,需要 Node.js 20+ 环境,且无运行时 npm 依赖。
结语¶
dsh-vitals 是一个无需配置即可上手的系统监控插件,适合在本地模型推理时实时监控资源。更多关于兼容性或源码构建的信息,请参考 GitHub 仓库。