BianQue(扁鹊)· 跨平台硬件验机工具
望闻问切,给机器做一次全面体检。
BianQue(扁鹊) 是一个纯 Python 的硬件验机工作流工具,帮你把新机器从屏幕、摄像头、麦克风、扬声器、键盘、鼠标,到散热、电池、磁盘、内存、网络,从头到尾跑一遍,最后生成一份可存档的验机报告。
名字取自战国名医扁鹊——望闻问切四诊法,正对应验机的四个环节:望(屏幕、摄像头)、闻(扬声器、麦克风)、问(硬件信息采集)、切(散热压力测试)。买新电脑、实验室验收设备、二手交易验货,用它一套跑完,心里有底。
功能
| 检测项 | 说明 |
|---|---|
| 硬件总览 | CPU / 内存 / 磁盘 / GPU / 主板型号自动采集 |
| 屏幕 | 分辨率·刷新率·DPI + 全屏六色纯色坏点检测 |
| 摄像头 | 实时预览 + 拍照成像验证 |
| 麦克风 | 实时电平表 + 录音回放 |
| 扬声器 | 左右声道独立 + 扫频测试 |
| 键盘 | 全键测试(虚拟键盘逐键变绿) |
| 鼠标/触控板 | 左右中键、滚轮、移动检测 |
| 散热 | CPU 压力测试 + 频率/温度/降频观察 |
| 电池 | 电量、循环次数、健康度 |
| 磁盘 | 分区信息 + 顺序读写测速 |
| 内存 | 容量/频率信息 + 读写自检 |
| 网络 | 网卡信息 + ICMP 延迟/丢包 |
| 报告 | 汇总导出 HTML / Markdown / JSON |
安装
pip install -e .
Python ≥ 3.10。依赖:PySide6、psutil、numpy、sounddevice。
使用
bianque # 启动图形界面
bianque-gui # 同上(GUI 脚本)
打开后左侧导航逐项检测,每个页面都有明确的"开始/确认"按钮,结果实时汇总到底部状态栏。最后在"验机报告"页一键导出。
平台支持
| 能力 | macOS | Windows | Linux |
|---|---|---|---|
| 屏幕 / 摄像头 / 键盘 / 鼠标 | ✅ | ✅ | ✅ |
| CPU / 内存 / 磁盘信息 | ✅ | ✅ | ✅ |
| 磁盘 / 内存测速 | ✅ | ✅ | ✅ |
| 电池循环次数/健康度 | ✅ (system_profiler) |
✅ (wmic) |
✅ (upower) |
| CPU 温度 / 风扇转速 | ⚠️ 需 SMC 权限 | ✅ (WMI) | ✅ (psutil) |
macOS 上温度/风扇受系统权限限制无法直接读取,工具会自动降级,改为依据压力测试中的频率与占用率判断散热。
目录结构
bianque/
├── app.py # 程序入口
├── core/ # 纯逻辑(无 UI,可单测)
│ ├── system.py # 系统/硬件信息采集(跨平台)
│ ├── stress.py # CPU 压力测试
│ ├── thermal.py # 温度/风扇
│ ├── disk.py # 磁盘测速
│ ├── memory.py # 内存信息 + 自检
│ ├── audio.py # 测试音合成 + 设备枚举
│ ├── network.py # 网卡 + ping
│ ├── battery.py # 电池
│ ├── models.py # 结果/报告数据模型
│ └── report.py # 报告渲染(MD/HTML/JSON)
└── ui/ # PySide6 界面
├── main_window.py
├── worker.py # 后台任务线程
├── theme.py # 深色主题
└── pages/ # 各检测页面
开发
pip install -e ".[dev]"
pytest # 全部测试
ruff check . # lint
mypy bianque # 类型检查
License
Release files for bianque 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bianque-0.0.1.tar.gz | 54.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bianque-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 116.0 kB
Release files / bianque-0.0.1.tar.gz
| Download URL | bianque-0.0.1.tar.gz |
|---|---|
| Size | 54.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b6b9ad213dbf951311887c681993434cfdadb598cabb223375b144fed30e21f8
|
|
BLAKE2b-256 checksum How to use checksums |
4571da290e60315b3cfb4ab7ed62027c90dbae967980f480b916c364a49670dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / bianque-0.0.1-py3-none-any.whl
| Download URL | bianque-0.0.1-py3-none-any.whl |
|---|---|
| Size | 61.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6aefc36c784472d63faa5d1896602d9a771b3c2c112ad907ab38d4f8ed85b9b8
|
|
BLAKE2b-256 checksum How to use checksums |
4083bc77dc1840c22114eecc13623154b92f0c69f1a3369a0562ab92e912bece
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|