mrkeyoor.com_
Tue 01 Sept 17:42 UTC
Dev Toolsevaluationupdated 25 Aug 2026

ambient-context review

Ambient Context is an unsigned macOS menu-bar app that records text from the focused window into one local Markdown file per day. It gives Claude Code or another agent a searchable work diary without continuously taking screenshots or sending captured material to the project's servers.

+44stars / 7d
Verdict

Our run installed 79 packages in 5 seconds, built in 6 seconds, and found 0 known vulnerabilities, but no automated test target ran. Ambient Context is worth testing if you want lightweight Claude Code memory on an Apple Silicon Mac and accept plaintext capture plus Accessibility access. Everyone else should wait for notarization and a filled compatibility census, or choose ActivityWatch for broader platform support.

We ran it

Lab card: what happened when we ran ambient-contextScreenshot of ambient-context (github.com/dragthelake/ambient-context)
Install✓ · 5s79 packages · 108 MB
Build✓ · 6s
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo77 files~2,832 lines of source · 11.1 MB · 1 CI workflows

Answers from our run

Does ambient-context build from source?

Dependencies installed in 5 seconds (79 packages), and the build succeeded in 6 seconds. We cloned commit 6a353ab into a clean Debian container with 3 CPUs and no project-specific setup.

Does ambient-context have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does ambient-context have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use ambient-context?

Intel Mac, Windows, Linux, or older macOS users: the README requires macOS 14 or newer on Apple Silicon.

What are the alternatives to ambient-context?

ActivityWatch, screenpipe, HPI. Our run installed 79 packages in 5 seconds, built in 6 seconds, and found 0 known vulnerabilities, but no automated test target ran.

Setup2/5Fast source build, but macOS, Rust, Xcode, and signing matter
Docs4/5Clear privacy model, capture format, limits, and tester notes
Community2/5112 stars and a fresh push, with no issue or release history
Maturity2/5Version 0.1.0 is unsigned and its app census is unmeasured

Discussed on

  1. hnShow HN: Screen memory without screenshots, just text to Markdown62 points

Who it’s for

Apple Silicon Mac users who want local, text-only recall of documents, web pages, and supported apps.
Developers comfortable building an unsigned Tauri application from Node, Rust, and Xcode tools.
Claude Code users who want a plain Markdown activity folder with an AGENTS.md reading guide.
Privacy-conscious testers willing to inspect redaction and report which applications expose useful accessibility text.

Who it’s NOT for

Intel Mac, Windows, Linux, or older macOS users: the README requires macOS 14 or newer on Apple Silicon.
Organizations that prohibit granting Accessibility access to software that reads focused-window text.
Users who need a signed, notarized installer: the project describes itself as early and unsigned, with Apple Developer enrollment still in progress.
People working mainly in Kitty or Alacritty: the README says these GPU-rendered terminals expose little or no text.
Anyone expecting a complete screen history: the app ignores screenshots, background and minimized windows, other displays, locked-screen activity, and text an application's accessibility tree does not expose.
Teams needing measured compatibility before rollout: the supplied application census and Chromium resource-cost table are blank and marked not yet measured.

Setup reality

Our npm install succeeded in 5 seconds, adding 79 packages and using 108 MB. The build step completed in 6 seconds, and npm audit reported 0 known vulnerabilities across all severity levels. The checkout at commit 6a353ab contained 77 files, about 2,832 source lines, and 1 CI workflow. Tests were skipped because no test script or target was exposed to our harness.

A real app build needs an Apple Silicon Mac running macOS 14 or newer, plus Node, Rust, and Xcode Command Line Tools. There is no notarized download yet, so users run npm run tauri build, move the resulting app into Applications, and grant Accessibility permission on first launch.

Capture starts after choosing a folder. The default stays outside Documents to avoid automatic iCloud sync. Chromium and Electron apps may take several seconds to populate their accessibility trees; Kitty and Alacritty may yield little or nothing. The resulting diary is plaintext, so local encryption, file permissions, backups, retention, and any later LLM access remain the user's responsibility.

Version 0.1.0 writes focused-window text to Markdown

Ambient Context sits in the macOS menu bar and polls the accessibility tree of whichever window has focus. New text is appended to a daily Markdown file with the application, title, time span, and document path or URL when available. Repeated lines are deduplicated across the day, and common interface noise is filtered. The capture folder also receives an AGENTS.md file explaining the format to Claude Code or another agent that reads it.

Our checkout at commit 6a353ab contained 77 files and about 2,832 source lines in 11.1 MB. It combines a small React settings interface with a Rust and Swift Tauri backend. The package and Cargo manifests both identify version 0.1.0. That compact size suits a privacy-sensitive utility because a developer can inspect the capture, redaction, pruning, writing, and tray modules without navigating a large service stack.

No screenshots means less data and less recall

The app records accessibility text rather than pixels, video, or audio. This sharply reduces storage and avoids collecting visual material that the user never intends to search. Plain Markdown stays useful without a vendor application: it can be opened, grepped, moved, deleted, or passed to a local model. The tradeoff is coverage. Canvas content, images, video, and text hidden from the accessibility tree never enter the diary.

The measured repository was 11.1 MB, while an installed npm dependency tree occupied 108 MB. That remains modest beside continuous screen-recording systems, though our lab did not measure daily Markdown growth. Deduplication should limit repeated interface text, but the project publishes no retention calculator or storage benchmark. People considering a long-running deployment should capture an ordinary week, inspect file size and usefulness, then set their own deletion schedule.

Accessibility support varies by application

Chromium and Electron applications build their accessibility trees only after a client requests them. Ambient Context enables the relevant mode, then later samples should contain more text than the first seconds. The README warns that Chrome may show a window-resize animation while accessibility is enabled. Terminal.app and iTerm2 work, while Kitty and Alacritty expose little or no text because of their GPU rendering. These limits decide whether the app sees a real working day.

The repository includes a census template for 14 applications and an 8-row Chromium CPU and memory comparison, but every result cell is empty. Its verdict says the coverage has not yet been measured. Our 6-second build cannot fill that gap because the sandbox was a Debian container without macOS Accessibility access. Before relying on the diary, sample the applications that hold your work and classify each result as rich, partial, or empty.

Redaction reduces exposure while plaintext keeps consequences

The stated privacy model excludes password managers and private-browsing windows, skips secure input fields, and scrubs credentials, API keys, and card-shaped numbers before disk writes. Capture pauses while the screen is locked. Background windows, minimized windows, other displays, and the capture folder itself are ignored. The current build makes no network calls, according to the README; a future signed release is expected to add one GitHub update check.

Those controls reduce accidental collection. They cannot promise that every private sentence, client name, proprietary snippet, or novel secret format is removed. After 79 packages installed in 5 seconds, npm audit found 0 known vulnerabilities, which covers disclosed dependency advisories rather than semantic privacy errors. The output remains plaintext owned by the logged-in user. Disk encryption, strict folder permissions, excluded cloud backup, and constrained agent access still matter.

What happened when we ran it

Our run at commit 6a353ab installed 79 npm packages in 5 seconds and used 108 MB on disk. The build completed in 6 seconds. Npm audit reported 0 known vulnerabilities: 0 critical, 0 high, 0 moderate, and 0 low. Tests were skipped because our harness found no test script or target. The fresh Node 22 container had 3 CPUs, 8 GB of RAM, and no secrets.

The checkout had 1 CI workflow file and no tests directory or Dockerfile. The README separately tells Rust contributors to run cargo test, but our supplied lab result includes no Rust test count, so we make no claim about it. The successful web build shows that the checked-in TypeScript compiled. It does not prove that a macOS application bundle was signed, that accessibility capture worked, or that redaction caught representative secrets.

Apple Silicon and self-building narrow the audience

The README requires macOS 14 or newer on Apple Silicon. Building needs Node, Rust, and Xcode Command Line Tools. The resulting .app is unsigned because Apple Developer enrollment is still in progress, and the project offers no notarized release download. Users must build it, move it into Applications, open it, grant Accessibility permission, and choose a capture folder. That is acceptable for early technical testers and unreasonable for an ordinary company-wide rollout.

GitHub showed 112 stars, no open issues or pull requests, a push on August 25, 2026, and no published release. The MIT license permits inspection and modification, but the short public history gives little evidence about response time when macOS changes accessibility behavior. One CI workflow prepares releases; it does not change the current unsigned status described in the README.

Test your daily apps before trusting the diary

If that diary is legible and the redaction behavior matches your risk tolerance, pointing Claude Code at a few selected day files can improve recall without giving it a video archive. If key work happens in unsupported terminals or visual tools, the record will have confident-looking holes. ActivityWatch is the safer general recommendation today. Ambient Context is the more interesting choice for text-rich Mac workflows once you have personally measured what it can see.

Alternatives

ProjectWhat it isPick it when
ActivityWatchA cross-platform local activity tracker focused on time, applications, and extensible watchers.pick this instead when you need mature cross-platform time tracking more than captured window text.
screenpipe gh↗A local computer-history system that records screen and audio for later search and agent use.pick this instead when visual and spoken context matter and you accept much heavier capture.
HPIA Python system for combining personal data exports into queryable local modules.pick this instead when you want to integrate many explicit data sources rather than observe the active window.

What people are saying

  1. [velocity-scout] dragthelake/ambient-context

Sources

  1. Ambient Context README
  2. Ambient Context repository
  3. Application coverage census
  4. Rust package manifest

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →