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:pdf of in:.

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 running sh -c "$(curl -fsSL https://tedhaley.ca/pensieve/install.sh)", then run pensieve integrate recommended. Then run pensieve setup, show me what it found, ask me which sources to index, and run pensieve setup with my choices. Open the Pensieve app and tell me when it's ready.

Stappenplan:

  1. Plak de prompt in je coding agent.
  2. De agent installeert de app en configureert Pensieve voor alle agents op je Mac.
  3. Je kiest welke bronnen geïndexeerd mogen worden.
  4. Gebruik Control + Shift om 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.