工作留痕是一款专为工作场景设计的操作活动记录和分析工具,它能够帮助您跟踪和分析您的键盘和鼠标使用情况,从而提高工作效率。
- 📊 自动记录键盘按键和鼠标活动,以SQLite数据库格式高效存储
- 📈 提供直观的数据可视化和统计分析
- 🔍 多维度查看数据:今日、本周和本月
- ⌨️ 键盘热力图展示按键使用频率
- 📅 工作时长日历视图
- 🕒 时间分布热力图
- 📊 分钟级活动曲线,展示工作强度变化
- 🔄 实时更新数据和统计信息
- 💾 高性能数据库存储,支持大量数据高效查询
- ⌨️ 正确记录组合键(如Ctrl+C),分别记录各个按键
效果图如下
- 后端:Python + Flask + SQLite + SQLAlchemy
- 前端:HTML5 + CSS3 + JavaScript
- 数据可视化:Plotly.js, Chart.js, Luxon.js
- 样式设计:借鉴Apple Design风格
- 键盘监听:pynput库
- 下载最新的工作留痕.exe文件
- 双击运行即可,程序会自动在系统托盘中运行
- 下载最新的工作留痕安装包.dmg文件
- 打开DMG文件,将应用拖到Applications文件夹
- 从Applications文件夹中打开工作留痕应用
- 首次运行时需要授予辅助功能权限
- 确保您已安装Miniconda或Anaconda
- 克隆或下载此仓库到本地
- 使用Conda创建虚拟环境并安装依赖:
cd keylogger
conda create -n keylogger python=3.10
conda activate keylogger
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple-
启动应用程序:
- 如果使用可执行文件,直接双击运行
- 如果使用源代码,运行
python main.py
-
应用程序将在后台运行,并开始记录您的键盘和鼠标活动
-
通过GUI界面上的"查看统计"按钮,可以打开数据可视化面板
-
通过"暂停记录"按钮可以随时暂停活动记录
如果您希望自行打包应用程序,我们提供了打包脚本:
python build_exe.py打包后的文件位于 dist/工作留痕.exe
# 在Mac系统上运行
python build_mac.py打包后的文件位于 mac_dist/工作留痕安装包.dmg
详细的打包说明请参考:
- Windows打包:打包结果说明.md
- Mac打包:Mac打包说明.md
- 🔄 优化分钟级活动曲线的日期同步功能,现在分钟级活动曲线的日期会自动跟随右上角的日期选择器变化
- ⌨️ 改进组合键记录功能,现在可以正确记录组合键(如Ctrl+C)中的每个按键
- 🚀 性能优化,提高了数据处理和展示速度
- 💻 提供Windows和Mac平台的可执行文件,无需Python环境即可运行
工作留痕提供了丰富的数据可视化功能:
- 时间分布:展示每小时的活动分布情况
- 操作类型分布:键盘与鼠标操作的比例分析
- 键盘热力图:直观展示最常用的按键
- 工作时长日历:可切换查看总工作时长和有效操作时长
- 分钟级活动曲线:细粒度展示每分钟的活动强度,支持缩放查看
所有数据存储在SQLite数据库(data/keylogger.db)中,包含以下两个主要表:
keystroke_events- 记录所有按键和鼠标事件:
- id: 主键
- mac: 机器MAC地址
- date: 日期
- action: 操作类型(按键或鼠标动作)
- time: 时间戳(毫秒)
- type: 事件类型(keyboard或mouse)
activity_times- 记录每日活动时间:
- id: 主键
- mac: 机器MAC地址
- date: 日期
- first_activity_time: 首次活动时间戳
- last_activity_time: 最后活动时间戳
如果您之前使用的是旧版本的JSON存储格式,程序首次启动时会自动将JSON数据迁移到SQLite数据库中。
工作留痕会分别记录组合键中的各个按键,例如:
- 当您按下Ctrl+C时,系统会记录Ctrl键和C键两次独立的按键操作
- 这样可以在键盘热力图中准确反映每个按键的使用频率
- 对于所有组合键都采用相同的处理逻辑,确保数据的准确性
- 工作留痕仅记录按键和鼠标事件,不记录输入的实际文本内容
- 所有数据均存储在本地,不会上传到任何服务器
- 您可以随时删除数据库文件以清除记录
MIT License
如有任何问题或建议,请联系作者。
