Recuperar aquells ID de filferro pesat amb un marcador mòbil 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. No hi ha cap punt final d'API per enumerar els teus ids de filferro. No hi ha res, no hi ha res. Es pot crear un thread ( ) i POST /v1/threads Podeu descarregar un filtre si ja coneixeu la seva ID ( ) i GET /v1/threads/{id} Fins i tot es pot eliminar una ( ) i DELETE /v1/threads/{id} Si vols una simple per enumerar tots els trams que heu creat? No existeix, i l'absència d'aquest únic punt final canvia tot sobre com es construeix sobre aquesta plataforma. GET /v1/threads Forget it. El fet que falti una peça tan bàsica del cicle CRUD fa que els desenvolupadors se sentin com si estiguessin treballant cegament. Aquesta elecció de disseny se sent intencionada. OpenAI vol empènyer la persistència en tu: “És la teva responsabilitat emmagatzemar ids de filferro.” But half the time we’re just prototyping so: No tenim una taula de bases de dades per a threads. No volem construir un gasoducte d'emmagatzematge de dades només per provar una idea. Només volem disparar un munt de fils de prova, veure què passa i seguir endavant. I llavors arriba el dia en què t’adones que has generat centenars (o desenes de milers, depenent de l’escala) de fils, i ara has de netejar-los, auditar-los, o simplement confirmar el que existeix. És quan et toques a la paret i ni tan sols pots veure el que has creat. Com més ho penses, més t'adones que aquest és un problema de visibilitat que afecta a tot, des de la depuració fins al compliment. La bretxa oberta deixa obert Every sane API platform in the known universe usually has a list endpoint. És el cicle de vida CRUD més bàsic - Crear, Llegir, Actualitzar, Esborrar. i el "R" no es tracta només de recollir un registre, sinó també d'enumerar-los. Els desenvolupadors esperen poder preguntar, En deixar-ho fora, OpenAI eficaçment et obliga a registrar i emmagatzemar ID des del primer dia - o el risc de perdre el rastre completament. “Què existeix?” 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. Menys punts finals de la llista significa menys responsabilitat per les dades que encara existeixen al seu costat. Sense un punt final d'enumeració, no es pot auditar l'ús. No es pot netejar fàcilment els experiments estables. No es pot automatitzar la gestió del cicle de vida. Et quedes a la foscor, esperant confiar en els teus propis registres i mai preguntar què hi està assegut. Tant si es tracta de seguretat, privacitat o simplement mantenir la superfície de l'API més petita, el resultat és el mateix: Aquesta absència no només causa inconvenients, sinó que crea desconfiança, fent que els desenvolupadors s'adonin si realment tenen el control del que creen. we can’t list our own threads. Roba els punts finals de la llista d'OpenAI amb el teu navegador i My Simple 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. Però en comptes de construir alguna eina estúpidament específica utilitzant un agent de flux de treball sense cap, i més Més que recordis bé... ja tens l’eina perfecta. Python El seu navegador, i un humil JavaScript bookmarklet. Un bookmarklet és només un marcador de navegador que executa JavaScript contra la pàgina en la qual es troba.I si estàs mirant els registres de resposta de l'API en el navegador, ja tens tots els ids de fil que necessites - només estan enterrats en el text. Però el millor és que el bookmarklet no importa si la pàgina està formatada o bonica. És el més proper a un “endpoint de la llista de pobres”. 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!")); })(); Afegir-lo com l'URL d'un marcador de navegador, fer clic en qualsevol pàgina on apareguin els ID de filferro, i esclatar: cada La cadena es raspa, deduplica i copia al seu clipboard. thread_... No hi ha plugins. No hi ha extensions. No hi ha eines de gimnàstica. Només un clic. So yes, it takes a little time… Escollit Carregar més Escollit Carregar més Però una vegada que arribi al final (o la seva longitud desitjada), només pot fer clic al marcador guardat més amunt ... i esclatar una llista ordenadament copiada d'ID de filferro per fer amb el que vulgui. Per què això importa This isn’t only a neat, functional hack. It’s a reminder of the gap between developer needs and API design. La decisió d'OpenAI d'abandonar la llista de fils se sent com un patró fosc, fent que sigui més difícil per a nosaltres veure el que s'acumula en el fons. Si mantenen aquestes dades o no està més enllà del punt - el que importa és que No ho podem comprovar nosaltres mateixos. Si estàs construint un producte regulat on l'auditabilitat és important, literalment no pots demostrar quins fils has esquitxat. Si estàs experimentant, estàs garantit per crear una confusió que no pots veure. El bookmarklet és una manera de recuperar aquesta visibilitat. No corregir l'API que falta, però li dóna l'agència. Amb un clic, es pot veure cada ID de filferro visible en els seus registres, clipboard-los, i conduir-los a un flux de supressió en massa. També reafirma la relació: els desenvolupadors no haurien de confiar en els hackers per obtenir informació sobre els seus propis recursos. Això és un senyal que la plataforma no està servint als seus usuaris tan bé com podria. Què fer una vegada que tinguis els teus ids de filferro Poseu-les en un arxiu de text, Google Sheet, el que sigui. Guardar-les per a referència, ordenar i deduir si cal. Utilitza una sol·licitud HTTP per bufar sobre cada ID i trucar a DELETE /v1/threads/{id}. Nuke tot. Si ja no necessiteu aquests fils, esborreu-los i dormiu millor sabent que han desaparegut. A continuació, decideix si vols registrar els ID permanentment, netejar-los immediatament després d'utilitzar-los o emmagatzemar-los temporalment amb un TTL. Automatitzar la neteja. Configureu una tasca o flux de treball recurrent que esborri automàticament ids vells. Combineu amb alertes perquè sàpiga quan es deixen penjar els fils. Fins i tot si utilitzeu el bookmarklet, feu-ne un hàbit per comprovar el que hi ha en un horari. La imatge més gran OpenAI podria resoldre això amb un punt final estúpidament simple: GET /v1/threads Els desenvolupadors no haurien de raspallar, bookmarklet, o spelunk a través de registres n8n. Fins que ho facin, però, bookmarklets com aquest són la cinta de conducte que manté les coses en moviment. That’s it. És absurd que necessitem hacks del navegador per gestionar els nostres propis recursos. Es trenca la confiança que els desenvolupadors tenen en una API quan falta una peça bàsica de funcionalitat. no hauríem de ser obligats a inventar rondes de treball per a què haurien de ser les apostes de taula. Això és més que un inconvenient per als desenvolupadors, és un problema de visibilitat. La visibilitat és responsabilitat. Sense ella, els usuaris no poden demostrar quines dades existeixen, no poden esborrar amb confiança i no poden construir una automatització fiable. El bookmarklet és un bandatge intel·ligent, però la ferida és l'omissió deliberada d'OpenAI. Què he creat? què hi ha encara assegut?Estem realment en control? Quan confiem en els hackers per gestionar el nostre propi contingut, destaquem el poder que la plataforma té sobre nosaltres i el poc recurs que tenim quan es reté la funcionalitat. Sí, l'API d'Assistents és potent, però la potència sense la visibilitat simple estàndard és perillosa. Si vostè és seriós sobre l'ús en la producció, començar a registrar els seus ID de filferro des del primer dia. Però si vostè és com la resta de nosaltres - molestar al voltant, prototyping ràpidament, i després s'adona que vostè necessita netejar - el meu bookmarklet és el seu messies. Click, copy, paste, delete. Done. I potser, només potser, OpenAI prendrà la pista i ens donarà l'únic punt final que tots els desenvolupadors esperen: una manera d'enumerar els nostres propis recursos. Until then, hacks like this bookmarklet aren’t just useful. They’re essential. Fins llavors, els hack com aquest bookmarklet no només són útils.