ESC
开源 1 分钟阅读

Ambient Context:一款记录工作内容的菜单栏应用

Ambient Context 是一款 macOS 菜单栏应用,通过辅助功能读取你当前聚焦窗口中的文本,并追加到纯 Markdown 文件中,供 Claude Code 等 LLM 代理阅读,回答“我周二做了什么”或生成站会报告。应用无截图、无网络调用、数据完全本地保存,并内置敏感信息过滤,支持 Apple Silicon 和 macOS 14+。

来源:GitHub

Ambient Context

一个 macOS 菜单栏应用,记录你工作内容的文字记录,供你自己的 LLM 阅读。

Ambient Context 设置窗口,ASCII 眼睛睁开并正在录制

当菜单栏中的眼睛睁开时,Ambient Context 会读取你当前聚焦窗口的文本(通过 macOS 辅助功能树,每隔几秒一次),并将其追加到一个纯 Markdown 文件中:每天一个文件,保存在你选择的文件夹中。将 Claude Code 或任何其他代理指向该文件夹,它就能回答“我周二做了什么?”,建立关于你项目的记忆,或为你撰写站会报告。

  • 无截图、无视频。 它只通过辅助功能 API 读取文本,别无其他。
  • 数据不会离开你的设备。 无需账户、无需服务器、无遥测、无内置模型。此版本完全不做网络调用;签名发布版将仅增加一次针对 GitHub 的更新检查。
  • 你拥有的文件。 纯 Markdown 存储在你选择的文件夹中。可随意移动、grep、删除。
  • 写入前脱敏。 密码管理器和隐私浏览窗口永远不会被捕获。密码字段在源头即被跳过,凭据、API 密钥和卡号形状的数字在写入磁盘前会被清除。
  • 为 LLM 读取而构建。 每天的行会去重,界面垃圾信息被过滤,每个块记录其来源文档路径或 URL,以便你的代理可以打开真实内容而不是依赖片段。文件夹中带有 AGENTS.md 文件,向任何读取者解释该格式。

需要 Apple Silicon 上的 macOS 14+。

状态

早期版本且未签名。目前还没有公证过的下载(Apple Developer 注册正在进行中),所以现在你需要自行构建,大约需要两分钟:

构建与运行

你需要 Node、Rust 和 Xcode Command Line Tools。

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 拖到 Applications 文件夹并打开。

开发时,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。