Dayflow
macOS 原生工作日志工具,AI 自动将屏幕活动转化为可查询的工作时间线
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
macOS 原生工作日志工具,AI 自动将屏幕活动转化为可查询的工作时间线
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历:下午四点突然被拉进一个会议,老板问「今天做了什么」,你脑子一片空白,只能凭感觉回答「嗯……好像做了挺多事的」?或者周末写周报时,翻遍聊天记录和文件列表,却怎么也想不起来那些零碎的时间到底花在哪儿了?
这几乎是每个知识工作者的共同痛点。传统的时间追踪工具——开启计时器、选项目、填备注——本身就打断了工作节奏,而且最后只能给出一张「在 VS Code 花了 3 小时」的枯燥列表,完全没有上下文。
Dayflow 正是为了解决这个问题而生的:它安静地运行在你的 Mac 上,自动把屏幕活动变成一份清晰的时间线,告诉你这一天你「实际上做了什么」,而不是「哪个窗口开着」。

Dayflow 由独立开发者 JerryZLiu 创建,目前在 GitHub 上已获得超过 6000 颗星、329 个 Fork,并在 ProductHunt 等平台获得首页推荐。项目采用 MIT 许可证,代码完全开源,数据本地优先,用户始终掌控自己的隐私。
这个项目的诞生源于一个朴素的需求:作者希望能够真实地回顾自己一天的工作成果,而不仅仅是记录「几点几分打开了这个软件」。在 Cursor 上花了两个小时,可能是高强度地开发了一个功能,也可能是卡在某个 Bug 里出不来——这两种状态对工作日志来说意义完全不同,Dayflow 试图捕捉这种差异。
从技术角度看,Dayflow 紧密跟随 AI 发展脉络,支持几乎所有主流 LLM 提供商:OpenAI GPT、Anthropic Claude、Google Gemini,以及本地模型服务 Ollama 和 LM Studio。Topics 标签涵盖了 ai、chatgpt、claude、gemini、llm、lmstudio、ollama 等关键词,表明这是一个典型的 AI 原生应用。
Dayflow 的核心工作流程分为三个环节:
第一环节:屏幕录制(Privacy-First)
Dayflow 通过 macOS 的 Screen Recording API 捕获屏幕活动片段(screen chunks)。根据用户配置的隐私偏好,敏感内容可以被替换为占位符,数据默认存储在本地 ~/Library/Application Support/Dayflow/ 目录,只有用户主动选择云端 AI 分析时,数据才会离开本机。
第二环节:AI 分析(多提供商支持) 录制片段被发送给用户选择的 AI 提供商进行分析。主要支持两种模式:
核心分析模块位于 Core/AI/ 目录,文件命名清晰地体现了功能划分:ChatCLIProvider 负责与本地 CLI 工具(Claude Code、OpenAI Codex)交互;GeminiDirectProvider 处理与 Gemini API 的直连;OllamaProvider 管理 Ollama 服务;LocalEngine 抽象本地模型调用。这种多 Provider 模式的设计让切换 AI 后端变得非常灵活。
第三环节:生成时间线卡片(Activity Cards) AI 对每个屏幕片段生成 Activity Card——包含活动描述、分类标签(工作/社交/摸鱼)、关键词等信息。这些卡片按时间顺序排列,形成用户当天的完整工作日志。

Dayflow 提供了远比「记录时间」更丰富的功能集:
| 功能模块 | 具体能力 | 使用场景 |
|---|---|---|
| 自动时间线 | 录制屏幕 → AI 分析 → 时间线卡片 | 重建一天的工作轨迹 |
| 每日站会(Daily Standup) | GitHub 风格活动热力图 + 昨日亮点 + 今日计划 + 阻碍 | 开会前快速准备发言 |
| 周回顾(Weekly Review) | 专注热力图、应用使用分布、桑基图、交互关系图 | 复盘一周的时间分配 |
| 对话日志(Chat) | 用自然语言询问任意时间段的日志 | 「上周花在代码审查上的时间有多少?」 |
| 干扰追踪 | 识别分心会话并与专注工作并列展示 | 发现自己「不知不觉就打开了 B 站」 |
| 时间线导出 | 按日期范围导出为 Markdown | 写周报、写项目文档的素材积累 |

Dayflow 的技术栈非常清晰:Swift + SwiftUI + Xcode 原生开发,目标平台 macOS 14+。
Core/AI/ — AI 提供商抽象层(Gemini/Claude/Ollama/本地模型)Core/Recording/ — 屏幕录制、存储管理、视频处理Core/Analysis/ — 时间解析、活动分析Core/Security/ — Keychain 密钥管理Views/UI/ — 主界面(Timeline/Chat/Daily/Weekly)Views/Components/ — 可复用 UI 组件Views/Onboarding/ — 首次启动引导(LLM 选择、权限申请)1. 多后端 AI Provider 架构
通过 LLMService 和 LLMTypes 抽象不同 AI 提供商的差异,ChatCLIProvider 实现了与 Claude Code / OpenAI Codex CLI 工具的无缝对接。用户可以在设置中随时切换 AI 提供商,系统自动适配不同的 API 格式和调用方式。
2. SwiftUI 声明式 UI
Dayflow 大量使用 SwiftUI 构建界面。主视图 MainView.swift 管理底部标签导航,侧边栏 SidebarView.swift 提供快捷操作,周回顾模块包含复杂的数据可视化(热力图、桑基图、旭日图)。
3. 隐私优先设计
RecordingPrivacyPlaceholder 和 RecordingPrivacyPreferences 专门处理敏感内容的脱敏处理;KeychainManager 安全存储 API Key;数据默认存本地,用户完全掌控数据流向。
4. 数据存储层
StorageManager 是核心数据抽象,处理 Timeline Card、日志、截图、维护等多种数据实体的持久化,支持自动清理旧数据以控制磁盘占用。
5. 第三方依赖管理
通过 Xcode 项目(.xcodeproj)管理依赖,引入了多个成熟库:Sentry(崩溃监控)、PostHog(产品分析)、Sparkle(自动更新)。

Dayflow 提供三种安装方式:DMG 下载安装、Homebrew 一键安装、源码 Xcode 编译。AI 分析是可选功能——不配置任何 AI 提供商时,应用仍可录制和存储屏幕活动,只是不会自动生成有意义的摘要。对于隐私敏感用户,可以选择只跑 Ollama / LM Studio 本地模型,数据完全不外传。
系统要求:macOS 14+(Sonoma 及以上),Screen Recording 和 System Audio Recording 权限,可选 API Key 或本地模型服务。

1. macOS 独占:目前只支持 macOS,Windows 和 Linux 用户无法使用。
2. 隐私的边界:使用云端 AI 分析时,屏幕活动数据会上传到第三方服务商。用户仍需信任这些公司的隐私政策。
3. AI 摘要质量依赖模型能力:在复杂的多任务切换场景中,AI 可能无法准确判断真实的工作状态。
4. 资源占用:屏幕录制本身会消耗 CPU 和磁盘资源,AI 分析可能带来额外负载。
5. 适用人群有限:本质上是一个「数字工作记录器」,对于不需要在电脑前工作的人群价值有限。
Dayflow 的出现反映了 AI 应用的一个趋势:从「记录」到「理解」。
传统工具(RescueTime、Toggl)告诉你「在 Chrome 花了 4 小时」,Dayflow 试图告诉你「你在这 4 小时里实际做了 A、B、C 三件事」。GitHub 上超过 6000 颗星的关注度说明:尽管是 macOS 独占的小众工具,但它精准击中了一个真实痛点——知识工作者对「工作成果可追溯」的需求。
如果你是一个经常需要在会议上复盘工作、在周末写周报、或单纯想更了解自己时间分配的 Mac 用户,Dayflow 值得一试。