Skip to content

DraceWang/WorkTrackerAI

Repository files navigation

WorkTracker AI - 智能工作追踪分析工具

通过 AI 自动分析你的工作内容,生成精美的时间轴和活动报告,windows版本

该项目受到dayflow项目的启发,但因为dayflow只能在mac上使用,因此使用AI变成工具制作一个windows版本,希望你会喜欢~

Go Version License Platform


✨ 功能特性

功能 说明 状态
🖥️ 自动截屏 后台定时截取屏幕(2-5秒间隔可配置)
🎯 多屏幕支持 支持选择特定屏幕进行截图
🤖 AI 智能分析 使用大模型分析截图,自动总结工作内容
📊 数据统计 应用使用时长、活动类型统计
⚙️ 灵活配置 自定义工作时间、截图间隔、AI 模型等
🌐 Web 界面 通过浏览器访问和配置
📱 系统托盘 Windows 系统托盘集成
🔒 隐私保护 所有数据本地存储,不上传云端,仅指本地部署大模型

🖥️ 自动截屏功能特性

✅ 每日自启停 - 每个工作日到达工作开始时间自动启动截图,超过工作结束时间自动停止。 ✅ 智能检测 - 如果截图已在运行,不会重复启动。 ✅ 动态配置 - 根据用户配置的工作开始/结束时间自动调整 ✅日志记录 - 完整的启动日志,便于追踪

工作流程

  1. 程序启动时:调度器注册工作开始时间的定时任务

  2. 每个工作日到达工作开始时间:

    • 检查截图引擎运行状态
    • 如果未运行,自动启动截图引擎
    • 记录操作日志
  3. 用户手动停止截图后:

    • 第二天到工作开始时间会自动重新启动
    • 无需用户手动干预

🎯 快速开始(推荐)

从release页面下载最新版本的安装包,默认安装路径为%LOCALAPPDATA%\WorkTrackerAI

  C:\Users\%username%\AppData\Local\WorkTrackerAI\
  ├── data\
  │   ├── config.json        # 配置文件
  │   ├── screenshots\       # 截图
  │   ├── logs\             # 日志
  │   └── summaries\        # AI 分析结果
  ├── WorkTrackerAI.exe
  ├── web\
  └── asserts\

🔨编译源代码方式

📋 第一步:检查环境

确保已安装 Go 1.21 或更高版本:

go version

如未安装,请访问 👉 Go 官网下载

🔨 第二步:构建项目

双击运行 build.bat 或在命令行执行:

build.bat

💡 遇到 screenshot 依赖问题? 我们提供了多种解决方案:

# 方案一:使用修复脚本(推荐)
fix-deps.bat

# 方案二:使用手动构建(100%成功)
build-manual.bat

# 方案三:设置国内代理
go env -w GOPROXY=https://goproxy.cn,direct

🚀 第三步:启动程序

双击运行生成的 worktracker.exe

程序会自动:

  • ✅ 启动后台服务
  • ✅ 在系统托盘显示图标
  • ✅ 打开浏览器访问 http://localhost:9527

⚙️ 第四步:配置 AI

在 Web 界面中:

  1. 选择 AI 提供商(OpenAI/Claude/DeepSeek/通义千问/豆包)
  2. 填写 API 密钥
  3. 点击"保存配置"

▶️ 第五步:开始使用

点击"开始截屏"按钮,程序将自动工作!


🏗️ 技术栈

后端技术

  • 语言: Go 1.21+
  • Web 框架: Gin
  • 数据库: SQLite
  • 任务调度: Cron
  • 截图: kbinani/screenshot
  • 系统托盘: getlantern/systray

前端技术

  • 核心: 原生 HTML5 + CSS3 + JavaScript
  • 设计: 响应式布局 + 现代渐变风格
  • 特点: 轻量级、无依赖、快速加载

AI 支持

  • ✅ OpenAI (GPT-4o, GPT-4-Vision)
  • ✅ DeepSeek (deepseek-chat, deepseek-vl)
  • ✅ 通义千问 (qwen-vl-plus, qwen-vl-max)
  • ✅ 豆包 (doubao-vision-pro)
  • ✅ 本地部署 (ollama,支持baseurl调用即可)

📁 项目结构

WorkTracker/
├── 📂 cmd/worktracker/          # 主程序入口
├── 📂 internal/                 # 内部模块
│   ├── ai/                      # AI 分析器
│   ├── capture/                 # 截屏引擎
│   ├── config/                  # 配置管理
│   ├── scheduler/               # 任务调度
│   ├── server/                  # Web 服务器
│   ├── storage/                 # 数据存储
│   └── tray/                    # 系统托盘
├── 📂 pkg/                      # 公共包
│   ├── models/                  # 数据模型
│   └── utils/                   # 工具函数
├── 📂 web/                      # Web 资源
│   ├── templates/               # HTML 模板
│   └── static/                  # 静态文件
├── 📂 data/                     # 数据目录(运行时生成)
├── 🔧 build.bat                 # 构建脚本
├── 🔧 run.bat                   # 开发运行
└── 📄 go.mod                    # Go 模块定义

🎮 使用示例

系统托盘操作

右键点击托盘图标:

  • 🌐 打开控制面板
  • 🚪 退出程序

Web 界面功能

  • 状态监控: 实时显示运行状态、今日截图数、今日分析数
  • 一键控制: 开始/停止截屏、立即截图、立即分析(会清空当天已有分析并自动重新分析当天已有截图)
  • 配置管理: 修改所有配置参数
  • 查看总结: 浏览每日 AI 生成的工作总结

🚀 图片压缩使用建议(多屏不建议使用智能缩放)

Caution

本人测试6000x1600分辨率,图片质量设置到8已经非常极限了,再小AI可能就无法分析了。

Tip

推荐配置(平衡画质与大小):

  • 图片质量:40-50
  • 启用智能缩放:✓
  • 最大宽度:1920
  • 最大高度:1080

Tip

高压缩配置(最小文件):

  • 图片质量:25-35
  • 启用智能缩放:✓
  • 最大宽度:1280
  • 最大高度:720

🔧 开发指南

开发模式运行

# 方式一:使用脚本
run.bat

# 方式二:Go 命令
go run cmd/worktracker/main.go

添加新的 AI 提供商

  1. internal/ai/analyzer.go 中添加新方法
  2. 实现 API 调用逻辑
  3. callLLM 方法中添加路由

修改前端界面

编辑 web/templates/index.html 文件即可


❓ 常见问题

Q: 为什么截图不工作?
Details 检查: 1. 是否点击了"开始截屏" 2. 当前时间是否在工作时间内 3. 查看控制台是否有错误信息
Q: AI 分析失败怎么办?
Details 可能原因: 1. API 密钥未配置或错误 2. 网络连接问题 3. API 额度不足 4. 时间段内没有截图
Q: 如何节省存储空间?
Details 调整配置: - 提高截图间隔(5-10秒) - 降低图片质量(30-45) - 减少数据保留天数(7-14天)
---

🔒 隐私说明

  • 本地存储: 所有截图和数据保存在本地
  • API 调用: 仅在分析时发送截图到 AI 服务
  • 无追踪: 不收集任何使用数据
  • 可控制: 可随时停止或删除数据

📊 性能指标

指标 数值
内存占用 ~50-100 MB
CPU 占用(待机) < 1%
CPU 占用(截图) ~5-10%
磁盘占用 ~500 MB/天 (3秒间隔)

🛠️ 故障排除

构建失败

# 确认 Go 版本
go version

# 清理并重新下载依赖
go clean -modcache
go mod download
go mod tidy

端口被占用

修改配置文件 data/config.json 中的端口号


📝 更新日志

v0.7.0 (2025-11-13)

  • ✨ 新增 DeepSeek AI 支持(国产,性价比高)
  • ✨ 新增通义千问支持(阿里云)
  • ✨ 新增豆包支持(字节跳动)
  • 🔧 修复依赖版本问题,确保构建成功
  • 🔧 默认端口改为 9527(原8080)
  • 📚 更新所有文档和配置说明

v0.8.0 (2024-11-13)

  • ✨ 新增base url,给本地host使用
  • ✅ 完整的截屏和 AI 分析功能
  • ✅ Web 控制面板
  • ✅ 系统托盘集成
  • ✅ 完善的文档系统

v0.9.9 (2024-11-14)

  • ✨ 新增配置保存功能
  • ✨ 新增测试连接获取AI模型功能
  • ✅ 完成截屏和 AI 分析功能测试
  • ✅ 图标修改完成

v1.0.0 (2024-11-17)

  • ✅ 修复系统托盘图标加载问题
  • ✅ 删除不必要的过程文件
  • ✅ 增加打包功能,方便非开发人员使用

v1.0.0 (2024-11-18)

  • ✅ 修复系统托盘图标加载问题
  • ✅ 修复立即分析按钮对应的固定写死时区的问题
  • ✅ 正在分析中的等待提示
  • ✨ 新增今日小结的一天总览功能
  • ✅ 今日小结改为一个工作内容一个点,修改AI提示词,输出格式为1.;2.;3.;

v1.47.4 (2024-11-19)

  • ✨ 新增版本号更新规则
  • ✨ 新增多屏幕选择功能
  • ✅ 降低默认截图保存时间以及截图质量

v1.48.1 (2024-11-24)

  • ✅ 修改版本号更新规则,发布版本.周数.周几(周日为0)
  • ✨ 新增多屏幕合并截图拼接功能(默认打开)
  • ✅ 再次降低默认截图质量
  • ✨ 新增点击存储大小和今日截图可以跳转到截图存储目录
  • ✨ 新增安装包覆盖安装能力
  • ✨ 新增优化图片压缩能力

v1.48.2 (2024-11-25)

  • ✅ 修正安装完成后开始菜单点击应用无法正常启动应用的问题
  • ✅ 修正应用启动后无任何提示后台运行的问题,改为启动后自动打开web页面
  • ✅ 修正如果软件后台运行跨天会保留前一天工作总结的问题
  • ✨ 新增历史工作总结选择查看功能
  • ✨ 新增屏幕状态检测功能
  • ✨ 新增修改截图质量后提示当前每张截图大小,每天约占用多少存储的功能
  • ✅ 修正今日截图跳转到今日截图存储目录,存储大小跳转到截图的整个目录
  • ✨ 新增今日分析跳转到工作总结的目录

v1.48.3 (2024-11-26)

  • ✅ 修复前一天手动停止后,第二天到开始时间不自动开始的问题
  • ✅ 去除工作日限制,增加自定义工作日

v1.48.5 (2024-11-28)

  • ✅ 修复截图前判断屏幕状态后再截图功能逻辑丢失问题
  • ✅ 修复网页favicon未加载的问题

v1.49.3 (2024-12-03)

  • ✅ 优化时间计划任务的逻辑
  • ✅ 优化存储大小显示及计算逻辑
  • ✅ 优化覆盖安装新版本后自动启动运行

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!


📄 许可证

MIT License - 详见 LICENSE 文件


🙏 致谢

感谢以下开源项目:


🎉 祝你使用愉快!

快速开始 · 使用指南 · 项目详情

Made with ❤️ by AI-assisted development

About

通过 AI 自动分析你的工作内容,生成精美的时间轴和活动报告

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors