一个简洁高效的macOS专注菜单栏计时器,基于番茄工作法原理,帮助提高工作效率。核心代码位于 Sources/focus/focus.swift。
本工具在AI coding IDE “TRAE” 和 codex-5.4 的帮助下进行开发
- 🍅 番茄计时器: 经典的工作/休息时间管理
- ⏱️ 自定义时间: 可调整工作和休息时长
- 📊 热力图记录: 可视化展示每周/每月专注时间分布
- 📱 菜单栏应用: 轻量级设计,不占用主屏幕空间
- 🎨 简洁界面: 直观易用的用户界面
- 下载或构建应用包
- 将
focus.app拖拽到 Applications 文件夹 - 双击运行应用
- Xcode 15 或更高版本
- Swift 5.9 或更高版本
# 克隆或进入项目目录
cd /path/to/focus
# 构建 Release 版本
swift build -c release
# 运行应用
./.build/arm64-apple-macosx/release/focus
# 或生成应用包
mkdir -p focus.app/Contents/{MacOS,Resources}
cp .build/arm64-apple-macosx/release/focus focus.app/Contents/MacOS/
cp Sources/focus/Info.plist focus.app/Contents/
cp AppIcon.icns focus.app/Contents/Resources/
chmod +x focus.app/Contents/MacOS/focus- 启动应用: 点击应用图标或从终端运行
- 打开界面: 点击菜单栏中的计时器图标
- 开始计时: 在 Focus 标签页点击 "Start" 按钮
- 暂停/重置: 根据需要控制计时器
- 关闭窗口: 点击界面右上角的 X 按钮
- 退出应用: 在 Record 标签页点击 "Quit" 按钮
- 工作时间: 默认 25 分钟,可在 5-60 分钟之间调整
- 休息时间: 默认 5 分钟,可在 1-15 分钟之间调整
- 记录存储: 专注记录会保存在
Application Support/focus/focus_sessions.json
在 Record 标签页中查看热力图,了解您的专注时间分布:
- 颜色越深表示该时段专注时间越长
- 点击方块查看具体时长
- 可切换月份查看历史记录
focus/
├── Sources/
│ └── focus/
│ └── focus.swift # 主应用代码
├── Package.swift # Swift Package 配置
├── AppIcon.svg # 应用图标源文件
├── AppIcon.icns # 已生成的应用图标
└── focus.app/ # 构建后的应用包- Swift 5.9: 主要开发语言
- SwiftUI: 用户界面框架
- AppKit: 菜单栏和 macOS 特定功能
- 增加自定义通知提醒
- 支持多语言
- 优化性能,减少内存占用
- 增加设置选项,如自动启动、隐藏菜单栏图标等
- 增加与其他应用和系统的联动,如专注模式、音乐播放等