你是否曾好奇,一天24小时到底都花在了哪里?是不是总觉得时间不够用,却说不清自己到底干了什么?
市面上的时间管理工具不少,但要么隐私不透明,要么功能受限,更别说自由定制和跨平台同步。今天介绍的这个项目——ActivityWatch,也许正是你一直在寻找的解决方案。

什么是 ActivityWatch?
ActivityWatch 是一个免费、开源、自动记录用户活动的时间追踪工具。它专注于三件事:
- 跨平台兼容
- 高度可扩展
- 完全由用户掌控数据
它不像传统时间管理软件那样需要手动打卡或分类任务,而是通过后台自动化地记录你在做什么 —— 哪个应用正在运行、浏览器打开了哪些网页、你有没有离开键盘……这些信息都会被记录下来,供你后续分析。

它能记录什么?
ActivityWatch 默认提供了几个核心观察器(watcher),用于自动追踪以下行为:
- 当前正在使用的应用程序及其窗口标题
- 浏览器中打开的标签页(包括 URL 和标题)
- 键盘与鼠标活动状态,判断你是否“离席”(AFK)
除此之外,社区还开发了更多插件,例如:
- 编辑器使用时长统计(如 VSCode、PyCharm 等)
- 自定义脚本监控
- 更多浏览器行为追踪等
你可以根据自己的需求选择开启哪些观察器,甚至可以自己编写新的观察器来拓展功能。
ActivityWatch 的独特优势
功能 | ActivityWatch | Selfspy | ulogme | RescueTime | WakaTime |
---|---|---|---|---|---|
用户拥有数据 ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
图形界面 ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
同步功能 ✅ | 开发中(去中心) | ❌ | ❌ | 集中式 | 集中式 |
开源 ✅ | ✅ | ✅ | ✅ | ❌ | 客户端 |
从上表可以看出,大多数同类工具要么闭源,要么无法让用户真正掌控数据。而 ActivityWatch 正是为了解决这些问题而诞生的:
- 数据本地存储,隐私优先:所有记录的数据默认保存在你自己的设备上,不会上传到云端。
- 去中心化同步(开发中):未来将支持跨设备同步而不依赖中央服务器。
- 图形界面 + 易于使用:虽然是开源项目,但它面向普通用户设计,不是只有程序员才能用。
- 模块化架构 + 可扩展性强:你可以添加新观察器、自定义数据格式,甚至构建自己的分析工具。
技术架构简析
核心组件
- aw-server:后端服务,负责数据存储和查询,提供 REST API 接口。
- aw-webui:前端界面,通过浏览器访问,支持可视化查看时间分布、导出数据等功能。
- aw-watcher-afk / aw-watcher-window:默认内置的两个观察器,分别用于检测活跃状态和记录当前窗口信息。
支持平台
平台 | 支持情况 |
---|---|
Windows | ✅ |
macOS | ✅ |
Linux | ✅ |
Android | ✅ |
iOS | ❌(目前未支持) |
如何开始使用?
- 下载对应平台的安装包(支持 Windows/macOS/Linux/Android)
- 安装并启动 ActivityWatch
- 选择你需要启用的观察器(如浏览器追踪、编辑器追踪等)
- 运行一段时间后,打开 aw-webui 查看你的活动报告
如果你有编程基础,还可以:
- 自定义数据采集逻辑
- 编写新的观察器插件
- 利用 aw-client 库进行二次开发
为什么值得你尝试?
- 隐私第一:没有第三方掌握你的数据,一切都在你本地完成。
- 自动化记录:无需手动输入任务,系统自动帮你“回顾时间”。
- 灵活可扩展:开发者友好,适合喜欢折腾的人;同时也足够简单,普通人也能轻松上手。
- 持续改进中:项目仍在积极开发中,去中心化同步、移动端支持等功能即将上线。
评论