Your personal study companion that tracks learning time automatically
自动追踪学习时间的个人学习伴侣
Features • How It Works • Quick Start • 中文说明 • Contributing
We've all been there — you sit down to study, open your browser, and before you know it, hours have passed. But how much of that time was actually spent learning?
Study Monitor was born from a simple idea: What if your computer could automatically track your study time, just like a fitness tracker counts your steps?
No more manual timers. No more guessing. Just open your course website and let Study Monitor do the rest.
- 🖥️ Desktop App — Lightweight Tauri-based app that runs quietly in your system tray
- 🌐 Browser Extension — Chrome extension that automatically detects when you're studying
- 📱 Mobile App — Check your stats on the go with our Flutter-powered Android app
- ☁️ Cloud Sync — Seamlessly sync your data across all your devices
- 📊 Beautiful Statistics — Visualize your learning journey with intuitive charts
- 🎯 Goal Setting — Set daily goals and track your progress toward exams
- 🔔 Smart Notifications — Get notified about your study milestones (optional)
- 🚀 Auto-start — Launch automatically with your system
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Chrome Browser │────▶│ Desktop App │────▶│ Mobile App │
│ (Extension) │ │ (Time Tracker) │ │ (View Stats) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ Detects course │ Stores locally │
│ URL patterns │ + Cloud sync │
└───────────────────────┴───────────────────────┘
- Add your courses in the desktop app with URL patterns (e.g.,
*coursera.org*) - Install the Chrome extension — it talks to your desktop app
- Just browse normally — when you visit a matching URL, timing starts automatically
- Check your progress anywhere — desktop, mobile, or both!
cd desktop-app
npm install
npm run tauri dev # Development
npm run tauri build # Build for production- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (top right)
- Click Load unpacked
- Select the
chrome-extensionfolder
cd mobile-app
flutter pub get
flutter run # Development
flutter build apk --release --target-platform android-arm64 # Build APKcd cloud-api
npm install
node server.js # Runs on port 3000 by defaultstudy-monitor/
├── 🖥️ desktop-app/ # Tauri + Vue 3 + TypeScript
│ └── src-tauri/ # Rust backend with SQLite
├── 🌐 chrome-extension/ # Manifest V3 Chrome Extension
├── 📱 mobile-app/ # Flutter (Android)
└── ☁️ cloud-api/ # Node.js + Express + sql.js
| Component | Technologies |
|---|---|
| Desktop | Tauri, Vue 3, TypeScript, Rust, SQLite |
| Browser | Chrome Extension (Manifest V3) |
| Mobile | Flutter, Dart |
| Cloud | Node.js, Express, sql.js |
备考的日子里,我总是很难准确知道自己每天到底学了多少时间。
手动计时太麻烦,番茄钟又总是忘记开。于是我想:能不能让电脑自动帮我记录学习时间?
就像运动手环自动记录步数一样,打开网课页面就自动开始计时,关掉就停止。不需要任何操作,专注学习就好。
快学点儿吧 就这样诞生了。
- 🖥️ 桌面程序 — 基于 Tauri 的轻量应用,安静地待在系统托盘
- 🌐 浏览器扩展 — Chrome 扩展自动检测学习页面
- 📱 手机 APP — Flutter 开发的 Android 应用,随时查看学习数据
- ☁️ 云同步 — 多设备数据无缝同步
- 📊 数据统计 — 直观的图表展示学习轨迹
- 🎯 目标管理 — 设定每日目标,倒计时考试日期
- 🔔 智能通知 — 学习里程碑提醒(可关闭)
- 🚀 开机启动 — 随系统自动运行
cd desktop-app
npm install
npm run tauri build构建完成后,在 src-tauri/target/release/bundle 找到安装包。
- 打开 Chrome,访问
chrome://extensions/ - 开启右上角的「开发者模式」
- 点击「加载已解压的扩展程序」
- 选择
chrome-extension文件夹
- 打开桌面程序
- 进入「课程」页面
- 添加课程,设置 URL 匹配规则
- 例如:
*bilibili.com/video*匹配 B 站视频 - 例如:
*coursera.org*匹配 Coursera 所有页面
- 例如:
- 支持
*通配符
打开匹配的网页,计时自动开始。就这么简单!
cd mobile-app
flutter pub get
flutter build apk --release --target-platform android-arm64APK 文件在 build/app/outputs/flutter-apk/ 目录。
如果你想在多台设备间同步数据:
cd cloud-api
npm install
node server.js然后在桌面程序和手机 APP 的设置中配置服务器地址。
Contributions are welcome! Whether it's:
- 🐛 Bug reports
- 💡 Feature suggestions
- 🔧 Pull requests
- 📖 Documentation improvements
- 🌍 Translations
Feel free to open an issue or submit a PR.
This project is licensed under the MIT License - see the LICENSE file for details.
If Study Monitor helps you stay focused, I'd love to hear about it!
有任何问题或建议,欢迎提 Issue 交流 ✨
Made with ❤️ for learners everywhere
献给每一个努力学习的你