目录
经常出现 Wifi 和蓝牙断联、重联的情况,以及 USB 设备断联、重联的嘀嗒声。但一时间又难以找到问题所在,实在是令人恼火。因此通过 Cursor 开发和开源了一个轻量的故障诊断和实时追踪工具,详情见 GitHub 仓库。
功能
| 模块 | 说明 |
|---|---|
| 硬件监控 | WM_DEVICECHANGE 实时捕获 USB / 蓝牙断连与瞬断(阈值可配置) |
| 蓝牙诊断 | WMI 轮询 bthserv 与 PnP 设备,异常时托盘告警 |
| BSOD 追溯 | Minidump 扫描 + 事件日志 BugCheck 解析 |
| 一键修复 | 重启 bthserv / Audiosrv,扫描 USB 选择性暂停 |
| 托盘驻留 | 关闭窗口隐藏至托盘,图标随状态变色(正常 / 警告 / 告警) |
| 系统通知 | 窗口隐藏时推送 Windows 原生 Toast |
| 历史记录 | 事件持久化,支持 JSON / CSV 导出 |
| 端口管理 | 扫描本地占用,识别开发残留与系统保留段,支持一键解除 |
| 多语言 | 29 种界面语言,含托盘菜单本地化 |
系统要求
- Windows 10 / 11 (x64)
- WebView2 运行时
- 一键修复建议以管理员身份运行(右键 → 以管理员身份运行)
安装
从 Release 安装(推荐)
在 Releases 页面下载最新安装包:
ZeroTick_*_x64-setup.exe(NSIS 安装程序)ZeroTick_*_x64_en-US.msi(MSI)
安装后应用默认驻留系统托盘。
推送至
main且package.json版本为新版本时, GitHub Actions 会自动创建v*标签并上传安装包到 Releases 。详见 CONTRIBUTING.md。
从源码构建
git clone https://github.com/ichenh/zerotick.git
cd zerotick
npm install
npm run tauri build
构建产物位于:
src-tauri\target\release\bundle\nsis\
src-tauri\target\release\bundle\msi\
首次构建前若缺少应用图标,可使用根目录
app-icon.png生成:npm run ensure-icons或npm run tauri icon app-icon.png发布到 GitHub 前请提交
app-icon.png或已生成的src-tauri/icons/,否则 CI 无法构建安装包。
使用
- 启动 — 应用驻留系统托盘,主窗口默认隐藏
- 打开界面 — 左键托盘图标,或右键 →「打开仪表盘」
- 概览 — Timeline 实时显示 USB / 蓝牙事件;瞬断会高亮并提醒
- 诊断 — 检测蓝牙服务、扫描 BSOD 、执行一键修复
- 端口 — 扫描本地占用,解除 node / vite 等开发残留
- 设置 — 调整监控阈值、历史条数、界面语言、通知与登录时启动
- 退出 — 右键托盘 →「退出 ZeroTick」
数据目录
用户数据保存在 %APPDATA%\com.zerotick.desktop\:
| 文件 | 用途 |
|---|---|
settings.json | 用户设置 |
device_history.json | 设备事件历史 |
zerotick_debug.log | 调试日志 |
性能
空闲时目标约 0% CPU:
- 硬件监控为 Win32 消息泵(事件驱动,无轮询)
- 蓝牙 WMI 默认 60 秒轮询,且仅在状态变更时推送 UI / 通知
- BSOD 仅在启动时扫描一次
可在设置中调整蓝牙轮询间隔(15–300 秒)。
开发
npm install
npm run tauri dev # 开发模式(自动执行 prepare-dev)
npm run build # 仅构建前端
cargo test --manifest-path src-tauri/Cargo.toml
开发服务器端口:55555(见 vite.config.js、tauri.conf.json、src-tauri/src/ports.rs)。
项目结构
zerotick/
├── index.html
├── src/ # 前端(Vite + Vanilla JS)
│ ├── main.js
│ ├── i18n.js
│ ├── locales/
│ └── styles.css
├── src-tauri/ # Rust 后端
│ ├── src/
│ │ ├── monitor.rs
│ │ ├── bluetooth.rs
│ │ ├── bsod.rs
│ │ ├── repair.rs
│ │ ├── ports.rs
│ │ ├── settings.rs
│ │ ├── i18n.rs
│ │ └── tray.rs
│ └── locales/tray.json
├── scripts/
├── CHANGELOG.md
├── CONTRIBUTING.md
└── LICENSE
Agent / 自动化开发约定见 AGENTS.md。
许可证
MIT © ZeroTick Contributors