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

下载页面 (Gumroad)

同时提供直接 ZIP 下载:battery-dashboard-v1.zip

环境要求:Python 3.9+、Windows 10/11、wmipywin32psutil。AI 摘要额外需要 groq 包。


RedKingsDesigns 开发——小工具解决真问题。

直达网址:https://milkyway801.gumroad.com/l/wdmrqv

类似文章