Pensieve: lokale code-zoekfunctie en MCP-context voor AI-coding agents
Systeemvereisten: Apple Silicon · macOS 14 of later · gratis en open source.
Alles lokaal doorzoeken
Met één zoekopdracht doorzoek je elk bestand, elke repository en elke sessie. Door Control+Shift in te drukken, verschijnt er een glazen paneel over je documenten, mappen, git-repositories en gesprekken met coding agents.
Zoekopties
- Op betekenis (Semantic search): Gewone woorden vinden wat je bedoelde, zelfs als het bestand die specifieke woorden niet gebruikt (bijv. "rate limit").
- Exacte woorden: Tekst tussen aanhalingstekens matcht de frase exact. Je kunt beide methoden combineren om exacte hits te rangschikken op basis van betekenis.
- Uitsluiten: Een minteken (
-) sluit een woord of een geciteerde frase uit (bijv.-draft). - Filteren: Verfijn de zoekopdracht naar bestanden, code of sessies, een specifiek bestandstype, of een map/repo met
kind:code,ext:pdfofin:.
Superkrachten voor AI-agents
De kwaliteit van een agent hangt af van de context die hij krijgt. Via het Model Context Protocol (MCP) kan je coding agent Pensieve één vraag stellen en direct de relevante passages terugkrijgen, inclusief bestand en regelnummer.
Vergelijking: Grep versus Pensieve
Zonder Pensieve (grep and read):
- Vraag: "Waarom stoppen kaart-retries na een weigering?"
- Acties:
- Grep "retry" in acme-app → 212 matches.
- Lees
payments/retry.py. - Lees
payments/gateway.py. - Lees
billing/invoices.py. - Lees
tests/test_payments.py. - ... en nog 36 andere bestanden.
- Resultaat: Nog steeds op zoek naar de backoff-regel.
- Tool-aanroepen: 1 grep, 40 reads (en tellen door).
Met Pensieve (één zoekopdracht):
- Vraag: "Waarom stoppen kaart-retries na een weigering?"
- Acties:
pensieve · search "card retry after decline"- Resultaten:
payments/retry.py:42(stop on hard_decline),payments/gateway.py:118(decline codes),Incident review.md(waarom we dit hebben gewijzigd). pensieve · read payments/retry.py:42→ "Hard declines skip the retry queue. Maya Rivera owns this; see the Mar 4 review."- Tool-aanroepen: 1 search, 1 read.
Illustratief voorbeeld: In de onderstaande benchmark gemiddelde agents met Pensieve 2,0 tool-aanroepen per lookup, tegenover 3,4 met grep. In 82 van de 144 runs was het antwoord na één enkele call gevonden.
Integratie en Werking
Ondersteunde Agents
Pensieve werkt met elke MCP-client via stdio (met pensieve mcp) of via HTTP. Ondersteunde tools zijn onder andere:
- Claude Code
- Codex
- Cursor
- Gemini CLI
- Windsurf
- Claude Desktop
- VS Code
De opdracht pensieve integrate verbindt de agents op je Mac en voegt een "search before you grep"-blok en specifieke vaardigheden toe.
Scope en Zoekwijze
- Scoped to the job: Een agent die in een repository is gestart, ziet die repo, de worktrees en de bijbehorende sessies. Je kunt een specifieke scope definiëren om toegang te geven tot meerdere repositories en mappen met specificaties.
- Zoekmethodiek: Agents gebruiken dezelfde zoekfuncties als de gebruiker: op betekenis, via exacte identifiers, of beide, over code, documentatie en eerdere sessies.
Gemeten resultaten
In een benchmark met Claude Code werden taken uitgevoerd in repositories van 500 tot 35.000 bestanden.
- Succespercentage: 131/144 runs vonden het juiste bestand met Pensieve, tegenover 123/144 met enkel grep.
- Efficiëntie: 43% minder tool-aanroepen per lookup (2,0 in plaats van 3,4).
- Kosten: 18% goedkoper per lookup ($0,041 in plaats van $0,050).
- Snelheid: 21% sneller per lookup (8,6 seconden in plaats van 10,9).
- Prestaties: Elke zoekopdracht duurt 0,1 tot 0,2 seconden.
Kennisbeheer en Eigenaarschap
Wie weet wat?
Pensieve brengt elke repository in kaart met behulp van git blame voor elke regel. Je kunt vragen naar elk onderwerp om de personen met de meeste domeinkennis te vinden, inclusief waar ze recentaan aan hebben gewerkt.
- Ownership from blame: Analyse van wie welk gebied heeft geschreven, gewogen naar de regels die vandaag nog aanwezig zijn.
- Domeinkennis: Zoek op onderwerp in plaats van op bestand om de juiste experts te vinden.
- Teamactiviteit: Inzicht in wat teamleden de afgelopen 90 dagen hebben opgeleverd.
Kennisgat-analyse (Knowledge Gaps)
Pensieve signaleert risico's wanneer de oorspronkelijke auteurs van een codebase-onderdeel niet langer actief zijn in dat deel.
- Bus factor: Inzicht in hoeveel van de code is geschreven door mensen die nog steeds actief zijn en hoeveel van deze experts er zijn.
- Wie weet het nog? Identificatie van actieve personen met de meeste regels in een specifiek gebied.
- Handover planning: Identificeer gaten voordat er een incident optreedt en gebruik je agent om ontbrekende documentatie op te stellen.
Privacy en Techniek
Privacy by Design
Alle indexering en zoekopdrachten worden lokaal op je Mac uitgevoerd.
- Lokaal: Gebruikt een on-device embedding model en een lokale index in
~/.pensieve. Er is geen account of cloudservice nodig. - Controle: Je kunt bronnen (agents, mappen, repos, apps) individueel aan- of uitzetten.
- Beveiliging: Wachtwoordmanager-exports, keys,
.env-bestanden en credentials worden nooit geïndexeerd.
Optionele AI-integratie
Samenvattingen en inzichten zijn optioneel. Je kunt kiezen wie deze schrijft:
- Lokaal: Ingebouwde Qwen 3.5 9B of een lokale server zoals LM Studio.
- Cloud: Claude Code of Codex.
- Uit: Geen AI-inzichten.
Altijd actueel
Pensieve monitort mappen, repositories en agent-sessies en indexeert wijzigingen binnen enkele seconden. Ook niet-gecommitteerde wijzigingen en verschillende worktrees (per branch) worden bijgehouden.
Installatie
Pensieve is gratis en open source. De installatie kan worden uitgevoerd door je coding agent. Kopieer de volgende prompt naar Claude Code, Codex, Cursor, Gemini CLI, Qwen Code, Windsurf of VS Code:
Install Pensieve on my Mac by runningsh -c "$(curl -fsSL https://tedhaley.ca/pensieve/install.sh)", then runpensieve integrate recommended. Then runpensieve setup, show me what it found, ask me which sources to index, and runpensieve setupwith my choices. Open the Pensieve app and tell me when it's ready.
Stappenplan:
- Plak de prompt in je coding agent.
- De agent installeert de app en configureert Pensieve voor alle agents op je Mac.
- Je kiest welke bronnen geïndexeerd mogen worden.
- Gebruik
Control + Shiftom te zoeken terwijl de indexering op de achtergrond draait.
---
Veelgestelde Vragen (FAQ)
Wat doorzoekt Pensieve? Je bestanden en mappen (Documenten, Bureaublad, Downloads en toegevoegde mappen), je git-repositories (inclusief niet-gecommitteerde wijzigingen en worktrees), en je sessies van Claude Code, Codex en Qwen Code. Ook Obsidian vaults en optioneel Apple Notes. Alles wordt lokaal op je Mac geïndexeerd.
Hoe helpt Pensieve mijn agent? Zonder Pensieve moet een agent vaak de repo 'greppen' en veel volledige bestanden lezen, wat tokens kost. Met Pensieve via MCP krijgt de agent direct de meest relevante passages met bestand en regelnummer, waardoor hij met minder tool-aanroepen bij de juiste code uitkomt.
Maakt Pensieve Claude Code goedkoper? Ja. In benchmarks vonden agents met Pensieve vaker het juiste bestand met 43% minder tool-aanroepen, wat leidde tot een gemiddelde kostenbesparing van 18% per lookup.
Hoe zorg ik dat mijn agent Pensieve gebruikt in plaats van grep? De installatieprompt voert pensieve integrate recommended uit. Dit voegt een "search before you grep"-sectie toe aan de instructiebestanden van Claude Code, Codex en Gemini CLI.
Welke agents werken met Pensieve? Elke MCP-client. De installatie configureert standaard Claude Code, Codex, Cursor, Gemini CLI, Windsurf, Claude Desktop en VS Code.
Hoe vindt Pensieve kennisgaten? Het analyseert git blame en de recente commit-historie. Gebieden waar de meeste regels zijn geschreven door mensen die geen recente commits meer hebben, worden gemarkeerd als risicogebieden.
Verlaat er data mijn Mac? Nee. Indexering en zoekopdrachten zijn lokaal. Alleen model-downloads en GitHub-updates verlaten de Mac. Alleen als je expliciet kiest voor Claude Code of Codex voor AI-inzichten (gemarkeerd als "Cloud"), worden die specifieke gegevens verzonden.
Is een AI-model nodig? Nee. Zoeken, agent-context, eigenaarschap en kennisgaten werken zonder AI-model. AI-inzichten zijn optioneel.
Is Pensieve gratis? Ja, het is gratis en open source onder de MIT-licentie.
Waarom vraagt macOS om bevestiging bij het openen? De app is nog niet genotariseerd. Je kunt dit éénmalig toestaan via Systeeminstellingen → Privacy & Beveiliging → "Toch openen".
Werkt het op Intel Macs of Linux? De app vereist Apple Silicon. Op Linux en Intel Macs installeert dezelfde prompt de backend en de browser-visualisator. Intel Macs krijgen ook het zoekpaneel als de Xcode command-line tools zijn geïnstalleerd.
Hoe installeer ik het programma weer volledig? Voer eerst pensieve integrate all --remove uit. Sluit Pensieve, sleep het naar de Prullenbak en verwijder de mappen ~/.pensieve, ~/.local/share/uv/tools/pensieve en ~/.local/bin/pensieve. Modellen staan in ~/.cache/huggingface.
Groetjes,