Het koppelen van die vervelende thread-id's met een handige bookmarklet If you’ve been building on top of OpenAI’s shiny Assistants API, you’ve probably hit the same wall I did: There’s no API endpoint to list your thread IDs. None. Zero. Nada. Er is geen API-endpoint om uw thread-id's te vermelden. Niets, niets en niets U kunt een thread creëren ( ) van POST /v1/threads U kunt een thread ophalen als u de ID al kent ( ) van GET /v1/threads/{id} U kunt zelfs een ( ) van DELETE /v1/threads/{id} Als u een eenvoudige om alle threads die je hebt gecreëerd te vermelden? Het bestaat niet, en de afwezigheid van dat enkele eindpunt verandert alles over hoe je op dit platform bouwt. GET /v1/threads Forget it. Het feit dat zo'n basisstuk van de CRUD-cyclus ontbreekt, maakt dat ontwikkelaars het gevoel hebben dat ze blind werken. Dat ontwerpkeuze voelt opzettelijk. OpenAI wil doorzettingsvermogen op je terugdringen: "Het is uw verantwoordelijkheid om thread-id's op te slaan." But half the time we’re just prototyping so: We hebben geen database tabel voor threads. We willen geen datastore-pijplijn bouwen om een idee te testen. We willen gewoon een heleboel testdraden schieten, zien wat er gebeurt en doorgaan. En dan komt de dag dat je je realiseert dat je honderden (of tienduizenden, afhankelijk van de schaal) strengen hebt gegenereerd, en nu moet je ze opruimen, controleren of gewoon bevestigen wat er bestaat. Dat is wanneer je in de muur klopt en je kunt niet eens zien wat je hebt gemaakt.Hoe meer je erover nadenkt, hoe meer je je realiseert dat dit een zichtbaarheidsprobleem is dat alles beïnvloedt, van debuggen tot compliance. The Gap OpenAI laat breed open Every sane API platform in the known universe usually has a list endpoint. Het is de meest elementaire CRUD-levenscyclus - creëren, lezen, bijwerken, verwijderen. en de "R" gaat niet alleen over het ophalen van één record, het gaat ook om het opsommen ervan. Ontwikkelaars verwachten te kunnen vragen, Door het uit te laten, dwingt OpenAI u effectief om ID's te loggen en op te slaan vanaf de eerste dag - of het risico te verliezen volledig. ‘Wat bestaat er?’ From a developer’s perspective, that’s a liability. From a data management perspective, it’s a bloody mess. From a security standpoint? A fucking nightmare. Minder lijst eindpunten betekent minder verantwoordingsplicht voor welke gegevens er nog steeds aan hun kant zijn. Zonder een lijst eindpunt, kunt u het gebruik niet controleren. Je kunt stallige experimenten niet gemakkelijk opruimen. Je kunt het levenscyclusbeheer niet automatiseren. Je bent in het donker achtergelaten, verwacht om je eigen logs te vertrouwen en nooit te vragen wat er daar zit. Of het nu gaat om beveiliging, privacy of gewoon om het API-oppervlak kleiner te houden, het resultaat is hetzelfde: Die afwezigheid veroorzaakt niet alleen ongemak – het creëert wantrouwen. we can’t list our own threads. Steal lijst eindpunten terug van OpenAI met uw browser en mijn eenvoudige JavaScript Bookmarklet If OpenAI won’t give us a list endpoint, well, we’ll just have to pull up our pants and scrape the goddamn thing. Maar in plaats van een domme specifieke tool te bouwen met behulp van een hoofdloze workflow-agent, en meer dan je goed kunt onthouden... Je hebt al het perfecte gereedschap. Python Uw browser en een bescheiden JavaScript bookmarklet. Een bookmarklet is gewoon een browser bookmark die JavaScript uitvoert tegen de pagina waarop je bent.En als je kijkt naar API-responslogs in de browser, heb je al alle thread-id's die je nodig hebt - ze zijn gewoon begraven in de tekst. Maar het beste is dat de bookmarklet er niet om geeft of de pagina geformatteerd of mooi is. Het is het dichtst bij een "arm man's list endpoint". thread_... Here’s the magic snippet: javascript:(function(){ const ids = [...document.body.innerText.matchAll(/thread_[A-Za-z0-9]+/g)] .map(m => m[0]); if (!ids.length) { alert("No thread IDs found on this page."); return; } navigator.clipboard.writeText([...new Set(ids)].join("\n")) .then(() => alert("Copied " + ids.length + " thread IDs to clipboard!")); })(); Voeg het toe als de URL van een browser bookmark, klik op het op elke pagina waar thread-id's verschijnen, en boom: elke string wordt geschrapt, gedupliceerd en gekopieerd naar uw clipboard. thread_... Geen plugins. Geen extensies. Geen dev tools gymnastiek. Slechts één klik. So yes, it takes a little time… Scrollen Laden Meer Scrollen Laden Meer Maar zodra je aan het einde bent gekomen (of je gewenste lengte) kun je gewoon op de opgeslagen bookmarklet hierboven klikken ... en een netjes gekopieerde lijst met thread-id's opblazen voor je om te doen met wat je wilt. Waarom dit telt This isn’t only a neat, functional hack. It’s a reminder of the gap between developer needs and API design. OpenAI's beslissing om de thread listing uit te laten voelt als een donker patroon, waardoor het moeilijker voor ons is om te zien wat zich ophoopt in de achtergrond. Of ze die gegevens behouden of niet is buiten het punt - wat telt is dat We kunnen het niet zelf controleren. Denk na over de implicaties.Als je een gereguleerd product bouwt waar auditbaarheid belangrijk is, kun je letterlijk niet bewijzen welke draden je hebt gesponnen.Als je probeert de kosten te beheersen, kun je niet controleren wat er achterblijft. Als je experimenteert, kun je gegarandeerd een puinhoop creëren die je niet ziet. De bookmarklet is een manier om die zichtbaarheid terug te krijgen. Het herstelt de ontbrekende API niet, maar het geeft u agentschap. Met één klik kunt u elke thread-ID zien die zichtbaar is in uw logboeken, clipboard ze en pijpen ze in een bulk-delete stream. Het omschrijft ook de relatie: ontwikkelaars hoeven niet te vertrouwen op hacks om informatie over hun eigen middelen te krijgen. Dat is een signaal dat het platform zijn gebruikers niet zo goed bedient als het zou kunnen. Wat te doen als je je Thread ID's hebt Plaats ze in een tekstbestand, Google Sheet, wat dan ook. Bewaar ze voor verwijzing, sorteren en verwijderen indien nodig. Gebruik een HTTP-verzoek om over elke ID te loepen en DELETE /v1/threads/{id} te bellen. Nuke alles.Als je die draden niet meer nodig hebt, wrijf ze weg en slaap beter omdat je weet dat ze weg zijn.Doe het in beheersbare stukjes om onder API-tarieflimieten te blijven. Voeg een levenscyclusplan toe. Ga verder en besluit of u ID's permanent wilt loggen, ze onmiddellijk na gebruik wilt wissen of ze tijdelijk wilt opslaan met een TTL. Automatisch schoonmaken. Stel een terugkerende taak of werkstroom in die oude ID's automatisch verwijdert. Combineer met waarschuwingen zodat u weet wanneer draden blijven hangen. Audit periodiek.Zelfs als je de bookmarklet gebruikt, maak het een gewoonte om te controleren wat er op een schema is. Het grotere beeld OpenAI kan dit oplossen met één dom en eenvoudig eindpunt: GET /v1/threads Ontwikkelaars zouden niet hoeven te schrapen, bookmarklet, of spelunk door n8n logs. totdat ze dat doen, echter, bookmarklets zoals dit zijn de duct tape die dingen in beweging houdt. That’s it. Het is absurd dat we browserhacks nodig hebben om onze eigen middelen te beheren. Het breekt het vertrouwen dat ontwikkelaars hebben in een API wanneer zo'n basic stuk functionaliteit ontbreekt. Dit is meer dan alleen een ongemak voor ontwikkelaars - het is een zichtbaarheidsprobleem. zichtbaarheid is verantwoording. Zonder het kunnen gebruikers niet bewijzen wat gegevens bestaan, kunnen ze niet met vertrouwen verwijderen en kunnen ze geen betrouwbare automatisering opbouwen. De bookmarklet is een slimme bandage, maar de wond is de opzettelijke nalatigheid van OpenAI. Wat heb ik gecreëerd? wat zit er nog? ben ik echt in controle? Wanneer we vertrouwen op hackers om onze eigen inhoud te beheren, benadrukken we gewoon hoeveel macht het platform over ons heeft en hoe weinig recurs we hebben wanneer functionaliteit wordt teruggehouden. Ja, de API van Assistants is krachtig, maar de kracht zonder bog-standaard eenvoudige zichtbaarheid is gevaarlijk.Als u serieus bent over het gebruik ervan in de productie, begin met het loggen van uw thread-ID's vanaf de eerste dag. Maar als je net als de rest van ons bent - rondlopen, snel prototypen maken en dan beseffen dat je moet opruimen - mijn bookmarklet is je Messias. Click, copy, paste, delete. Done. En misschien, misschien, zal OpenAI de hint nemen en ons het ene eindpunt geven dat elke ontwikkelaar verwacht: een manier om onze eigen middelen te vermelden. Until then, hacks like this bookmarklet aren’t just useful. They’re essential. Tot dan zijn hacks zoals deze bookmarklet niet alleen nuttig, ze zijn essentieel.