ActivityWatch:开源时间追踪工具,数据主权由你掌控

GitHub July 2026
⭐ 18092📈 +613
来源:GitHub归档:July 2026
ActivityWatch 已成为 RescueTime 等商业时间追踪工具的终极开源替代品,GitHub 星标超 18,000 颗,社区增长迅猛。与依赖云端的竞品不同,它所有数据均在本地处理,为个人生产力、自由职业计费和深度工作分析提供了无与伦比的隐私保护和可扩展性。

ActivityWatch 不仅仅是一款时间追踪工具;它代表了生产力工具中个人数据主权理念的范式转变。作为一款免费、开源、跨平台的应用程序,它通过监控活跃窗口标题和应用程序使用情况,自动记录你在电脑上的时间分配。其核心差异化优势在于对隐私的绝对承诺:所有数据均存储在用户本地机器上并在此处理,无云端同步、无遥测、无第三方访问。这使其成为 RescueTime、Toggl Track 或任何依赖用户数据盈利的 SaaS 时间管理工具的直接且更优替代方案。该项目托管于 GitHub 仓库 activitywatch/activitywatch,增长势头迅猛,近期星标数已突破 18,000 颗,社区贡献者超过 100 人。其模块化架构、基于事件的原始数据模型以及丰富的插件生态系统,使其成为开发者、研究人员和隐私倡导者的首选工具。

技术深度剖析

ActivityWatch 的架构堪称模块化、隐私优先设计的典范。该系统由多个独立组件构成,通过本地网络(通常经由 REST API)进行通信。核心组件包括:

- aw-server:中央数据存储与 API 服务器。它在本地运行(默认地址为 `localhost:5600`),并使用 SQLite 数据库存储所有时间条目。该服务器采用 Python 编写,利用 Flask 框架提供 API 端点。这种设计确保数据除非被显式导出,否则永远不会离开用户机器。
- aw-watchers:数据收集代理。主要监视器 `aw-watcher-window` 以可配置的间隔(默认每 1-2 秒)轮询活跃窗口标题和应用程序名称。它使用平台特定的 API:在 Windows 上调用 `GetForegroundWindow` 和 `GetWindowText`;在 macOS 上使用 Accessibility API;在 Linux 上则依赖 X11 或 Wayland 协议(通过 `xdotool` 或 `wlr-foreign-toplevel-management`)。每个监视器向服务器发送心跳事件,包含时间戳、应用程序名称和窗口标题。
- aw-qt:一个系统托盘应用程序,用于管理监视器和服务器,提供简单的图形界面来启动/停止追踪并查看基本统计数据。
- aw-webui:一个基于 Web 的仪表盘(由本地服务器提供),用于可视化收集到的数据。用户可以查看每日时间线、应用程序分解以及基于类别的摘要。该 UI 使用 Vue.js 构建,并通过 REST API 与服务器通信。

一项关键的技术创新是基于事件的数据模型。ActivityWatch 不存储聚合摘要,而是存储原始、细粒度的事件。每个事件包含时间戳、持续时间和数据负载(例如 `{"app": "Firefox", "title": "ActivityWatch GitHub - activitywatch/activitywatch"}`)。这允许进行灵活的事后分析。用户可以编写自定义的 Python 或 SQL 查询来获取洞察,例如特定项目所花费的时间(例如,通过过滤包含“JIRA”或“VS Code”的窗口标题)。

通过插件实现可扩展性:监视器系统基于插件。官方仓库包含适用于 Windows、macOS 和 Linux 的监视器,但社区已构建了针对特定 IDE(例如 `aw-watcher-jetbrains`)、Web 浏览器(例如追踪活跃标签页的 `aw-watcher-web`)甚至硬件设备的监视器。插件架构非常直接:任何能够向本地服务器发送 HTTP POST 请求的程序都可以充当监视器。这催生了一个丰富的第三方集成生态系统。

性能与资源占用:由于完全在本地运行,ActivityWatch 极其轻量。服务器和监视器合计通常消耗不到 50 MB 的 RAM,CPU 占用率极低(在现代硬件上低于 1%)。一个月的连续追踪数据,其 SQLite 数据库通常小于 10 MB。这与需要持续网络 I/O 且通常运行更繁重后台进程的云端追踪器形成鲜明对比。

| 指标 | ActivityWatch | RescueTime | Toggl Track |
|---|---|---|---|
| 数据存储 | 本地 SQLite | 云端服务器 | 云端服务器 |
| RAM 占用(空闲) | ~40 MB | ~120 MB | ~80 MB |
| 是否需要互联网 | 否 | 是 | 是 |
| 开源许可证 | GPL-3.0 | 专有软件 | 专有软件 |
| 插件/API 可扩展性 | 完整 REST API + Python | 有限 API | 完整 API(付费) |
| 数据导出 | 完整 SQLite + JSON | CSV(有限) | CSV(有限) |

数据要点: ActivityWatch 在隐私和资源效率方面显著优于商业替代品。其纯本地架构消除了数据泄露风险,并降低了系统开销,使其成为优先考虑控制权和性能的用户理想之选。

关键人物与案例研究

ActivityWatch 是一个社区驱动的项目,但其增长得益于几位关键人物和组织的催化。主要维护者是 Johan Bjäreholt(GitHub: `johan-bjareholt`),一位瑞典开发者,他于 2016 年启动该项目,作为替代 RescueTime 的个人工具。他打造一个完全开放、尊重隐私的追踪器的愿景引起了开发者社区的共鸣,吸引了 GitHub 上超过 100 名贡献者。

案例研究:自由职业开发者计费
一个值得注意的用例来自独立软件开发者,他们使用 ActivityWatch 自动记录可计费工时。例如,开发者可以配置一个监视器来追踪在 `Visual Studio Code` 和 `Terminal` 中花费的时间,然后使用自定义 Python 脚本按项目名称(例如“client-x-app”)过滤事件并生成发票。这消除了手动记录时间的摩擦,这是许多自由职业者的痛点。开发者完全掌控数据,确保没有机密客户信息被发送到第三方服务器。

案例研究:数字习惯的学术研究
哥本哈根大学的研究人员已使用 ActivityWatch 来研究数字工作模式。由于该

更多来自 GitHub

Facebook Astryx 开源:让 AI 代理界面变得“无聊”但可靠的设计系统Facebook 发布了 Astryx,一个专为构建 AI 代理界面而优化的开源设计系统。与通用组件库不同,Astryx 提供了模块化组件、深度主题引擎,以及针对对话式 UI、状态管理和代理交互流程的内置原语。该项目已在 GitHub 上获幽灵仓库:一个零星标GitHub镜像如何暴露AI开源生态的信号危机仓库 `pabloscsaa/https-github.com-eigent-ai-eigent` 是一个名副其实的幽灵:一个没有代码、没有描述、没有README、没有任何搜索引擎索引的镜像或重定向存根。它的GitHub统计数据在所有指标上开源桌面AI新秀Eigent挑战Claude Cowork:本地优先,隐私至上Eigent的发布标志着AI生产力工具领域的一次重大转向。当Claude Cowork和Microsoft Copilot等云端助手主导市场时,Eigent提出了一个极具说服力的反叙事:完全本地执行。这意味着用户数据不会离开设备,核心功能无查看来源专题页GitHub 已收录 3214 篇文章

时间归档

July 202679 篇已发布文章

延伸阅读

ActivityWatch Electron客户端:一款被遗忘在角落的轻量级时间追踪器开源时间追踪工具ActivityWatch迎来了一款全新的Electron客户端,承诺提供跨平台桌面图形界面。然而,仅2个GitHub星标与残缺的功能,不禁让人质疑:在拥挤的生产力工具市场中,轻量化前端究竟还有多少生存空间?Facebook Astryx 开源:让 AI 代理界面变得“无聊”但可靠的设计系统Facebook 正式开源了 Astryx,一个专为 AI 代理界面从头构建、完全可定制的设计系统。它通过模块化组件、强大的主题引擎,以及对对话式 UI 和状态流的原生支持,旨在终结代理前端混乱无序的现状,为开发者提供一套“无聊”但极致可靠幽灵仓库:一个零星标GitHub镜像如何暴露AI开源生态的信号危机一个零星标、零Fork、零代码、零搜索结果的GitHub仓库,在技术上毫无价值——但它却揭示了AI社区在发现和评估开源项目时的一个关键盲点。AINews从“无”中剖析深意,解读这场由噪音淹没信号的生态危机。开源桌面AI新秀Eigent挑战Claude Cowork:本地优先,隐私至上开源桌面应用Eigent以完全本地运行、免费使用的姿态,正面挑战Anthropic的Claude Cowork。它承诺在编码、写作和文档分析等任务中提供离线AI辅助,同时确保数据绝不离开用户设备。上线仅数日,该项目已在GitHub上斩获超过

常见问题

GitHub 热点“ActivityWatch: The Open-Source Time Tracker That Owns Your Data”主要讲了什么?

ActivityWatch is not just another time tracker; it is a paradigm shift in how we think about personal data sovereignty in productivity tools. Built as a free, open-source, and cros…

这个 GitHub 项目在“ActivityWatch vs RescueTime privacy comparison”上为什么会引发关注?

ActivityWatch’s architecture is a masterclass in modular, privacy-first design. The system is composed of several independent components that communicate over a local network, typically via a REST API. The core component…

从“how to set up ActivityWatch for freelance billing”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 18092,近一日增长约为 613,这说明它在开源社区具有较强讨论度和扩散能力。