Parita takaisin ne vaaralliset johdotunnukset Handy Bookmarkletilla 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. Ei ole API-päätepisteitä, joilla voit luetella thread ID:t. Ei mitään, ei mitään Voit luoda linkin ( ) on POST /v1/threads Voit hakea viivaa, jos tiedät jo sen tunnisteen ( ) on GET /v1/threads/{id} Voit jopa poistaa yhden ( ) on DELETE /v1/threads/{id} Jos haluat yksinkertaisen luetella kaikki luomasi viivat? Sitä ei ole olemassa, ja tämän yksittäisen päätepisteen puuttuminen muuttaa kaiken siitä, miten rakennat tämän alustan päälle. GET /v1/threads Forget it. Se, että tällainen perusosa CRUD-syklistä puuttuu, saa kehittäjät tuntemaan, että he työskentelevät sokeasti. Tämä suunnitteluvaihtoehto tuntuu tarkoitukselliselta. OpenAI haluaa työntää sitkeyttä takaisin sinuun: "Se on sinun vastuullasi tallentaa thread IDs." But half the time we’re just prototyping so: Meillä ei ole tietokantataulukkoa viivoille. Emme halua rakentaa datastoreputkea vain idean testaamiseksi. Haluamme vain laukaista joukon testiviivoja, nähdä, mitä tapahtuu ja siirtyä eteenpäin. Ja sitten tulee päivä, jolloin huomaat, että olet tuottanut satoja (tai kymmeniä tuhansia mittakaavasta riippuen) säikeitä, ja nyt sinun on puhdistettava ne, tarkistettava ne tai yksinkertaisesti vahvistettava, mitä on olemassa. Se on silloin, kun osut seinään etkä voi edes nähdä, mitä olet luonut. Mitä enemmän ajattelet sitä, sitä enemmän ymmärrät, että tämä on näkyvyysongelma, joka vaikuttaa kaikkeen debuggingista noudattamiseen. The Gap OpenAI jättää laajan avoimen Every sane API platform in the known universe usually has a list endpoint. Se on perustavanlaatuisin CRUD-elinkaari – luo, lue, päivitä, poista. ”R” ei tarkoita vain yhden tietueen keräämistä, vaan myös niiden luettelointia. Kehittäjät odottavat pystyvänsä kysymään, Jättämällä sen pois, OpenAI pakottaa sinut kirjautumaan ja tallentamaan tunnuksia ensimmäisestä päivästä lähtien - tai riski menettää jälkensä kokonaan. ”Mitä on olemassa?” 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. Vähemmän luettelon päätepisteitä tarkoittaa vähemmän vastuuvelvollisuutta siitä, mitä tietoja on edelleen niiden puolella. Ilman luettelon päätepistettä et voi tarkistaa käyttöä. Et voi helposti puhdistaa pysyviä kokeita. Elinkaaren hallintaa ei voi automatisoida. Sinut jätetään pimeyteen, odotetaan luottavan omiin lokeihisi eikä koskaan kysy, mitä siellä istuu. Oli kyse sitten turvallisuudesta, yksityisyydestä tai vain API-pinnan pienentämisestä, tulos on sama: Tämä poissaolo ei aiheuta vain epämukavuutta – se luo epäluottamusta. Se tekee kehittäjistä toissijaisia arvauksia siitä, ovatko he todella hallinnassa siitä, mitä he luovat. we can’t list our own threads. Varasta luettelon päätepisteitä takaisin OpenAI: sta selaimellasi ja My Simple JavaScript Bookmarkletilla If OpenAI won’t give us a list endpoint, well, we’ll just have to pull up our pants and scrape the goddamn thing. Mutta sen sijaan, että rakennettaisiin jotain tyhmää erityistä työkalua käyttämällä päätöntä työnkulkuagenttia, ja enemmän kuin oikein muistat... Sinulla on jo täydellinen työkalu. Pythonia Sinun selaimesi ja nöyrä JavaScript-kirjanmerkki. Bookmarklet on vain selaimen kirjanmerkki, joka käyttää JavaScriptia sivua vastaan.Ja jos katsot selaimen API-vastauspäiväkirjoja, sinulla on jo kaikki tarvitsemasi thread-tunnukset - ne on vain haudattu tekstiin. Mutta paras asia on, että kirjanmerkki ei välitä siitä, onko sivu muotoiltu tai kaunis. Se on lähinnä "köyhän miehen luettelon päätepiste". 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!")); })(); Lisää se selaimen kirjanmerkin URL-osoitteeksi, napsauta sitä millä tahansa sivulla, jossa viivakoodit näkyvät, ja boom: jokainen string kaavataan, deduplikoidaan ja kopioidaan levytauluun. thread_... Ei plugins. Ei laajennuksia. Ei dev-työkaluja voimistelu. Vain yksi klikkaus. So yes, it takes a little time… Säästäminen Lataa lisää Säästäminen Lataa lisää Mutta kun olet päässyt loppuun (tai haluttuun pituuteen), voit vain napsauttaa yllä olevaa tallennettua kirjanmerkkiä ... ja levittää yhden siististi kopioidun listan viivakoodin tunnuksia, jotta voit tehdä mitä haluat. Miksi sillä on väliä This isn’t only a neat, functional hack. It’s a reminder of the gap between developer needs and API design. Olemme tottuneet läpinäkyviin, täyden elinkaaren API-sovelluksiin.OpenAI: n päätös jättää viivaluettelot pois tuntuu tummalta mallilta, mikä vaikeuttaa meitä näkemään, mikä kerääntyy taustalla. Riippumatta siitä, pitävätkö he näitä tietoja vai eivät, se on poikkeuksellista – sillä on merkitystä, että Emme voi tarkistaa sitä itse. Jos rakennat säänneltyä tuotetta, jossa tarkastettavuus on tärkeää, et kirjaimellisesti voi todistaa, mitkä säikeet olet kääntänyt. Jos kokeilet, olet taattu luomaan sotkua, jota et näe. Bookmarklet on tapa palauttaa näkyvyys. Se ei korjaa puuttuvaa API: tä, mutta se antaa sinulle viraston. Yhdellä napsautuksella voit nähdä jokaisen viivan tunnisteen, joka on näkyvissä lokeissasi, clipboardata ne ja pyyhkiä ne irtotavarana poistettuun virtaan. Se myös uudistaa suhdetta: kehittäjien ei pitäisi luottaa hakkerointiin saadakseen tietoa omista resursseistaan.Tämä on merkki siitä, että foorumi ei palvele käyttäjiään niin hyvin kuin se voisi. Mitä tehdä, kun sinulla on Thread ID: t Liitä ne tekstitiedostoon, Google Sheet, mitä tahansa. Säilytä ne viittaukseksi, lajittele ja liitä tarvittaessa. Käytä HTTP-pyyntöä kunkin tunnuksen ylittämiseen ja soita DELETE /v1/threads/{id}. Nuke kaikki. Jos et enää tarvitse näitä säikeitä, pyyhi ne pois ja nukkua paremmin tietäen, että ne ovat poissa. Päätä eteenpäin, haluatko kirjautua tunnuksiin pysyvästi, poistaa ne välittömästi käytön jälkeen tai tallentaa ne tilapäisesti TTL:llä. Automatisoi puhdistus. Aseta toistuva tehtävä tai työnkulku, joka poistaa vanhat tunnukset automaattisesti. Yhdistä hälytykset, jotta tiedät, milloin säikeet ovat ripustettuina. Tarkista säännöllisesti.Jos käytät kirjanmerkkiä, tee siitä tapana tarkistaa, mitä on aikataulussa. Suurempi kuva OpenAI voisi ratkaista tämän yhdellä typerästi yksinkertaisella päätepisteellä: GET /v1/threads Kehittäjien ei tarvitse kaavata, kirjanmerkkejä tai pelata n8n-päiväkirjojen kautta. Kunnes he tekevät, kirjanmerkit, kuten tämä, ovat kanavan nauha, joka pitää asiat liikkeessä. That’s it. On absurdia, että tarvitsemme selaimen hakkerointeja hallitsemaan omia resurssejamme. Se rikkoo luottamusta, jota kehittäjillä on API: ssa, kun tällainen perustoiminto puuttuu. Tämä ei ole pelkästään kehittäjän haittaa – se on näkyvyysongelma. Näkyvyys on vastuuvelvollisuus. Ilman sitä käyttäjät eivät voi todistaa, mitä tietoja on olemassa, eivät voi poistaa luottavaisesti eivätkä rakentaa luotettavaa automaatiota. Bookmarklet on älykäs sidos, mutta haava on OpenAI: n tarkoituksellinen laiminlyönti. Mitä olen luonut?Mitä siellä vielä istuu?Olenko todella hallinnassa? Kun luotamme hakkerointiin omien sisältöjemme hallitsemiseksi, korostamme, kuinka paljon valtaa alustalla on meitä kohtaan ja kuinka vähän turvautumista meillä on, kun toiminnallisuus pidätetään. Kyllä, Assistants-API on tehokas, mutta virta ilman bog-standardin yksinkertaista näkyvyyttä on vaarallista.Jos olet tosissasi sen käytöstä tuotannossa, aloita viivojen tunnisteiden kirjaaminen ensimmäisestä päivästä. Mutta jos olet kuin muut meistä - sotku ympärillä, nopeasti prototyyppiä, ja sitten ymmärtää, että sinun täytyy puhdistaa - minun kirjanmerkki on sinun messiaan. Click, copy, paste, delete. Done. Ja ehkä, ehkäpä, OpenAI ottaa vihjeen ja antaa meille yhden päätepisteen jokainen kehittäjä odottaa: tapa luetella omia resurssejamme. Until then, hacks like this bookmarklet aren’t just useful. They’re essential. Tähän mennessä hakkerit, kuten tämä kirjanmerkki, eivät ole vain hyödyllisiä.