Ga naar inhoud
100% lokaal

AI-chatlogparser

Ruimt een geplakt ChatGPT- of Claude-transcript op in een opgeruimde gebruiker/AI-dialoog.

Invoer
Uitvoer

AI-chatlogparser

Het kopiëren van een gesprek uit de webinterface van ChatGPT of Claude komt zelden schoon uit. Naast de daadwerkelijke dialoog krijg je knoplabels als 'Kopiëren' en 'Opnieuw genereren', verdwaalde tijdstempels en modelnamen die op hun eigen regel staan - rommel die het transcript lastig maakt om te lezen, te delen in een ondersteuningsticket of in een document te plakken. Deze tool verwijdert de interfaceruis en voegt wat er overblijft weer samen in een helder, afwisselend gesprek.

Het herkent de sprekerlabels die deze tools normaal gesproken weergeven – ‘Jij’, ‘ChatGPT’, ‘Claude’, ‘Assistant’ en een paar generieke equivalenten – of ze nu alleen aan een lijn zitten of rechtstreeks naar de eerste zin leiden (‘Jij: hoe moet ik…’). Als een pasta zijn labels volledig kwijt is, valt de parser terug naar het behandelen van elk door blanco regels gescheiden blok als één beurt en wisselt hij gebruiker en AI af, te beginnen met de gebruiker, wat de manier is waarop de meeste transcripties lezen zodra het chroom verdwenen is. Korte regels die alleen voor de UI gelden ('Kopiëren', 'Kopieer code', 'Opnieuw genereren', 'Opnieuw proberen', kale kloktijden) worden verwijderd voordat een van beide passages wordt uitgevoerd, zodat ze nooit verkeerd worden gelezen als onderdeel van de dialoog.

Standaard is de uitvoer Markdown — **Gebruiker:** en **AI:** worden gescheiden door lege regels — klaar om in een document, een blogpost of een bugrapport te plakken. Het inschakelen van de JSON-uitvoeroptie produceert in plaats daarvan een array van \`{ rol-, content }\`-objecten in dezelfde volgorde, handig voor het invoeren van een transcript in een script, een evaluatiegegevensset of een ander hulpmiddel in een pijplijn.

Alles draait in je browser: plakken, parseren en formatteren gebeurt lokaal in JavaScript, en het transcript wordt nooit geüpload of ergens naartoe verzonden.

FAQ

Hoe weet de tool welke lijnen de gebruiker zijn en welke de AI zijn?
Het zoekt naar veelgebruikte sprekerlabels – ‘Jij’, ‘ChatGPT’, ‘Claude’, ‘Assistant’ – op hun eigen regel of gevolgd door een dubbele punt, en start een nieuw bericht telkens wanneer er een verschijnt. Als de geplakte tekst zijn labels heeft verloren, valt hij terug op afwisselende beurten bij elke lege regel, te beginnen bij de gebruiker.
Wat telt als "ruis" die wordt verwijderd?
Korte interfaceregels die geen deel uitmaken van het gesprek ('Kopiëren', 'Kopieer code', 'Opnieuw genereren', 'Opnieuw proberen', 'Delen', 'Vind ik leuk') en kale tijdstempels zoals '10:32 AM' die alleen op een regel staan.
Hoe ziet de JSON-uitvoer eruit?
Een array van objecten, `{"role": "user" | "ai", "content": "…"}`, één per beurt in de volgorde waarin ze verschenen - klaar om in een script, een JSONL-evalbestand of een ander hulpmiddel te worden ingevoerd.
Wordt mijn geplakte gesprek ergens geüpload?
Nee. Het parseren gebeurt volledig in uw browser; het transcript verlaat nooit uw apparaat en raakt nooit een server.
Werkt het met exports van andere AI-chattools dan ChatGPT of Claude?
Ja, de labellijst bevat ook generieke termen als 'Gebruiker', 'AI', 'Assistent' en 'Bot', en de terugval op de lege regels werkt nog steeds als een tool labels gebruikt die de parser niet herkent, hoewel een ongebruikelijk exportformaat naderhand misschien wat handmatig moet worden opgeschoond.