3828 字
10 分钟
截图不是录屏:Daygo 本地优先时间线的隐私架构与验证边界

先把问题从“记录时间”改写成“重建上下文”#

很多时间管理工具的基本假设是:用户知道自己什么时候开始工作,也愿意在任务切换时按下开始和停止。这个假设一旦遇到写代码、查资料、开会和临时沟通就会失效。人往往能记住一天里完成了什么,却很难准确还原某个结论是怎样形成的,更难回答“两个小时到底消耗在了哪一步”。

Daygo 试图解决的不是传统意义上的计时,而是把已经发生的工作痕迹重建为可阅读的上下文。社区帖子 S2 将它描述为后台活动记录工具;项目官网 S3 则明确给出更具体的产品边界:它以离散截图为输入,以用户选择的 AI 为理解组件,输出时间线、每日回顾和每周总结。这个选题最值得关注的地方,不是“又一个 AI 日报”,而是它把隐私、采集频率、模型选择和复盘结果放进了同一条工程链路。

这里的证据等级需要先说清楚:S2 是 NodeLoc 上的项目介绍,只能作为选题雷达和问题样本;S3 是 Daygo 官方网站,S4 是项目 GitHub 仓库,本文涉及产品能力、技术栈、平台支持和隐私承诺时,以这两个一手来源为准。材料没有证明的功能、性能数字和识别准确率,不应被推断出来。

从离散截图到工作时间线:一条本地优先流水线#

把 Daygo 抽象成流水线,会比把它理解为“自动截图软件”更准确:

屏幕状态
↓
定时离散采样
↓
本地保存与应用分类
↓
发送到用户配置的 AI 服务
↓
生成标题、摘要、类别
↓
组合为时间线、日报、周报

官网 S3 给出了几个关键事实。第一,采集方式是每 10 秒一帧的离散截图,而不是连续视频。第二,截图默认留在本机,只有发送给用户配置的 AI 服务时才会离开设备。第三,模型由用户选择,可以使用 OpenAI、Anthropic 或本地模型。第四,AI 输出的基本结构包括卡片标题、摘要和类别。第五,敏感应用可以被阻止,外部只留下占位符;密钥则写入系统 Keychain,并且只能通过界面写入。

这条链路的核心设计,是把“原始证据”和“生成结论”分开。截图是高信息量但高敏感度的原始输入;标题、摘要和类别是低体积但可能失真的派生结果。若直接保存录屏,系统需要处理巨大的连续数据,也会让用户很难知道哪些内容曾经离开电脑。若只保存手工标签,又会把记忆负担重新推回用户。每 10 秒采样是一种中间方案:它保留窗口、文档和页面切换等上下文,同时放弃对每个鼠标动作和每一帧画面的完整记录。

这也解释了为什么“截图”不等于“更安全”。安全边界不只由采样形式决定,还取决于四个问题:截图存在哪里,哪些截图允许送到模型,模型服务商能否保留请求,API 密钥如何保存,以及最终生成的总结是否包含原图中没有必要暴露的信息。Daygo 的官方材料明确了本地默认存储、可配置 AI、敏感应用占位和 Keychain 写入,但没有在给定材料中证明服务端保留策略、端到端加密方式、数据删除接口或企业级审计功能。因此,工程上不能把“local first”直接翻译成“零出网”或“绝对私密”。

“本地优先”真正保护的是什么#

本地优先不是一句营销口号,而是一种数据流向约束。对 Daygo 来说,最重要的约束是:截图采集和工作区状态首先由桌面端掌握,模型服务是可配置的外部能力,而不是唯一的控制面。官网还写明,项目使用 Go、Wails 和 Vue 构建,支持 macOS 与 Windows。这种组合透露出一个清晰的边界:桌面端负责常驻采集、系统集成和本地状态,Wails 将 Go 后端与 Vue 界面连接起来,AI 只承担“理解和整理”这一段。

这种架构比把截图上传到统一云端再返回日报更容易建立信任,原因有三点。

首先,用户可以选择模型提供方。需要较强理解能力时,可以配置 OpenAI 或 Anthropic;需要把数据留在自己的设备或内网时,可以选择本地模型。模型选择不再是产品方单方面决定的数据出口,而成为部署者可以审查的配置项。

其次,敏感应用的处理发生在数据离开设备之前。官网给出的策略不是“上传后打码”,而是让敏感应用只留下占位符。两者的区别很大:前者仍可能在网络层暴露原始内容,后者至少把过滤点放在出网之前。不过材料没有说明敏感应用列表是否默认完整、是否支持窗口级匹配、占位符是否仍包含应用名称,因此配置后仍需要验证,而不能只依赖界面文案。

最后,密钥不应该成为截图分析工具的第二个泄露面。Daygo 宣称密钥保存在系统 Keychain,并且从界面只能写入。这种“写入容易、读取受限”的设计目标,是减少密钥在日志、配置文件和复制粘贴流程中出现的机会。但它并不自动解决权限问题:拥有当前用户会话权限的恶意进程、被注入的插件或不安全的第三方模型端点,仍可能造成风险。

因此,更准确的结论是:Daygo 把隐私控制点前移到了采集端和模型配置端,降低了默认数据暴露范围;它没有消除桌面监控工具天然存在的敏感性,也没有替用户完成供应商保留策略和本地操作系统安全的审计。

可复现的检查流程:先确认数据流,再开始使用#

对于这类后台常驻工具,安装成功不是验证完成。至少应该在一台专用测试设备或低敏感工作区中完成以下检查。

第一步,固定来源并检查仓库结构。项目仓库是公开的 MIT 许可项目,官方仓库地址来自 S4。可以先执行:

git clone https://github.com/Jwz-git/Daygo.git
git -C Daygo status --short
git -C Daygo log -1 --oneline
git -C Daygo ls-files | sed -n '1,80p'

这组命令不等于安全审计,但能让使用者确认拿到的是哪个仓库、当前工作树是否干净,以及项目是否包含前端、原生代码和构建目录。不要把社区帖子中的下载按钮或未知二进制当作唯一来源。

第二步,建立一个专门的测试账号和测试目录。打开一个不含真实密码、支付信息、私钥和客户资料的编辑器窗口,再让 Daygo运行一段时间。观察时间线中是否出现了预期的窗口切换、文档标题和应用类别。测试的重点不是判断摘要写得是否漂亮,而是确认“采集了什么”和“总结出了什么”之间是否可解释。

第三步,测试敏感应用规则。将测试窗口加入阻止列表,等待新的采样周期,再检查对应卡片是否只显示占位信息。需要分别测试:规则生效前已经存在的截图、规则生效后的截图、窗口最小化后重新打开的状态,以及应用名称相同但文档内容不同的窗口。若官方界面没有提供历史截图删除或重新处理入口,就不能假设修改规则后旧数据会自动清理。

第四步,测试模型出口。先使用本地模型或隔离的测试端点,再切换到外部供应商。检查模型配置中的 URL、模型名和密钥是否能在日志、导出文件或普通配置目录中直接看到。对于外部端点,应额外确认其隐私政策、请求保留时间、训练使用规则和区域要求;这些信息不在 Daygo 材料中,必须由实际供应商的官方文档补足。

第五步,验证密钥处理。不要把 API Key 放在启动参数、shell 历史或截图中。完成配置后,关闭并重新打开应用,确认功能仍能工作;随后检查系统 Keychain 中是否存在对应条目,并检查普通项目目录里是否生成明文密钥文件。这里的目标是验证“凭据生命周期”,而不是只确认一次请求成功。

第六步,验证停止和清理。退出桌面端后观察后台进程是否停止采样;断网后观察是否仍能打开已有时间线;删除测试目录后检查是否还残留截图或缓存。材料没有证明 Daygo 提供统一的数据擦除命令,因此清理结果必须以实际文件系统和应用界面为准,不能根据“本地优先”四个字推导出完整删除能力。

失败边界:它不可能还原所有工作#

第一类失败来自采样间隔。每 10 秒一帧适合识别较长时间停留在编辑器、浏览器或会议页面中的工作,但无法可靠记录十秒内完成的操作,也无法证明某段思考发生在屏幕前。一个快速查看密码管理器、短暂打开客户资料或在多个窗口间切换的动作,可能被采样遗漏,也可能恰好落入截图。

第二类失败来自语义推断。模型看到的是屏幕状态,不是用户意图。同一个代码编辑器可能对应调试、阅读、写作或等待构建;同一个浏览器页面可能是工作资料,也可能是私人内容。标题、摘要和类别应被视为辅助复盘的派生数据,而不是工时、绩效或合规审计的事实记录。尤其不能把 AI 生成的“专注两小时”当作精确计费依据。

第三类失败来自模型和网络。外部 AI 端点可能限流、超时或改变返回格式,本地模型可能受算力、上下文长度和图像理解能力限制。材料只证明 Daygo 支持自定义模型,并没有给出各模型的延迟、准确率或离线完整能力。工程上应允许“截图已采集但总结未生成”的中间状态,不能把模型失败设计成静默丢数据或伪造成功卡片。

第四类失败来自长期运行。后台采集工具会持续消耗存储、电量、系统权限和注意力。每 10 秒一帧意味着一天会产生大量采样事件,实际磁盘占用取决于图像编码、是否保留原图以及清理策略,而这些数据在给定材料中没有量化。部署前应该设置磁盘监控、保留周期和暂停时段;如果产品没有暴露这些控制项,就需要把它列为上线阻塞条件,而不是默认无限运行。

工程取舍:透明的数据流比“AI 自动化”更重要#

Daygo 的有价值之处,在于它没有把自动化建立在一个黑盒云端账户上,而是公开了较清晰的责任分界:桌面端采集,用户决定模型,AI 负责理解,输出用于个人复盘。Go、Wails 和 Vue 的组合也使它更像一个跨平台桌面应用,而不是只能在浏览器标签页中工作的 SaaS。

但本地优先带来的责任同样明确。用户要负责选择模型服务、保护 Keychain、维护阻止列表、处理本地缓存和决定保留周期。应用方不能仅靠“数据不出本机”的宣传承担全部隐私承诺,使用者也不能把“支持本地模型”误解成默认完全离线。真正可验证的隐私边界,应该写成数据流规则:哪些数据产生、哪些数据保存、哪些数据被过滤、哪些数据出网、出网后由谁保留、失败时是否可恢复。

我的工程结论是:截图型 AI 复盘工具的核心竞争力不是更高的采样频率,而是让每一次采样都能被解释、被过滤、被撤回,并且让生成结果始终带着“这是推断,不是事实”的边界。Daygo 当前公开材料已经提供了本地优先、离散截图、自定义模型、敏感应用占位和 Keychain 等重要设计信号;下一步真正值得验证的,不是宣传页面还能列出多少功能,而是历史数据删除、离线队列、模型失败恢复、保留周期和出网审计是否形成完整闭环。只有当这些控制点可观察、可测试、可回滚,后台记录才会从方便的自动化工具,变成值得长期托付工作上下文的工程系统。

参考资料#

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

截图不是录屏:Daygo 本地优先时间线的隐私架构与验证边界
https://blog.katelya.top/posts/daygo-local-first-privacy-architecture/
作者
Katelya
发布于
2026-10-09
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

相关文章 智能推荐
1
把开源桌面 AI 工具变成可验证产品:从 Daygo 的证据链看发布工程
工程札记 很多桌面 AI 工具把“本地运行”和“隐私可控”写在首页,却没有告诉用户如何验证。以 Daygo 的官网与开源仓库为样本,本文不复述功能清单,而是拆解从产品承诺、数据边界、模型选择到安装包和源代码之间的证据链,并给出一套不依赖个人信任的检查方法。
2
把魔方计时器做成真正的离线应用:从 Virgo 拆解 Android 本地优先架构
开源 一个魔方计时器看似只是计时、打乱和历史记录,真正做成离线优先应用,却涉及权限边界、状态建模、算法复用、界面架构与可验证性。本文以 Virgo 开源项目为样本,拆解一个无 WebView、无网络权限的原生 Android 应用如何建立最小信任面,并给出从源码检查到构建验证的工程清单。
3
把本地 Agent 做成跨设备工作区:从 KissOpen 拆解客户端、执行端与服务端边界
AI前沿 KissOpen 的核心并不是又一个聊天客户端,而是把桌面端本地 Agent、移动端界面与独立服务端拆成协作系统。本文依据官方站点、仓库与下载页,分析它如何处理模型接入、工具执行、跨设备同步、插件、定时任务与安装信任,并给出一套适合自建或评估本地 Agent 工作区的验证清单。
4
AI 中转站不是便宜 API:从请求链路拆解数据、合规与可验证性
AI前沿 低价 AI 中转看似只是换了一个 API 地址,实际上改变了请求经过谁、日志由谁保存、模型由谁调用以及故障由谁承担。本文从社区公开风险样本和应用商店披露出发,重建中转链路,区分事实、推断与传闻,并给出接入前后的检查命令、最小权限配置、日志验证方法和失败边界。
5
一个 status=true 的 AI 网关,离可用还差多少:从 AXAI 入口拆解验证链与凭据边界
技术实践 一个 API 根路径返回“running”和“status=true”,只能证明某个 HTTP 入口能够响应,不能证明模型路由、鉴权、额度、流式协议或故障处理真正可用。本文以 AXAI API Gateway 的公开响应和社区公开凭据样本为起点,建立一套不复用敏感信息的 AI 网关验证链,并拆解健康检查、契约测试、凭据治理与上线边界。

目录