dsh-power-monitor:在 DSH 侧栏查看整机功耗与电费

前言

跑 DeepSeek Harness(DSH)的机器往往长时间开着 GPU、反复调模型和插件。你想知道「现在多少瓦」「今天大概花多少电费」时,常见做法是另开任务管理器、nvidia-smi 或 LibreHardwareMonitor,再手算电价——和对话、侧栏是两套界面。

下面介绍的 dsh-power-monitor 是社区维护的 DSH 客户端插件:在左侧边栏账号行上方显示实时墙插功耗、今日/本月用电量与电费估算,并为模型提供 power_status 工具。数据在本机采集,插件本身不联网。

这是什么

  • 名称:dsh-power-monitor(npm 包名同仓库名)
  • 维护者:tcmyxc
  • 分类:客户端(dsh.client,注入侧栏与会话 UI)
  • 许可证:MIT(见仓库)
  • 版本:package.json 标注 0.1.0;运行环境要求 Node >=20
  • 一句话:在运行 DSH 的这台电脑上,汇总 GPU/CPU 等功耗,按电价估算电费,并展示在侧栏。

社区目录页:SkillHub - tcmyxc/dsh-power-monitor。源码与说明:GitHub - tcmyxc/dsh-power-monitor。目录站为社区生态站点,与 DeepSeek / 幻方无官方从属关系;DSH 侧插件按「一切皆插件」方式扩展能力。

测什么、数据从哪来

插件按部件组合读数,全部在本机完成:

部件 来源 精度
NVIDIA GPU nvidia-smi(显卡板载功耗) 实测
CPU / GPU LibreHardwareMonitor Web 服务器(默认 127.0.0.1:8085) 实测
CPU(无 LHM 时) 使用率 × TDP 模型:空闲功耗 + (TDP − 空闲功耗) × 负载 估算
主板、内存、硬盘、风扇 配置项 baseWatts 估算
电源转换损耗 各部件直流功耗 ÷ psuEfficiency 换算为墙插交流功耗 估算

nvidia-smi 为本地子进程;LibreHardwareMonitor 仅访问本机 HTTP 接口,不访问外网。

侧栏界面

侧栏展开时,账号行(头像 / 用户名 / 设置)正上方有一张占满宽度的实时功耗卡:当前瓦数、今日电费、今日电量与本月电费,以及最近数分钟的迷你曲线。点击卡片可展开分项:CPU / GPU / 其他硬件占比,今日 / 本月 / 本次运行的电量与电费,数据来源说明,以及电价、CPU TDP、其他硬件功耗等校准输入框。

侧栏收起时,卡片缩为约 40px 宽的紧凑样式(闪电图标 + 瓦数),悬停可查看完整读数。详情标题栏提供 EN / 中 切换,仅作用于该卡片;未手动选择时跟随应用语言,选择结果保存在浏览器本地。

校准与状态持久化

面板中修改的电价、CPU TDP、其他硬件功耗会立即生效,并写入本机状态文件(无需重启插件):

  • Windows:%LOCALAPPDATA%\dsh-power-monitor\state.json
  • macOS:~/Library/Application Support/dsh-power-monitor/state.json
  • Linux:$XDG_STATE_HOME/dsh-power-monitor/state.json(默认 ~/.local/state/...)

该文件还保存最近约两个月的每日瓦时(Wh)累计,因此 DSH 重启后今日 / 本月电费仍可连续计算。

配置 cordis.patch.yml

安装时写入的配置仅作首次运行默认值;侧栏面板改过的同名项会覆盖文件中的值。

# 键名与默认值(摘自 README)
tariff: 0.56          # 电价,元/千瓦时(或对应货币单位 per kWh)
currency: CNY         # CNY / USD / EUR / GBP / JPY
cpuTdp: 125           # CPU 功耗上限(W),用于估算
cpuIdle: 12           # CPU 空闲功耗(W)
baseWatts: 30         # CPU/GPU 之外的基础功耗(W)
psuEfficiency: 0.9    # 电源效率,用于换算墙插功耗
intervalMs: 2500      # 采样间隔(毫秒)
enableNvidia: true
nvidiaSmiPath: ''     # nvidia-smi 不在 PATH 时手动指定
enableLhm: true
lhmUrl: http://127.0.0.1:8085/data.json
stateFile: ''         # 覆盖状态文件路径
historyPoints: 90     # 迷你曲线保留点数

若希望降低周期性调用 nvidia-smi 的开销,可将 enableNvidia 设为 false(见下文限制说明)。

模型工具 power_status

插件注册无参工具 power_status,返回当前墙插功耗、分项来源、今日 / 本月 / 本次运行的电量与电费。适合在对话里让模型回答「现在电脑多少瓦」「今天电费多少」一类问题,而无需你自行拼凑多条命令输出。

安装与启用

  1. 在 SkillHub 插件页 或 GitHub README 查看当前推荐的 DSH 安装方式与命令(请以页面原文为准,勿沿用其他仓库的命令)。
  2. 安装前确认本机满足 Node >=20;若使用 NVIDIA 独显且开启 enableNvidia,需保证 nvidia-smi 可用;若依赖 LibreHardwareMonitor,需在本机启动其 Web 服务器并核对 lhmUrl。
  3. 插件以当前 DSH 进程权限运行,会周期性执行 nvidia-smi、读取本机传感器接口。安装前应自行审阅源码与 MIT 许可证,再决定是否启用。
  4. 按 package.json 中的 dsh.client 定义,客户端在 Web 平台 immediately 注入侧栏,安装并重启 DSH 后应能在侧栏看到功耗卡。

典型用法

侧栏查看与校准

  1. 展开 DSH 左侧边栏,在账号行上方查看实时瓦数与今日 / 本月电费。
  2. 点击卡片,按需修改电价、cpuTdp、baseWatts 等;修改会写入上述 state.json。
  3. 无 LHM 时,根据实际 CPU 型号调整 TDP 与空闲功耗,可减小估算误差。

配合 LibreHardwareMonitor(可选)

  1. 在本机运行 LibreHardwareMonitor,并开启 Web 服务器(默认端口 8085)。
  2. 保持 enableLhm: true 与默认 lhmUrl,插件从 http://127.0.0.1:8085/data.json 读取 CPU/GPU 实测功耗。

在对话中查询

让模型调用 power_status(无参数),根据返回的墙插功耗与电量、电费字段作答。

适用场景与注意

适合谁

  • 长时间在本机跑 DSH、希望功耗与电费与对话界面同屏的开发者。
  • 希望在智能体上下文中引用「当前机器功耗 / 今日电费」、且数据源在本机闭环的场景。

已知限制(摘自 README)

  • 无 LHM 时 CPU 仅能按负载与 TDP 估算;虚拟机、降压 / 超频或功耗墙会导致偏差。
  • 集显、AMD GPU 功耗取决于 LHM 是否暴露对应传感器。
  • 电费按单一电价计算;阶梯或峰谷电价请自行折算为平均值填入 tariff。
  • 采样周期内会按 intervalMs 启动 nvidia-smi;若介意进程开销,可关闭 enableNvidia 并更多依赖 LHM。

结尾

dsh-power-monitor 把本机功耗采集、日电费估算和侧栏展示收到一个 DSH 客户端插件里,并用 power_status 把同一套数据交给模型。需要阶梯电价、远程机房监控等能力时,仍需自行扩展或配合其他工具。

  • 目录页:https://www.skillhub.cn/plugins/tcmyxc/dsh-power-monitor
  • GitHub:https://github.com/tcmyxc/dsh-power-monitor
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye