Windows 电池健康仪表盘:终端直接告诉你 A 到 F 评分和剩余寿命
Windows 自带的电池报告(powercfg /batteryreport)会生成一个 HTML 文件,里面塞满了 mWh 数字、设计容量、使用日志…… 你翻完也得不到一个明确的答案:我的电池到底还行不行?
这个终端工具就是为了解决这个问题而生的。它直接从 WMI 读取电池数据,给出 A–F 的健康评分,把历史数据存进 SQLite,用线性回归预测剩余寿命,甚至还能调用 Groq AI 给你一句大白话总结。全程在命令行里跑,不需要打开任何 GUI 软件。
跑起来的样子
执行一次就能看到这样的仪表盘:
┌─────────────────────────────────────────────────┐
│ BATTERY HEALTH DASHBOARD v1.0 │
├─────────────────────────────────────────────────┤
│ Health Grade: B (78.4% capacity retained) │
│ Design Capacity: 45,000 mWh │
│ Full Charge Now: 35,280 mWh │
│ Cycle Count: 312 │
│ Status: Discharging (67%) │
├─────────────────────────────────────────────────┤
│ Trend: -0.8% capacity/month over 6 snapshots │
│ Estimated lifespan: ~14 months remaining │
├─────────────────────────────────────────────────┤
│ AI Summary: │
│ Your battery is in good shape but showing │
│ steady degradation. At the current rate, plan │
│ for a replacement within the next 14 months. │
└─────────────────────────────────────────────────┘
怎么获取电池真实数据
Python 的 wmi 库可以访问 root/wmi 命名空间,那里藏着真正的电池信息——不是 root/cimv2 那些表层数据。
import wmi # 导入 wmi 库
c = wmi.WMI(namespace="root/wmi") # 连接到 WMI 的电池专用命名空间
# 设计容量(出厂时的原始最大值,单位 mWh)
static_data = c.BatteryStaticData()[0]
design_capacity = static_data.DesignedCapacity # 设计容量
# 当前满充容量(会随着使用损耗)
full_charge = c.BatteryFullChargedCapacity()[0]
current_full = full_charge.FullChargedCapacity # 当前满充容量
# 循环次数(部分硬件不支持)
try:
cycle_data = c.BatteryCycleCount()[0]
cycles = cycle_data.CycleCount # 循环次数
except:
cycles = None # 若获取失败,设为 None
# 健康度百分比
health_pct = (current_full / design_capacity) * 100
关键信号就是 health_pct。工具根据这个百分比给出评分:
- Grade A: 90–100%
- Grade B: 75–89%
- Grade C: 60–74%
- Grade D: 40–59%
- Grade F: < 40%
追踪损耗趋势 & 预测寿命
单次快照只能告诉你当前情况,而 SQLite 数据库记录了历史变化。每次运行都会写入一行:(时间戳, 满充容量, 健康百分比)。积累几周后,仪表盘会对健康百分比做线性回归,算出每月平均损耗率,并预测电池何时降到 40%(多数厂商认为的报废线)。
import numpy as np # 导入 numpy 用于回归
# x_days: 距离第一次记录的天数,y_health: 每次的健康百分比
slope, intercept = np.polyfit(x_days, y_health, 1)
# 预测健康度降到 40% 还需要多少个月
months_remaining = (40 - current_health) / (slope * 30)
数据点越多预测越准。每周跑一次,一个月后就能看到靠谱的趋势。
AI 总结(可选)
仪表盘会把健康评分、循环次数、损耗斜率、预测寿命发给 Groq 的 API(使用 llama-3.3-70b 模型),换回两句话。核心功能不需要 API key,AI 总结是可选的,输出时会有明确标记。
请求的提示词非常简短:
Battery health: {grade} ({health_pct:.1f}%). Cycles: {cycles}.
Degradation: {slope:.3f}%/day. Estimated months remaining: {months:.0f}.
Write a 2-sentence plain-English summary for a non-technical user.
Groq 的免费额度足够跑这个。
需要注意
这个工具只适用于带真实电池的 Windows 笔记本或平板。台式机、虚拟机、WSL 会报错或返回空数据。wmi 包依赖 Windows,所以这不是跨平台工具。另外部分厂商会屏蔽循环次数数据,工具会优雅地跳过。
获取方式
完整版仪表盘包含 SQLite 历史模块、回归逻辑、Groq 集成和干净的终端界面,售价 $15:
同时提供直接 ZIP 下载:battery-dashboard-v1.zip
环境要求:Python 3.9+、Windows 10/11、wmi、pywin32、psutil。AI 摘要额外需要 groq 包。
由 RedKingsDesigns 开发——小工具解决真问题。
