Skip to content

Tght1211/keylogger

Repository files navigation

工作留痕 - 工作效率分析工具

工作留痕是一款专为工作场景设计的操作活动记录和分析工具,它能够帮助您跟踪和分析您的键盘和鼠标使用情况,从而提高工作效率。

功能特点

  • 📊 自动记录键盘按键和鼠标活动,以SQLite数据库格式高效存储
  • 📈 提供直观的数据可视化和统计分析
  • 🔍 多维度查看数据:今日、本周和本月
  • ⌨️ 键盘热力图展示按键使用频率
  • 📅 工作时长日历视图
  • 🕒 时间分布热力图
  • 📊 分钟级活动曲线,展示工作强度变化
  • 🔄 实时更新数据和统计信息
  • 💾 高性能数据库存储,支持大量数据高效查询
  • ⌨️ 正确记录组合键(如Ctrl+C),分别记录各个按键

效果图如下

image

技术实现

  • 后端:Python + Flask + SQLite + SQLAlchemy
  • 前端:HTML5 + CSS3 + JavaScript
  • 数据可视化:Plotly.js, Chart.js, Luxon.js
  • 样式设计:借鉴Apple Design风格
  • 键盘监听:pynput库

安装说明

方法一:直接运行可执行文件(无需Python环境)

Windows 用户

  1. 下载最新的工作留痕.exe文件
  2. 双击运行即可,程序会自动在系统托盘中运行

Mac 用户

  1. 下载最新的工作留痕安装包.dmg文件
  2. 打开DMG文件,将应用拖到Applications文件夹
  3. 从Applications文件夹中打开工作留痕应用
  4. 首次运行时需要授予辅助功能权限

方法二:通过Python运行源代码

  1. 确保您已安装Miniconda或Anaconda
  2. 克隆或下载此仓库到本地
  3. 使用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

使用方法

  1. 启动应用程序:

    • 如果使用可执行文件,直接双击运行
    • 如果使用源代码,运行 python main.py
  2. 应用程序将在后台运行,并开始记录您的键盘和鼠标活动

  3. 通过GUI界面上的"查看统计"按钮,可以打开数据可视化面板

  4. 通过"暂停记录"按钮可以随时暂停活动记录

打包说明

如果您希望自行打包应用程序,我们提供了打包脚本:

Windows 打包(生成EXE文件)

python build_exe.py

打包后的文件位于 dist/工作留痕.exe

Mac 打包(生成DMG文件)

# 在Mac系统上运行
python build_mac.py

打包后的文件位于 mac_dist/工作留痕安装包.dmg

详细的打包说明请参考:

  • Windows打包:打包结果说明.md
  • Mac打包:Mac打包说明.md

最新更新

2025年3月版本更新

  • 🔄 优化分钟级活动曲线的日期同步功能,现在分钟级活动曲线的日期会自动跟随右上角的日期选择器变化
  • ⌨️ 改进组合键记录功能,现在可以正确记录组合键(如Ctrl+C)中的每个按键
  • 🚀 性能优化,提高了数据处理和展示速度
  • 💻 提供Windows和Mac平台的可执行文件,无需Python环境即可运行

数据可视化面板

工作留痕提供了丰富的数据可视化功能:

  • 时间分布:展示每小时的活动分布情况
  • 操作类型分布:键盘与鼠标操作的比例分析
  • 键盘热力图:直观展示最常用的按键
  • 工作时长日历:可切换查看总工作时长和有效操作时长
  • 分钟级活动曲线:细粒度展示每分钟的活动强度,支持缩放查看

数据存储

所有数据存储在SQLite数据库(data/keylogger.db)中,包含以下两个主要表:

  1. keystroke_events - 记录所有按键和鼠标事件:
- id: 主键
- mac: 机器MAC地址
- date: 日期
- action: 操作类型(按键或鼠标动作)
- time: 时间戳(毫秒)
- type: 事件类型(keyboard或mouse)
  1. activity_times - 记录每日活动时间:
- id: 主键
- mac: 机器MAC地址
- date: 日期
- first_activity_time: 首次活动时间戳
- last_activity_time: 最后活动时间戳

如果您之前使用的是旧版本的JSON存储格式,程序首次启动时会自动将JSON数据迁移到SQLite数据库中。

组合键处理说明

工作留痕会分别记录组合键中的各个按键,例如:

  • 当您按下Ctrl+C时,系统会记录Ctrl键和C键两次独立的按键操作
  • 这样可以在键盘热力图中准确反映每个按键的使用频率
  • 对于所有组合键都采用相同的处理逻辑,确保数据的准确性

隐私说明

  • 工作留痕仅记录按键和鼠标事件,不记录输入的实际文本内容
  • 所有数据均存储在本地,不会上传到任何服务器
  • 您可以随时删除数据库文件以清除记录

许可证

MIT License

联系方式

如有任何问题或建议,请联系作者。

About

工作留痕是一款专为工作场景设计的键盘活动记录和分析工具,它能够帮助您跟踪和分析您的键盘使用情况,从而提高工作效率。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors