前言¶
在 DeepSeek Harness(DSH)裏跑長對話或本地工具鏈時,側欄裏常見的 CPU 佔用條往往看不出「電池在悄悄被燒」:空閒 0.2 W 和失控 22 W 在百分比視圖裏可能差不多。社區插件 dsh-power-monitor 把瓦特數放在側欄底部(賬號行上方),並附帶 CPU、內存、溫度與風扇轉速,方便你在同一界面判斷機器是否在過熱或高功耗。下面介紹它是什麼、怎麼裝、以及可選的特權輔助進程。
這是什麼¶
dsh-power-monitor 由維護者 chuanjunzhang 發佈,分類爲客戶端插件;倉庫見 GitHub,社區目錄頁見 SkillHub。許可證爲 MIT(package.json 版本 0.1.0)。
它面向 macOS Apple Silicon(arm64) 上的 DSH Desktop 構建:需要宿主暴露 sidebar.footer.action 插槽。Intel Mac 不支持內置的 arm64 二進制。
側欄卡片示例(README):
CPU 13% MEM 14.8G
TEMP 41° FAN 0 rpm
● PWR 1.1W
各列按閾值着色(綠 → 琥珀 → 橙 → 紅),狀態點取 CPU、溫度、功耗三者中最差的一檔。
核心功能¶
無管理員權限即可顯示¶
通過 Mach host_statistics(約 400 ms 差分)與 vm_stat(active + wired + compressed)採集 CPU 與 內存,無需 root。
可選:溫度、風扇、功耗¶
安裝特權輔助後,LaunchDaemon 以 root 讀取 SMC(風扇與傳感器)並調用 powermetrics(cpu+gpu+ane 功耗),約每 2 秒寫入 /tmp/dsh-power-monitor.json。客戶端經宿主路由 GET /power-monitor/metrics 輪詢(同樣約 2 秒),不向網絡發送數據。
閾值(摘自 README):
| 指標 | 綠 | 黃 | 橙 | 紅 |
|---|---|---|---|---|
| CPU | <30% | 30–60% | 60–85% | >85% |
| MEM | <60% | 60–80% | 80–90% | >90% |
| TEMP(SMC 最大值) | <55° | 55–70° | 70–82° | >82° |
| FAN | ≤2600 rpm | 2600–4200 | >4200 | — |
| PWR | <4 W | 4–12 W | 12–25 W | >25 W |
顯示層對功耗做了 3 樣本中值平滑;FAN 爲 0 rpm 在 Apple Silicon 上可能正常(風扇在約 50–60 °C 以下常停轉)。無風扇機型(如部分 MacBook Air)FAN 格爲空。
安裝與啓用¶
DSH 生態裏插件常以本地 bundle 方式接入;本插件官方步驟如下,安裝後需重啓 DeepSeek Harness。
1. 安裝插件本體(無需管理員)¶
腳本會把包鏈接到 ~/.dsh/profiles/desktop/node_modules/,並在 profile 的 bundles 列表中加入 dsh-power-monitor。
git clone https://github.com/chuanjunzhang/dsh-power-monitor.git
cd dsh-power-monitor
./install-plugin.sh
2. 可選:特權輔助(啓用 TEMP / FAN / PWR)¶
macOS 會一次性請求管理員密碼,安裝 SMC 讀取器、採樣腳本與 LaunchDaemon:
./helper/install.sh
涉及路徑包括 /usr/local/libexec/dsh-power-monitor-smc、/usr/local/libexec/dsh-power-monitor-helper.sh 與 /Library/LaunchDaemons/com.local.dsh-power-monitor.plist。卸載輔助:
./helper/uninstall.sh
若跳過第 2 步,側欄仍顯示 CPU 與內存。
工作原理(簡要)¶
LaunchDaemon (root)
├─ dsh-power-monitor-smc ──► SMC
└─ powermetrics ──► watts ──► /tmp/dsh-power-monitor.json
│
DSH host plugin ── GET /power-monitor/metrics
│
DSH client plugin ── sidebar.footer.action ──► 側欄卡片
讀 SMC 與 powermetrics 在 Apple Silicon 上需要 root;不裝 daemon 則僅保留無需特權的 CPU/內存路徑。
適用場景與注意¶
- 適合:在 DSH 側欄常駐觀察 Apple Silicon Mac 負載與功耗的開發者;希望用瓦特而不僅是 CPU% 判斷後臺是否在耗電。
- 環境:僅 arm64 macOS;依賴 DSH 內部插槽名
sidebar.footer.action,DSH 升級若改名可能需要插件跟進。 - 侷限:部分 SoC 溫度鍵名不在探測列表時溫度可能爲空;功耗採樣窗口與間隔與其他工具瞬時讀數可能不一致;Intel 需自行編譯 universal 二進制(見
helper/smc.swift)。 - 安全與隱私:輔助進程以 root 運行,安裝前應閱讀源碼(SMC 約 150 行 Swift);daemon 僅寫 world-readable 的
/tmp/dsh-power-monitor.json,錯誤日誌在/var/log/dsh-power-monitor.err.log。插件以當前 DSH 進程權限運行,安裝前請覈對倉庫許可證與代碼。
完整卸載插件還需刪除 ~/.dsh/profiles/desktop/node_modules/dsh-power-monitor,並從 ~/.dsh/profiles/desktop/package.json 的 bundles 數組中移除 dsh-power-monitor(先 ./helper/uninstall.sh 若裝過輔助)。
結尾¶
dsh-power-monitor 把 Apple Silicon 上的實時功耗與關鍵傳感器讀數收進 DSH 側欄底部,本地輪詢、無出站網絡。社區目錄與 GitHub 分別爲 SkillHub 插件頁 與 chuanjunzhang/dsh-power-monitor。SkillHub 爲社區獨立站點,與 DeepSeek / 幻方無官方從屬關係。