返回资讯中心
外部精选
软件工程
#开发者实时流

TimeScroll 发布:Mac 本地开源的 Rewind 替代方案

来源标题:Show HN: TimeScroll – an open-source, local replacement for Rewind on Mac

开发者推出 Mac 应用 TimeScroll,作为已关停的 Rewind 的本地开源替代品,可后台录屏并回溯或搜索屏幕内容。它通过 macOS 辅助功能 API 直接读取应用内文本,而非对每张截图做 OCR,从而降低 CPU 占用和耗电。项目自 2025 年 9 月开始开发。

Hacker News 最新XInTheDark2026/11/9 · 今天9 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

大家好,我从 2025 年 9 月开始做 TimeScroll。这是一个 Mac 应用,在后台录制你的屏幕,这样你就可以回滚查看自己一天里做过的事,或者搜索你看到过的任何内容。它是本地运行、开源的。主要功能在网站上有介绍,所以我在这篇帖子里尽量少重复。

我做这个的动机是:(1) Rewind 关停了,而且缺少同样精致、直接的替代品;(2) 这类应用大多(其实包括 Rewind 本身)都极其消耗 CPU 和存储,甚至会对电池续航造成明显影响。

我发现了“标准”截屏方式的一些问题,并下定决心在这个应用里把它们解决掉。

  1. 我花时间最多的部分是如何捕获文本。基本上所有这类应用都会对每一张截图跑 OCR,这意味着繁重的 OCR 步骤总是要占用一定量的 CPU。我注意到文本本来就在应用内部,所以我采取了完全不同的方法:通过 macOS Accessibility API 来读取文本(我称之为 Direct 模式)。它有巨大的优势——能拿到精确的文本,不会有识别错误的字符,还能拿到每一行的位置,而且比 OCR 便宜得多。

问题在于 Chrome 和 Electron 应用跟这套机制配合得不太好,除非被请求,否则它们不会创建 accessibility tree,所以我需要设置 AXManualAccessibility 属性。另外,文本可能埋在树的很多层之下,所以我必须编写逻辑,在时间限制内遍历这棵树,尽可能捕获有用的文本。我没见过任何截屏应用做过这些,所以大部分都得我自己摸索出来。

还有很多实现细节——比如先计算哪些窗口位于每个显示器上,以及它们哪些部分在屏幕上可见。最终,我的测量结果是:首次读取一帧大约消耗 9ms CPU 时间,但在后续读取中,可以低至 0.4ms。

最新的功能是摘要。你可以在时间线上选择任意范围,得到你在每个应用里花费的时间,以及由本地模型通过 Ollama 生成的一段文字摘要。摘要功能用到的主要实现技巧是:(1) 用启发式方法把使用情况划分为“会话”;(2) 利用已有的 embeddings(来自 AI 搜索)挑选几张有代表性的屏幕传给模型。

  1. 存储优化。我选择用 HEVC 视频来存储快照,每分钟一个“segment”文件。编码过程是我需要不断调优的。目前,我使用恒定质量设置,每个 segment 一个关键帧。在文本密集的帧上,我采用的方法成功把它从每帧 84 KB 降到 20 KB,质量还略好一些。

另外还有大量重复文本,如果每个快照都存一份,存储占用会成倍增加,所以去重和压缩是必须搞定的重头戏。不用说,所有这些都试了很多次才做对,尤其是在高效地从视频文件中提取/存储帧这方面。

最终结果是,在正常的日常使用下,TimeScroll 每月大约占用 2GB 存储;在一台 M4 上正常使用几天,平均 CPU 占用 1.1%,内存 150-250MB。而我找到的一篇较早的关于 Rewind 的帖子测得它是“每小时 200MB”和 20% CPU——相比之下,这实在是……太多了。

还有很多其他我尝试过的东西和方法没法塞进这里,但总之,我非常希望得到反馈,尤其是关于 Direct 模式和新功能——希望你喜欢这个应用!

评论 URL:https://news.ycombinator.com/item?id=50424070 点数:1 评论数:0

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →