Ambient Context is een macOS-applicatie die een tekstueel logboek bijhoudt van de activiteiten van de gebruiker door via de accessibility API de tekst van het gefocuste venster te lezen. Deze data wordt opgeslagen in dagelijkse Markdown-bestanden, waardoor lokale LLM-agents (zoals Claude Code) een geheugen opbouwen van projecten en werkzaamheden.
Kernpunten van de applicatie:
- Privacy en Beveiliging: Alle data blijft lokaal op de machine. De app bevat geen netwerkverbindingen (behalve update-checks) en filtert automatisch gevoelige informatie zoals wachtwoorden en API-sleutels.
- LLM-optimalisatie: De logs worden gefilterd op interface-ruis en gededupliceerd, zodat ze efficiënt door AI-modellen gelezen kunnen worden.
- Technische vereisten: De app is compatibel met macOS 14+ op Apple Silicon en is ontwikkeld met Tauri (Node/Rust).
- Installatie: Omdat de app nog niet is genotariseerd, moet deze momenteel zelf gebouwd worden via GitHub.
- Werking: Na het verlenen van toegankelijkheidsrechten registreert de app de tijdlijn van bezochte URL's en documenten in een door de gebruiker gekozen map.
Ambient Context
Werking
Wanneer het oog-icoon in je menu-balk open is, leest Ambient Context elke paar seconden de tekst van het venster dat op dat moment gefocust is (via de macOS accessibility tree). Deze tekst wordt toegevoegd aan een eenvoudig Markdown-bestand: één bestand per dag, opgeslagen in een door jou gekozen map.
Door Claude Code of een andere agent naar die map te verwijzen, kan de AI vragen beantwoorden zoals "Waar heb ik afgelopen dinsdag aan gewerkt?", geheugen opbouwen over je projecten of je stand-up rapportage voor je schrijven.
De applicatie maakt geen gebruik van screenshots of video; hij leest uitsluitend tekst via de accessibility API.
Privacy en Beveiliging
- Lokaal: Niets verlaat je machine. Er is geen account, geen server, geen telemetrie en geen ingebouwd model. Deze build maakt helemaal geen netwerkverbindingen; de ondertekende release zal enkel een controle voor updates uitvoeren via GitHub.
- Eigenaarschap: Je bezit de bestanden. Het betreft platte Markdown-bestanden in een door jou gekozen map. Je kunt ze verplaatsen, doorzoeken met
grep of verwijderen.
- Redactie: Voordat tekst wordt weggeschreven, vindt er redactie plaats. Wachtwoordbeheerders en privévensters van browsers worden nooit vastgelegd. Wachtwoordvelden worden bij de bron overgeslagen, en inloggegevens, API-sleutels en kaartnummers worden verwijderd voordat ze op de schijf terechtkomen.
Optimalisatie voor LLM's
De app is specifiek gebouwd om door een LLM gelezen te worden:
- Regels worden gededupliceerd over de loop van de dag.
- Interface-ruis wordt gefilterd.
- Elk blok registreert het documentpad of de URL, zodat een agent het originele bestand kan openen in plaats van te vertrouwen op fragmenten.
- In de map bevindt zich een
AGENTS.md bestand waarin het formaat wordt uitgelegd aan de software die de data leest.
Systeemvereisten
De applicatie vereist macOS 14+ op Apple Silicon.
Installatie en Build
De software bevindt zich in een vroeg stadium en is nog niet ondertekend. Er is nog geen genotariseerde download beschikbaar (de aanmelding bij het Apple Developer programma is in gang), dus voorlopig moet je de app zelf bouwen. Dit duurt ongeveer twee minuten.
Benodigdheden
Je hebt Node, Rust en de Xcode Command Line Tools nodig.
Build-instructies
git clone https://github.com/dragthelake/ambient-context
cd ambient-context
npm install
npm run tauri build
De applicatie wordt geplaatst in src-tauri/target/release/bundle/macos/. Sleep Ambient Context.app naar je Applicaties-map en open deze.
Voor ontwikkeling kan npm run tauri dev worden gebruikt om de app met hot reload uit te voeren.
Eerste gebruik
Bij de eerste start opent het instellingenvenster automatisch.
- Toegankelijkheid: Verleen de gevraagde toegankelijkheidsrechten (Accessibility). Dit is de permissie die de app in staat stelt om venstertekst te lezen; zonder dit werkt de applicatie niet.
- Opslaglocatie: Kies waar de bestanden moeten worden opgeslagen. De standaardlocatie is
~/Ambient Context, bewust buiten ~/Documents geplaatst zodat iCloud de records niet van de machine synchroniseert.
Zodra de configuratie is voltooid, start de opname. Vanaf dat moment start de opname automatisch bij het openen van de app. Klik op het oog in de menu-balk om de opname te stoppen; deze status wordt onthouden tot je de opname handmatig weer start.
Interface
- Open oog: Opname actief.
- Gesloten oog: Opname gepauzeerd.
- Rechtermuisknop op icoon: Directe toegang tot het bestand van vandaag, de map en de instellingen.
Bestandsstructuur
Een dagbestand ziet er als volgt uit:
---
date: 2026-08-25
captured_by: Ambient Context 0.1.0
---
## 09:41–10:05 · Chrome · Tauri tray documentation
url: https://v2.tauri.app/learn/system-tray/
<tekst gezien in dat venster, de eerste keer dat dit vandaag verscheen>
De koppen vormen de tijdlijn van de dag. Inhoudelijke regels worden slechts één keer per dag geschreven, ongeacht hoe vaak ze worden gezien, zodat het bestand klein genoeg blijft om in zijn geheel aan een LLM te worden gevoerd. In AGENTS.md wordt het formaat en de optimale leesmethode gedocumenteerd.
Notities voor testers
- Chromium en Electron: Applicaties zoals Chrome, Slack, VS Code, Obsidian en Figma bouwen hun accessibility tree pas op wanneer daar om gevraagd wordt. Hierdoor is de eerste capture in deze apps beperkt en vullen ze zich pas bij latere doorgangen. In Chrome kan een licht glitchy animatie bij het vergroten van het venster optreden; dit is een bekend gevolg van het mechanisme.
- Terminals: GPU-gerenderde terminals (zoals Kitty en Alacritty) tonen weinig tot geen tekst. Terminal.app en iTerm2 werken wel.
- Feedback: Feedback over welke apps rijke, gedeeltelijke of lege data teruggeven is zeer welkom (zie
docs/census.md voor het template).
Testen
Om tests uit te voeren, gebruik:
cd src-tauri && cargo test
Privacy-model
De applicatie leest uitsluitend het gefocuste venster: nooit vensters op de achtergrond, andere schermen of geminimaliseerde vensters, en nooit wanneer het scherm is vergrendeld. Wachtwoordbeheerders en privévensters worden volledig uitgesloten, beveiligde invoervelden worden op accessibility-niveau overgeslagen, en geheimen worden via pattern-scrubbing verwijderd voordat ze worden weggeschreven. Alles wat de app produceert is platte tekst op je eigen schijf, en de capture-map zelf is uitgesloten van capture zodat de app zichzelf niet kan observeren.
Ambient Context
Werking
Wanneer het oog-icoon in je menu-balk open is, leest Ambient Context elke paar seconden de tekst van het venster dat op dat moment gefocust is (via de macOS accessibility tree). Deze tekst wordt toegevoegd aan een eenvoudig Markdown-bestand: één bestand per dag, opgeslagen in een door jou gekozen map.
Door Claude Code of een andere agent naar die map te verwijzen, kan de AI vragen beantwoorden zoals "Waar heb ik afgelopen dinsdag aan gewerkt?", geheugen opbouwen over je projecten of je stand-up rapportage voor je schrijven.
De applicatie maakt geen gebruik van screenshots of video; hij leest uitsluitend tekst via de accessibility API.
Privacy en Beveiliging
- Lokaal: Niets verlaat je machine. Er is geen account, geen server, geen telemetrie en geen ingebouwd model. Deze build maakt helemaal geen netwerkverbindingen; de ondertekende release zal enkel een controle voor updates uitvoeren via GitHub.
- Eigenaarschap: Je bezit de bestanden. Het betreft platte Markdown-bestanden in een door jou gekozen map. Je kunt ze verplaatsen, doorzoeken met
grep of verwijderen.
- Redactie: Voordat tekst wordt weggeschreven, vindt er redactie plaats. Wachtwoordbeheerders en privévensters van browsers worden nooit vastgelegd. Wachtwoordvelden worden bij de bron overgeslagen, en inloggegevens, API-sleutels en kaartnummers worden verwijderd voordat ze op de schijf terechtkomen.
Optimalisatie voor LLM's
De app is specifiek gebouwd om door een LLM gelezen te worden:
- Regels worden gededupliceerd over de loop van de dag.
- Interface-ruis wordt gefilterd.
- Elk blok registreert het documentpad of de URL, zodat een agent het originele bestand kan openen in plaats van te vertrouwen op fragmenten.
- In de map bevindt zich een
AGENTS.md bestand waarin het formaat wordt uitgelegd aan de software die de data leest.
Systeemvereisten
De applicatie vereist macOS 14+ op Apple Silicon.
Installatie en Build
De software bevindt zich in een vroeg stadium en is nog niet ondertekend. Er is nog geen genotariseerde download beschikbaar (de aanmelding bij het Apple Developer programma is in gang), dus voorlopig moet je de app zelf bouwen. Dit duurt ongeveer twee minuten.
Benodigdheden
Je hebt Node, Rust en de Xcode Command Line Tools nodig.
Build-instructies
git clone https://github.com/dragthelake/ambient-context
cd ambient-context
npm install
npm run tauri build
De applicatie wordt geplaatst in src-tauri/target/release/bundle/macos/. Sleep Ambient Context.app naar je Applicaties-map en open deze.
Voor ontwikkeling kan npm run tauri dev worden gebruikt om de app met hot reload uit te voeren.
Eerste gebruik
Bij de eerste start opent het instellingenvenster automatisch.
- Toegankelijkheid: Verleen de gevraagde toegankelijkheidsrechten (Accessibility). Dit is de permissie die de app in staat stelt om venstertekst te lezen; zonder dit werkt de applicatie niet.
- Opslaglocatie: Kies waar de bestanden moeten worden opgeslagen. De standaardlocatie is
~/Ambient Context, bewust buiten ~/Documents geplaatst zodat iCloud de records niet van de machine synchroniseert.
Zodra de configuratie is voltooid, start de opname. Vanaf dat moment start de opname automatisch bij het openen van de app. Klik op het oog in de menu-balk om de opname te stoppen; deze status wordt onthouden tot je de opname handmatig weer start.
Interface
- Open oog: Opname actief.
- Gesloten oog: Opname gepauzeerd.
- Rechtermuisknop op icoon: Directe toegang tot het bestand van vandaag, de map en de instellingen.
Bestandsstructuur
Een dagbestand ziet er als volgt uit:
---
date: 2026-08-25
captured_by: Ambient Context 0.1.0
---
## 09:41–10:05 · Chrome · Tauri tray documentation
url: https://v2.tauri.app/learn/system-tray/
<tekst gezien in dat venster, de eerste keer dat dit vandaag verscheen>
De koppen vormen de tijdlijn van de dag. Inhoudelijke regels worden slechts één keer per dag geschreven, ongeacht hoe vaak ze worden gezien, zodat het bestand klein genoeg blijft om in zijn geheel aan een LLM te worden gevoerd. In AGENTS.md wordt het formaat en de optimale leesmethode gedocumenteerd.
Notities voor testers
- Chromium en Electron: Applicaties zoals Chrome, Slack, VS Code, Obsidian en Figma bouwen hun accessibility tree pas op wanneer daar om gevraagd wordt. Hierdoor is de eerste capture in deze apps beperkt en vullen ze zich pas bij latere doorgangen. In Chrome kan een licht glitchy animatie bij het vergroten van het venster optreden; dit is een bekend gevolg van het mechanisme.
- Terminals: GPU-gerenderde terminals (zoals Kitty en Alacritty) tonen weinig tot geen tekst. Terminal.app en iTerm2 werken wel.
- Feedback: Feedback over welke apps rijke, gedeeltelijke of lege data teruggeven is zeer welkom (zie
docs/census.md voor het template).
Testen
Om tests uit te voeren, gebruik:
cd src-tauri && cargo test
Privacy-model
De applicatie leest uitsluitend het gefocuste venster: nooit vensters op de achtergrond, andere schermen of geminimaliseerde vensters, en nooit wanneer het scherm is vergrendeld. Wachtwoordbeheerders en privévensters worden volledig uitgesloten, beveiligde invoervelden worden op accessibility-niveau overgeslagen, en geheimen worden via pattern-scrubbing verwijderd voordat ze worden weggeschreven. Alles wat de app produceert is platte tekst op je eigen schijf, en de capture-map zelf is uitgesloten van capture zodat de app zichzelf niet kan observeren.