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
羽毛球分组比赛记分
小程序二维码

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

小夜