BianQue(扁鹊)· 跨平台硬件验机工具
望闻问切,给机器做一次全面体检。
BianQue(扁鹊) 是一个纯 Python 的硬件验机工作流工具,帮你把新机器从屏幕、摄像头、麦克风、扬声器、键盘、鼠标,到散热、电池、磁盘、内存、网络,从头到尾跑一遍,最后生成一份可存档的验机报告。
名字取自战国名医扁鹊——望闻问切四诊法,正对应验机的四个环节:望(屏幕、摄像头)、闻(扬声器、麦克风)、问(硬件信息采集)、切(散热压力测试)。买新电脑、实验室验收设备、二手交易验货,用它一套跑完,心里有底。
功能
| 检测项 | 说明 |
|---|---|
| 硬件总览 | CPU / 内存 / 磁盘 / GPU / 主板型号自动采集 |
| 屏幕 | 分辨率·刷新率·DPI + 全屏六色纯色坏点检测(提示文字沿屏幕边缘浮动,不遮挡坏点) |
| 摄像头 | 实时预览 + 拍照成像验证 |
| 麦克风 | 实时电平表 + 录音回放 |
| 扬声器 | 左右声道独立 + 扫频测试 |
| 键盘 | 全键测试(含 Tab 键,虚拟键盘逐键变绿) |
| 鼠标/触控板 | 左右中键、滚轮、移动检测 |
| 散热 | CPU 压力测试 + 频率/温度/降频观察 |
| 电池 | 电量、循环次数、健康度 |
| 磁盘 | SSD/HDD 类型识别 + SMART 健康度 + 顺序读写测速 |
| 内存 | 内存条时序/通道/带宽 + 读写自检 |
| 网络 | 网卡信息 + ICMP 延迟/丢包 |
| 报告 | 汇总导出 HTML / Markdown / JSON |
深度硬件采集
- CPU:物理/逻辑核心、每核心使用率、L1/L2/L3 缓存、Apple Silicon 的性能核/能效核(P/E 核)区分
- 内存:每根内存条的厂商、类型、容量、速度(时序)、型号,通道数与理论带宽
- GPU:芯片型号、厂商、显存、核心数、支持的图形 API(如 Metal 4)
- 磁盘:固态/机械盘识别、协议(NVMe/SATA/USB)、SMART 健康状态
多语言
界面完整支持 10 种语言,通过菜单栏「语言 / Language」即时切换:
简体中文 · English · 日本語 · Français · Русский · Deutsch · Português · Español · 한국어 · Italiano
安装
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.2
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.2.tar.gz | 86.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bianque-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 176.9 kB
Release files / bianque-0.0.2.tar.gz
| Download URL | bianque-0.0.2.tar.gz |
|---|---|
| Size | 86.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b9f6b059b02322179abe3033bd880b63abd204fef5d1ee6d7341e4f7d783d7a
|
|
BLAKE2b-256 checksum How to use checksums |
cb54f49e4eef2f0cd9622d914fb8a347a1cd4cb98b72e26bab2d7ff9d182ff1d
|
| 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.2-py3-none-any.whl
| Download URL | bianque-0.0.2-py3-none-any.whl |
|---|---|
| Size | 90.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3bb5e0da403fb53e8bffffb2b5f8cdbef0081a51e66104eea87789223855526b
|
|
BLAKE2b-256 checksum How to use checksums |
27eb666265cb5082c8384c361842b4ce99aa33b1dc10da5a585ef0a0e3abe2f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|