功能概览
先保存原始数据,需要时再据此生成报告。
- 记录当前聚焦的窗口
- 应用、窗口标题,以及该窗口的快照(不是整个屏幕)。会识别没有键盘和鼠标操作的空闲时间。记录默认关闭,需手动开启。
- 本地 AI 为每个快照打标签
- llama.cpp 引擎加载 Qwen3.5 模型,在本机运行,为每个快照标注类别、描述和任务。也可以连接自有的 OpenAI 兼容服务器(Ollama、LM Studio、vLLM),或直接关闭 AI。
- 报告与工时表
- 按天、按活动类别和按任务查看一周或一个月的数据。可导出 CSV,获取按任务统计、以 15 分钟为单位取整的工时,并复制“昨天和今天”的站会草稿。
- 窗口之外的更多数据源
- Git 提交、浏览器页面、ActivityWatch、Mattermost、GitHub、GitLab、Jira、YouTrack 和 Claude Code 会话。其他内容可通过 wtf emit 命令或自定义连接器接入。
- AI 助手可以向它提问
- 内置的 MCP 服务器允许 Claude、Cursor 等客户端查询当天的记录、读取时间线,并生成站会内容或计费数据。它只读,从不返回截图。
- 记录什么,由你决定
- 可随时暂停,跳过空闲时间,排除应用和窗口标题(密码管理器默认排除),用自定义规则分类,并将截图保留有限的天数。
一天,一屏看完
一天中的每段时间都归入其所属工作类别的泳道。每条泳道名称下的时间,即报告中会显示的数字。
示例数据
已记录:7小时50分钟
当日日志,由本地 AI 撰写
- 09:20–10:50 在 API 客户端中修改令牌刷新逻辑代码 · 1小时30分钟 · 任务 WTF-12
- 11:20–12:00 会议:迭代计划会通话 · 40分钟 · 无任务
- 13:20–14:00 阅读 OAuth 令牌刷新文档调研 · 40分钟 · 任务 WTF-12
- 14:00–16:10 为令牌刷新编写测试,修复一个竞态问题代码 · 2小时10分钟 · 任务 WTF-12
时间花在哪里
一周内按工作类别的分布。柱状图与各行显示的是同一批分钟数;报告还会按天和按任务细分。
示例数据
本周合计:41小时40分钟
工作原理
-
记录
当前窗口、其标题和快照,以及已启用的数据源:git、浏览器、Jira 等。
-
AI 打标签
本地模型将每个快照归入一个类别和一项任务。自定义规则始终优先于 AI。
-
回顾
在时间线上查看当天的情况,生成报告或站会,导出 CSV,或通过 MCP 向 AI 助手提问。
工作原理
四个环节,全部在本机完成。此处无需账号。
本机
-
记录
当前聚焦的窗口:应用、标题和该窗口的快照。会识别空闲时间。
已启用的数据源:git、浏览器、Jira、Claude Code 等。
-
本地 AI 打标签
llama.cpp 加载 Qwen3.5 模型,运行于 127.0.0.1,或使用自有的 OpenAI 兼容服务器。
每个快照获得一个类别、一段描述和一项任务。
自定义规则优先于 AI。
-
日志保存在磁盘上
用户文件夹中保存 SQLite 数据库和加密快照。
报告按需从中生成,不保存其他内容。
-
回顾
今天:以泳道形式展示当天。
报告:周报、月报、CSV、站会草稿。
MCP:AI 助手发起查询,只读。
开启之前均处于关闭状态:自有 AI 服务器、ClickHouse 副本、服务连接器。
向当天的记录提问
AI 助手通过 MCP 调用本应用,并依据本机记录作答。它只读,从不获取截图。
示例数据
-
周二下午我在做什么?
工具
timelinedate14:00 至 16:10,在代码中处理任务 WTF-12:为令牌刷新编写测试,并修复一个竞态问题。随后聊天 20 分钟,评审 30 分钟。
-
本周 WTF-12 用了多少小时?
工具
time_bygroup_by = task4 天共 11小时15分钟:代码 8小时30分钟,评审 2小时15分钟,阅读 30分钟。
-
帮我写站会内容。
工具
standup昨天:WTF-12,修改 API 客户端中的令牌刷新,完成测试,修复一个竞态问题。今天:处理评审意见。
通过 MCP 修改设置默认关闭,需要在应用中明确许可。
在允许之前,任何内容都不会离开本机。
本应用没有服务器、账号、遥测或分析功能。以下各项在开启之前均处于关闭状态。
快照以加密形式保存(AES-256-GCM),默认 30 天后删除。密钥保存在系统钥匙串中。
何时、哪些数据会离开本机
- 安装内置 AI
- 普通的下载请求会发送到 github.com(llama.cpp)和 huggingface.co(模型)。此后 AI 在本机运行。完整安装包不下载任何内容。
- 自有 AI 服务器
- 快照、标题、应用、近期上下文和识别出的文字会发送到所设置的服务器。位于本机之外的服务器需要明确许可。
- 服务连接器
- 使用令牌向所填地址发送请求:Mattermost、GitHub、GitLab、Jira、YouTrack、ActivityWatch。程序不会向这些服务写入任何内容。
- 复制到 ClickHouse
- 记录和 AI 回答的副本会发送到 ClickHouse。快照不会发送,只发送文件名。
- 更新检查
- 每天一次,向 api.github.com 请求最新版本,不包含任何个人数据。默认开启。只有点击按钮时,安装程序才会下载。
- MCP 客户端
- MCP 客户端请求的任何内容都在本机处理。此后,客户端及其模型按各自的规则处理数据。
一切都留在本机
按设计逐项对比,而非按品牌:本应用与以厂商云服务为核心的时间追踪工具。
此处不提及、也不评测任何具体产品。
加密保存,到期遗忘
快照在写入时加密,并在设定的天数后删除。做过的事情仍保留在日志中。
- 写入时加密
- AES-256-GCM。密钥在首次使用时生成,若系统提供钥匙串,则保存在系统钥匙串中。
- 重复内容不保存
- 与同一窗口的上一张快照相似的快照会被跳过,AI 也不会重复处理。
- 可自行选择保存天数
- 默认为 30 天。当天的记录、应用、标题和 AI 回答会保留。
截图








常见问题
我的数据会离开我的电脑吗?
不会,除非你开启了需要联网的功能:你自己的远程 AI 服务器、ClickHouse 副本、服务连接器(它们会访问你设置的地址),或每日更新检查(向 GitHub 查询最新版本)。隐私页面列出了所有情况。
我需要自己安装或配置 AI 吗?
不需要。首次启动并使用内置 AI 时,应用会下载 llama.cpp 引擎(约 12–33 MB)和模型(约 0.7–3.4 GB,按你的内存大小选择),支持断点续传并校验 SHA-256。另有离线版,安装包内已包含两者,适用于无法联网的电脑。
可以不用 AI,或者使用我自己的 AI 吗?
可以。共有三种模式:内置、外部(任何兼容 OpenAI 的服务器,如 Ollama、LM Studio 或 vLLM)和关闭。关闭 AI 后不会下载或启动任何内容,数据仍会照常收集。
支持哪些系统?
macOS 12 或更高版本、Windows 和 Linux(.deb、.rpm、AppImage)。内置 AI 引擎支持搭载 Apple 芯片的 macOS、Linux x64 和 Windows x64;其他平台请使用外部 AI 服务器。
可以让它不记录某些内容吗?
可以。你可以暂停记录一段时间,无操作若干分钟后自动停止,并列出要跳过的应用或窗口标题关键词。被跳过的窗口只会记为私密时间:没有标题,也没有像素。密码管理器默认在名单中。
为什么 macOS 会请求“屏幕录制”权限?
窗口快照需要此权限。没有它,应用无法捕获窗口。在 macOS 上,空闲检测不需要额外权限。
如何删除全部数据?
卸载应用,删除其数据文件夹和设置文件夹(卸载程序不会处理它们),并从系统钥匙串中移除 wtf-im-doing 的条目。各系统的具体路径见隐私页面。
查看时间都花在了哪里
下载「我刚才在干嘛?」,查看当时在做什么。
首次启动时,内置 AI 会下载其引擎(约 12–33 MB)和一个模型(约 0.7–3.4 GB,按内存大小选择)。也可改用自有的 AI 服务器,或直接关闭 AI。
版本 0.1.0