展示 HN:无需截图,只用文本记录屏幕记忆到 Markdown

Hacker News Top 工具

摘要

Ambient Context 是一款 macOS 菜单栏应用,它通过捕捉聚焦窗口的文本,将其转换为 Markdown 文件供 LLMs 阅读,并具备隐私编辑功能且无网络调用。

这是一款 macOS 菜单栏应用,通过无障碍 API 每几秒读取你聚焦窗口的文本。无需截图、视频或 OCR。它以纯 Markdown 格式,每天一个文件,写入你选择的文件夹。<p>将 Claude Code(或任何具有文件访问权限的工具)指向该文件夹,并询问“我周二做了什么?”或让它构建你项目的记忆。该文件夹包含一个 AGENTS.md 文件,向模型解释格式。<p>想着可能对某些人有用,就把它上传到 GitHub 了。
查看原文
查看缓存全文

缓存时间: 2026/08/25 07:53

dragthelake/ambient-context 来源:https://github.com/dragthelake/ambient-context

Ambient Context

一款 macOS 菜单栏应用,用于记录你的工作内容,以便你私有的大型语言模型(LLM)阅读。

当菜单栏中的眼睛图标处于打开状态时,Ambient Context 会读取当前聚焦窗口的文本(通过 macOS 辅助功能树,每隔几秒一次),并将其追加到一个纯 markdown 文件中:每天一个文件,存放在你选择的文件夹中。

将 Claude Code 或任何其他智能体指向该文件夹,它就能回答“我周二做了什么?”,构建关于你项目的记忆,或为你编写工作日报。

  • 不截图,不录像。 它仅通过辅助功能 API 读取文本,别无其他。
  • 无数据外泄。 无需账户、服务器、遥测或捆绑模型。此构建版本完全不进行网络请求;签名发行版将增加一次针对 GitHub 的更新检查。
  • 文件由你掌控。 纯 markdown 格式,存放在你选择的文件夹中。你可以移动、搜索或删除它们。
  • 写入前脱敏。 密码管理器和隐私浏览窗口绝不会被捕捉。密码字段在源头即被跳过,凭据、API 密钥和形似卡号的数字在写入磁盘前会被清除。
  • 为 LLM 阅读而构建。 行内容在一天内去重,界面无关信息被过滤,每个文本块都记录其所在的文档路径或 URL,以便你的智能体可以打开原文而非依赖片段。捕获文件夹中包含一个 AGENTS.md,向任何读取者解释格式。

需要运行在 Apple Silicon 上的 macOS 14 或更高版本。

状态

早期阶段,未签名。目前尚无经过公证的下载版本(Apple 开发者注册正在进行中),因此目前你需要自行构建,大约需要两分钟:

构建与运行

你需要 Node (https://nodejs.org)、Rust (https://rustup.rs) 和 Xcode 命令行工具。

git clone https://github.com/dragthelake/ambient-context
cd ambient-context
npm install
npm run tauri build

应用程序将位于 src-tauri/target/release/bundle/macos/ 目录下。将 Ambient Context.app 拖到应用程序文件夹并打开。

开发时,npm run tauri dev 可以运行带热重载的版本。

首次运行

  1. 设置窗口会自动打开。当被要求时,请授予辅助功能权限:这是应用读取窗口文本所必需的权限,没有它任何功能都无法工作。
  2. 选择保存位置。默认是 ~/Ambient Context,特意选择在 ~/Documents 之外,以防 iCloud 将你的记录同步出设备。
  3. 完成。设置完成后录制即开始,之后会随应用启动而启动。点击菜单栏的眼睛图标可停止录制;停止状态会保持,直到你再次启动。眼睛打开:录制中。眼睛关闭:未录制。右键点击图标可访问今日文件、文件夹和设置。

日常文件示例

---
date: 2026-08-25
captured_by: Ambient Context 0.1.0
---
## 09:41–10:05 · Chrome · Tauri 托盘文档
url: https://v2.tauri.app/learn/system-tray/

文本块标题是一天的时间线。正文行无论被看到多少次,每天只写入一次,因此文件保持足够小,可以整体交给 LLM 处理。捕获文件夹中的 AGENTS.md 记录了格式以及如何正确阅读它。

测试者须知

  • Chromium 和 Electron 应用(Chrome、Slack、VS Code、Obsidian、Figma 等)仅在被请求时才构建其辅助功能树,因此在这些应用中捕获的最初几秒钟内容较少,并在后续传递中补充。启用时,Chrome 可能会显示略有异常的窗口大小调整动画;这是该机制已知的代价。
  • GPU 渲染的终端(Kitty、Alacritty)暴露的文本很少或没有。Terminal.app 和 iTerm2 可以正常工作。
  • 请记录你的发现:哪些应用返回内容丰富、部分返回或空白,正是需要的反馈(docs/census.md 中有模板)。

测试

cd src-tauri && cargo test

隐私模型,一段话总结

该应用仅读取当前聚焦的窗口:从不读取后台窗口、其他显示器或最小化的窗口,也从不在屏幕锁定时读取。它完全排除密码管理器和隐私浏览窗口,在辅助功能级别跳过安全输入字段,并在写入前通过模式匹配清除密钥。它产生的所有内容都是保存在你自己磁盘上的明文,并且捕获文件夹本身被排除在捕获范围之外,因此它无法观察自己。如果你发现任何漏洞,请提交 issue。

相似文章

我正在构建一个常驻内存代理,它会全天监视我的屏幕,而它的记忆存储在 SQLite 而非模型中。来告诉我它在哪些地方会出问题。

Reddit r/AI_Agents

作者描述了他正在构建一个在 Mac 上本地运行的常驻内存代理,它能监视屏幕并可选地监听音频,将所有内容通过 OCR 或转录转换为结构化 Markdown 存储在 Obsidian 库中,并以 SQLite 作为数据来源。他邀请大家对设计选择提出反馈,例如使用 SQLite 而非向量/图数据库、成本以及此类系统的持久性。

Snapdown

Product Hunt

Snapdown 是一款 Mac 工具,可将屏幕上的任何内容转换为简洁的 Markdown。

Show HN: Keen Bean — Mac 会议笔记,边说边起草 Spec

Hacker News Top

Keen Bean 是一款 macOS 应用,可在本地录制会议音频,实时生成笔记、任务、Spec 和图表,无需向通话中添加机器人。数据以 Markdown 和 JSON 格式保存在设备本地,面向需要私密且可落地的会议产出的顾问和创始人。