前言¶
在 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 / 幻方无官方从属关系。