# AI-opschoning en -onderhoud in Mole bouwen

> Waarom ik AI-gesprekken bewaarde, wat er veranderde toen oude sessies en worktrees zich op mijn eigen Mac opstapelden, en wat het testen van deze tools me herinnerde om in Mole te beschermen.

Published: 2026-09-29 | Updated: 2026-10-18

In de vakantie wilde ik iets nuttigs aan Mole toevoegen: een manier om AI-caches, oude sessies en worktrees die je niet meer nodig hebt te wissen, en AI-tools te verwijderen die je lang geleden probeerde en niet meer gebruikt.

Terwijl ik [verwijderresten van honderden Mac-apps testte](https://mole.fit/nl/blog/testing-mac-apps-one-by-one), vroegen ook veel mensen naar AI-rommel. Toen zag ik veel van die "rommel" als nuttig. Je gesprekken met AI-codeertools, bijvoorbeeld, zijn een belangrijk bezit, dus Mole behandelde vooral echte caches en oude versies.

Naarmate ik AI bleef gebruiken, hoopten zich op mijn eigen Mac genoeg gegenereerde bestanden, sessies en worktrees op die niet meer erg nuttig waren. Daardoor werd de behoefte duidelijker, en ik begon eraan te werken. Eén gebruiker had ook een bestand `opencode.db` dat tot 62 GB was gegroeid en vroeg hoe je dat opschoont. Deze keer installeerde ik desktop- en opdrachtregeltools, meldde me aan en gebruikte ze voordat ik keek wat ze achterlieten.

## Hoe ik ze testte

Anders dan de vorige keer, toen apps alleen werden geïnstalleerd en verwijderd, meldde ik me deze keer aan bij de tools die ik kon gebruiken en probeerde ze in mijn eigen projecten: vragen stellen, agents draaien, een code-index bouwen, een geplande taak instellen. Veel gegevens verschijnen pas na echt gebruik, dus een app die is geïnstalleerd maar nooit is geopend, verbergt het meeste. Voor elke tool vergeleek AI de Mac voor en na, mat wat hij schreef in de thuismap, `~/Library`, `/usr/local/bin` en de shellconfiguratie, en legde het vast in een grootboek. Daarna keek ik hoeveel processen en hoeveel geheugen het innam op de statuspagina van Mole, verwijderde het met Mole, en zocht de hele thuismap op naam af naar iets dat Mole niet had genoemd. Wat ontbrak, ging dezelfde avond de code in, gevolgd door een hertest.

Aan de desktopkant testte ik 13 apps: Devin, OpenCode, Trae, Trae CN, TRAE SOLO CN, Kiro, Qoder, QoderWork, Qoder CN, Lingma, CodeBuddy CN, WorkBuddy en Doubao Work. Twaalf zijn echt gebruikt; Lingma had na het aanmelden geen tegoed, dus ik mat alleen de bestanden die het schreef. Op de opdrachtregel installeerde en draaide ik Amp, opencode, Kimi CLI, Kimi Code, Factory Droid, Copilot CLI, Gemini CLI, Qwen Code en iFlow, en samen met Claude Code, Codex, Grok en Cursor Agent, die al op mijn Mac stonden, zijn dat er 13. Langs de lijst die CC Switch ondersteunt, mat ik ook wat OpenClaw, Hermes en Pi achterlaten na verwijderen. Amp viel ook op als goed gemaakt, met een sterk eigen karakter. Qoder CN was waarschijnlijk het beste Chinese AI-product dat ik die dag had getest, over het geheel eenvoudig en duidelijk. Een paar konden niet worden gebruikt: ik kon tijdens deze test niet bij Gemini CLI aanmelden met mijn persoonlijke Google-account, en Qwen Code en iFlow hebben allebei een eigen endpoint en sleutel nodig.

## Je ziet pas wat ze schrijven als je ze gebruikt

Geheugen was het zichtbaarste deel. Met de 13 desktopapps samen open gebruikten ze ongeveer 23 GB, en CodeBuddy CN alleen draaide 41 processen die 4,49 GB gebruikten. De meeste zijn VS Code- of Electron-apps, waarbij één venster een keten helpers verbergt, en daarom geeft de statuspagina van Mole elke app één rij die alle kindprocessen optelt. In een gewone proceslijst is het lastig te zien wie het geheugen echt gebruikt.

De kleine wijzigingen die ze aan het systeem maken, verrasten meer. Devin, CodeBuddy, Kiro en Kimi Code voegen PATH- of shellintegratieregels toe aan `~/.zshrc`, en bij de eerste start zetten Kiro, Trae en Trae CN een opdrachtkoppeling van root in `/usr/local/bin`, die nergens meer naartoe wijst als de app weg is. WorkBuddy zette een `python3.12` in `~/.local/bin`, zodat `python3.12` typen in Terminal daarna zijn kopie draait, en het installeerde ook een uv-Python van 127 MB; mijn woorden toen waren dat het opdringeriger was dan ik verwachtte. Het interessantst was Kimi CLI: ik draaide het één keer, het zei dat het niet meer werd onderhouden, en daarna downloadde en installeerde het zonder te vragen de nieuwe Kimi Code, bewerkte `.zshrc`, en hernoemde de oude opdracht naar `kimi-legacy`.

Qua grootte downloadt het eerste gebruik van de Work-modus van TRAE SOLO ongeveer 1 GB aan tools die uitpakken tot 3,1 GB, een meegeleverde set LibreOffice, FFmpeg en OpenJDK, en zes desktoptools die elk maar één of twee taken draaiden schreven samen 5,2 GB aan gegevens. Mijn eigen `~/.codex`, dat ik dagelijks gebruik, is al 24 GB, waarvan 17 GB sessies, en 12 GB van de 14 GB van de Claude-desktopapp is de Linux-virtuele machine die Cowork gebruikt. De database van opencode legt gebeurtenissen vast, dus één vraag schrijft meer dan drie keer de grootte van het bericht zelf, en een sessie verwijderen laat het bestand niet krimpen, wat waarschijnlijk is hoe iemand op 62 GB uitkwam.

Skills waren een andere val. Veel skill-installatieprogramma's schrijven een map `skills/` in de map van elke agent, of je die agent nu hebt of niet, zodat `~/.qwen`, `~/.iflow` en `~/.factory` op mijn Mac bestonden hoewel ik Qwen Code, iFlow of Droid nooit had gebruikt. De eerste versie van Mole telde ze zelfs als tools van 2,4 MB en kwam dicht bij mijn geïnstalleerde skills als resten te behandelen.

## Sommige dingen blijven na het verwijderen

Nadat de eerste ronde 14 apps had verwijderd, vond een nieuwe zoektocht nog meer dan een dozijn puntmappen die Mole niet had genoemd, zoals `~/.kiro`, `~/.qoder`, `~/.qodersec`, `~/.lingma` en `~/.codebuddy`, plus het aanmeldtokenbestand dat Kiro in `~/.aws` houdt. Ze staan niet onder `~/Library`, en hun namen komen niet altijd overeen met de app, dus de enige manier om ze te vinden was één app per keer. Sommige worden gedeeld tussen producten: Trae CN en TRAE SOLO CN delen `~/.trae-cn`, Qoder en QoderWork delen `~/.qoder`, dus het verwijderen van één ervan mag geen map noemen die de ander nog gebruikt. Het testen van de internationale Trae liet ook zien dat die de mappen van Trae CN als de zijne claimde, met de caches standaard aangevinkt; na de correctie ging de lijst van 33 rijen naar 14.

Processen waren de andere verrassing. De volgende ochtend opnieuw kijken liet zien dat `~/.kimi-code` en `~/.factory` waren teruggekomen nadat ze waren verwijderd, omdat de sessies `kimi` en `droid` die ik de avond ervoor open had gelaten in Terminal nog leefden: hun programmabestanden stonden al in de prullenmand, en de processen bleven logboeken in die mappen schrijven. Daarna vond ik ook nog draaiende sessies van `gemini`, `qwen`, `iflow` en `amp`. Opdrachtregeltools hebben geen venster, en een Terminal-tabblad sluiten beëindigt ze niet altijd, dus het loont te controleren dat er geen draait voordat je hem verwijdert.

Het testen herinnerde me ook waarom ik Claude, Codex en Cursor zo vaak gebruik: ze zijn betrekkelijk terughoudend geweest. Sommige andere tools lieten me ongemakkelijk achter. Ik zag installatieprogramma's naar het klembord schrijven om het installatiekanaal te volgen, wat te ver ging, en apps die me begroetten met pop-ups die vroegen mee te doen aan acties voor tokens. Ze gebruiken betekende soms veel ergernis verdragen.

Qoder was een prettige verrassing. Het toonde terughoudendheid en goede smaak, en het product maakte indruk. Ik hoop meer Chinese software zoals dit te zien. Ga zo door.

## Je kunt zelf eerst kijken

Geen van deze controles heeft Mole nodig; Terminal volstaat, en de commando's hieronder lezen alleen, ze veranderen niets.

Kijk eerst of AI-tools regels aan je shellconfiguratie hebben toegevoegd:

```bash
grep -nE "codeium|codebuddy|kiro|kimi|lmstudio|\.local/bin" ~/.zshrc ~/.bashrc ~/.zprofile 2>/dev/null
```

Elke regel begint met de bestandsnaam en het regelnummer. Is de tool achter een regel al weg, dan kun je de regel in een teksteditor verwijderen; kopieer het bestand eerst, en open daarna een nieuw Terminal-venster om te controleren dat alles nog werkt.

Kijk daarna naar opdrachten in `/usr/local/bin` die naar een app wijzen, en naar koppelingen die niet meer werken:

```bash
ls -l /usr/local/bin | grep "\.app/"
find /usr/local/bin -maxdepth 1 -type l ! -exec test -e {} \; -print
```

De eerste noemt opdrachten die naar binnen een app wijzen, de tweede noemt koppelingen waarvan het doel weg is. De meeste daarvan zijn achtergelaten door verwijderde apps; ze zijn van root, dus verwijderen vraagt om een beheerderswachtwoord.

Kijk of een opdrachtregelagent die je al hebt verwijderd nog draait:

```bash
ps -axo pid,lstart,command | grep -E "kimi|droid|gemini|qwen|iflow|amp|opencode" | grep -v grep
```

Dit is een tekstzoekopdracht op naam. Bekijk de volledige opdracht en de proces-ID om te bevestigen dat elke treffer bij de AI-tool hoort; `amp` kan ook in niet-gerelateerde woorden voorkomen. Stop na bevestiging in de oorspronkelijke Terminal, of gebruik `kill` met die proces-ID als je het venster niet kunt vinden.

Meet tot slot hoeveel deze tools innemen:

```bash
du -sh ~/.codex ~/.claude ~/.grok ~/.gemini ~/.cursor ~/.local/share/opencode 2>/dev/null
```

Deze mappen bevatten je sessiegeschiedenis, dus beslis of je terug wilt kijken voordat je iets verwijdert: een AI-gesprek dat zonder bewaarde kopie is verwijderd, is niet terug te halen.

## Uitzoeken wat een grote map bevat

De map van één AI-tool kan opnieuw op te bouwen caches, gedownloade modellen, gesprekken, projecten en configuratie die met een andere tool wordt gedeeld bevatten. Een naam die op cache lijkt, maakt niet elk bestand wegwerpbaar. Bekijk bij opruimen met de hand eerst gegevens die opnieuw opgebouwd kunnen worden, en controleer daarna titels, datums en reservekopieën van je eigen werk. Controleer bij een worktree zowel niet-vastgelegde wijzigingen als of de commits bewaard zijn op een branch die je wilt houden.

Een ongewijzigde `opencode.db` nadat sessies zijn verwijderd, betekent niet per se dat het verwijderen mislukte. [SQLite beschrijft](https://sqlite.org/lang_vacuum.html) dat verwijderde records meestal pagina's achterlaten die hergebruikt kunnen worden zonder het bestand te laten krimpen. Comprimeren neemt die lege pagina's terug; het verwijdert niet nog een ronde gesprekken. Beslis welke sessies je verwijdert voordat je de database onderhoudt, in plaats van beide tot één grote verwijderactie te combineren.

## Hoe Mole er nu mee omgaat

De AI-pagina werd meegeleverd met Mole 1.16.0. De ingang is een verre maan op de pagina Opschonen, die alleen verschijnt als er gegevens van AI-tools zijn gevonden en die je in Instellingen kunt verbergen als je hem niet wilt. Binnenin gaat Mole de tools één voor één af en sorteert wat het vindt in drie banden naar hoeveel spijt verwijderen kan geven: caches en oude versies bouwen zichzelf opnieuw op en beginnen aangevinkt; sessies en worktrees bouwen zichzelf niet opnieuw op, dus die bevestig je zelf; lang ongebruikte tools en onderhoud komen als laatste en zijn ook niet aangevinkt.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/testing-ai-tools-review.webp" width="2400" height="1800" loading="lazy" alt="De pagina AI-opschoning en -onderhoud van Mole met zes Codex-sessies ouder dan 90 dagen uitgeklapt onder sessies en worktrees, en daaronder afgeronde worktrees en sessies waarvan het project weg is, elke rij met wat het is, wat verwijderen kost, en de grootte.">
  <figcaption>De echte pagina AI-opschoning en -onderhoud. De gegevens in de schermafbeelding komen uit een voorbeeldmap, niet van mijn Mac.</figcaption>
</figure>

In de sessieband kunnen oude sessies van Codex en Claude Code voorbij de bewaartermijn worden gefilterd op 15, 30, 90 of 120 dagen, of op Niet tonen worden gezet, apart per tool, en eenmaal uitgeklapt toont elk de titel en de datum en kan het apart worden afgevinkt. Voor Codex kopieert Mole het sessiebestand eerst naar de prullenmand en roept daarna de eigen verwijderopdracht van Codex aan, zodat de index van Codex consistent blijft. Sessies van Claude Code waarvan de projectmap weg is, krijgen een eigen rij, en een afgeronde worktree verschijnt alleen als git kan bewijzen dat er geen niet-vastgelegde wijzigingen zijn, met een notitie als het werk al in de hoofdbranch is samengevoegd.

De band voor ongebruikte tools kostte deze ronde de meeste tijd. Mole zoekt AI-opdrachtregeltools op de vaste plekken die npm, pipx, uv, officiële installatieprogramma's en Homebrew gebruiken, noemt alleen die welke 30 dagen ongebruikt zijn en niet draaien, en verwijdert het programma, de opdrachtkoppelingen die ernaar wijzen, en de instellingen, sessies en aanmelding samen. Gegevens die een ander product nog gebruikt, blijven: Antigravity houdt ook dingen in `~/.gemini`, en de desktopapp van opencode deelt een sessiedatabase met de opdrachtregel. Elke ongebruikte tool krijgt een eigen rij en een eigen selectievakje; tools worden nooit tot één verwijdering samengevouwen. Claude Code en Codex staan niet op de lijst, omdat hun mappen ook de toestand van de desktopapps zijn.

Opdrachtregeltools die met `sudo npm` in systeemmappen zijn geïnstalleerd, staan ook in de lijst, en verwijderen vraagt één keer om een beheerderswachtwoord. Voor de steeds groeiende `opencode.db` van opencode biedt Mole aan die in deze band te comprimeren zodra verwijderde sessies meer dan een tiende van het bestand leeg hebben gelaten en het bestand groter is dan 200 MB: er wordt geen sessie verwijderd, alleen de vrije ruimte gaat terug naar de schijf, en opencode moet eerst gestopt zijn.

Aan de verwijderkant staan de puntmappen hierboven nu als rijen om te bevestigen, standaard niet aangevinkt, en een map die meerdere producten delen wordt niet genoemd zolang een ander ervan nog geïnstalleerd is. Opdrachtkoppelingen van root in `/usr/local/bin` staan ook tijdens het verwijderen in de lijst en gaan via de beheerderhelper van Mole naar de prullenmand. Gewone bestanden die naar de prullenmand zijn verplaatst, kun je terughalen zolang ze daar staan. Programma's die via Homebrew zijn geïnstalleerd, gebruiken nog de verwijderopdracht van Homebrew. Databasesessies hebben het geëxporteerde herstelbestand en de herstelinstructies nodig; niet elke bewerking is ongedaan te maken door iets uit de prullenmand te slepen, en de herstelkopie moet er nog zijn. Regels in configuratiebestanden die het installatieprogramma van een AI-tool achterliet, staan in het verwijderresultaat in plaats van bewerkt te worden.

Deze wijzigingen zitten nu in Mole.

## Wat nog niet af is

Sommige dingen zijn nog niet af. Worktrees van tools zoals Cursor en Conductor zitten er niet bij omdat ik er op mijn Mac nog geen echte gegevens voor heb. Ten tijde van die test konden oude sessies van opencode en Devin in Mole niet op leeftijd worden opgeschoond. MiniMax heb ik deze ronde niet getest, dus die wordt nog niet ondersteund.

## Vervolg: sessies van OpenCode en Devin

Op 1 oktober voegde ik bronondersteuning toe voor oude sessies van OpenCode en Devin, met het bewaarfilter of een controle dat hun werkmappen aantoonbaar weg zijn. Offline schijven en onleesbare mappen tellen niet als ontbrekend. Mole bewaart een herstelkopie vóór verwijderen, gebruikt daarna de verwijderroute van de tool en controleert het resultaat. Herstel van OpenCode gebruikt de geëxporteerde JSON; herstel van Devin bevat de gekozen sessie en de gerelateerde records, met herstelinstructies. Een draaiende tool of een mislukte controle verhindert de opschoning. Dit was werk voor de volgende Preview, geen functie in de download die toen was gepubliceerd; ik heb de teruggewonnen ruimte op de echte database van de gebruiker niet gemeten.

Op 5 oktober kwam nog een ronde. Je hoeft Codex of Claude Code niet meer te stoppen voordat je opschoont: een sessie die in de laatste 24 uur is gebruikt, wordt nooit genoemd, en de eigen verwijderopdracht van Codex weigert een sessie die in een van de vensters open is, wat in een sandbox is gecontroleerd. Bewaren wordt per tool ingesteld en elke tool begint op Niet tonen, zodat er geen sessie wordt genoemd tot je een venster kiest; Claude Code noemt oude sessies op het tijdstip van hun laatste bericht in plaats van alleen die waarvan het project weg is. Ik ontdekte ook dat de desktopapp van Cursor een eigen kopie van cursor-agent installeert en elke uitgave die hij vervangt bewaart, zeven stuks en 4,1 GB op mijn Mac, en die verschijnen nu bij de andere oude versies en mogen weg terwijl Cursor open is. Het verwijderen van Codex laat de afbeeldingen en notities achter die het voor een sessie weergaf, dus Mole verplaatst die samen met de sessie naar de prullenmand.

Samen met de eerdere tests van meer dan 700 apps liet dit me teleurgesteld achter over hoeveel producten tekortschieten tegenover basisprincipes van software-engineering. Ze zijn niet altijd zo professioneel of schoon als mensen verwachten. Het maakt dat ik wil dat Mole zijn eenvoud houdt, verdiept wat het doet, geen gegevens pakt die het niet nodig heeft, en nooit lokale bestanden of gespreksinhoud uploadt. Ik voeg niet eens gebruiksanalyse toe. Ik wil hier op de lange termijn zo precies over blijven.

Staan er AI-tools op je Mac die je door Mole wilt laten verzorgen, of is er een soort opruiming die je het meest dwarszit, zeg het dan in de [discussie](https://github.com/tw93/Mole/discussions/1604). Elke tot nu toe geteste app staat in de [lijst met geteste apps](https://mole.fit/tested-apps), en wil je met de hand opruimen, dan behandelt de [opruimingsgids voor AI-codeertools](https://mole.fit/nl/blog/how-to-clean-up-ai-coding-tools-mac) dat.

Ik neem verzoeken mee in het testen en voeg toe wat geschikt blijkt om op te schonen. Dit is iets dat ik verwacht lang te blijven onderhouden.

---

Canonical HTML page: https://mole.fit/nl/blog/testing-ai-tools-for-mole
Blog index for agents: https://mole.fit/nl/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
