Aceste informații sunt împrăștiate prin pagini de documentație, postări pe forumuri și experiență de producție câștigată cu greu. Fiecare echipă care construiește un crawler de joburi redescoperă aceleași răspunsuri de la zero.
Repertoriul open source al Kitsuno rezolvă această problemă. Un fișier YAML per sursă. Structurat, validat și informat de experiență reală de crawl.
Ce conține repertoriul
Repertoriul agentic-job-search-eu conține un director structurat de surse de joburi accesibile din Europa. Fiecare sursă este un singur fișier YAML care urmează o schemă consecventă.
Ce documentează fiecare fișier sursă: nume, URL, acoperire geografică (țări și regiuni), metodă de acces (API public, flux RSS, scraping necesar), cerințe de autentificare, limite de debit observate, format de date, categorii tipice de joburi, frecvența de actualizare, poziția de licențiere și note de crawl din producție.
Ce înseamnă „note de crawl din producție”: nu sunt copiate din documentație. Provin de la agentul Scanner care operează în producția Kitsuno — observații reale despre comportamentul răspunsurilor, aplicarea limitelor de debit, particularitățile calității datelor și modurile de eșec. Când un fișier sursă spune „returnează 403 după 200 de cereri pe oră”, aceasta este o măsurătoare constatată, nu o presupunere.
Repertoriul a fost lansat cu peste 30 de surse acoperind agenții naționale de ocupare a forței de muncă (France Travail, NAV.no, Platsbanken, Arbeitsagentur), platforme globale (LinkedIn, Indeed, Adzuna), portaluri axate pe remote (RemoteOK, Remotive, Working Nomads), organizații umanitare (Devex, ReliefWeb, 80,000 Hours) și meta-căutare ATS pe platforme precum Greenhouse, Lever, Ashby și Workday.
Schema
Fiecare sursă urmează o schemă YAML consecventă definită în sources/_schema.yml. Schema impune câmpuri obligatorii, valori valide și consecvență structurală. Un validator Python (tools/validate.py) rulează în CI la fiecare pull request — fișierele sursă malformate sau incomplete nu pot fi integrate.
Aceasta înseamnă că repertoriul nu este doar o listă. Sunt date structurate lizibile de mașini pe care alte instrumente le pot consuma programatic. Filtrare de surse după țară? Se parsează YAML-ul. Căutarea tuturor surselor cu API-uri publice? Se interoghează câmpul de tip acces. Datele sunt concepute pentru automatizare, nu doar pentru citire.
De ce open source
Kitsuno crawlează aceste surse în producție. Publicarea repertoriului ca open source nu dezvăluie un avantaj competitiv — valoarea stă în motorul de evaluare, biblioteca de carieră și pipeline-ul cu șase agenți, nu în faptul că France Travail are un API public.
Ce aduce open source în schimb: contribuții ale comunității (surse noi, note de crawl actualizate, limite de debit corectate), credibilitate (repertoriul este verificabil) și o resursă utilă pentru ecosistemul mai larg de instrumente de carieră care se construiesc în Europa.
Licențierea este împărțită intenționat. Codul (validator, exemple, schemă) este MIT — utilizabil liber în orice scop. Datele sursă (fișiere YAML, statistici) sunt CC-BY-SA 4.0 — utilizabile liber, dar cu atribuire și partajarea îmbunătățirilor. Astfel, datele cresc în timp ce instrumentele rămân nerestricționate.
Cum se contribuie
Se face fork la repertoriu. Se creează un fișier YAML nou în sources/ urmând schema. Se rulează python tools/validate.py pentru verificarea fișierului. Se deschide un pull request cu o descriere a sursei și informații de verificare.
Contribuțiile bune includ: surse noi care nu sunt încă în repertoriu, observații de crawl actualizate din propria experiență, limite de debit sau metode de acces corectate și extinderi de acoperire (țări sau regiuni noi pentru surse existente).
Repertoriul menține o listă de dorințe cu surse cunoscute dar nedocumentate încă — printre care StepStone, Jobindex, HelloWork, Totaljobs și Karriere.at. Pull request-urile pentru acestea sunt deosebit de binevenite.
Pentru cei care construiesc
Pentru oricine construiește un instrument agentic de căutare a locurilor de muncă, un crawler de carieră sau un proiect de cercetare a pieței muncii, acest repertoriu oferă un avans. În loc de a petrece săptămâni cercetând ce surse există, cum se accesează și ce limite se aplică, se poate porni de la profiluri de surse documentate și testate în producție.
Încărcătoarele exemplu din examples/ arată cum se parsează fișierele YAML în Python și JavaScript. Schema este stabilă — fișierele sursă adăugate peste șase luni vor urma aceeași structură ca cele de azi.
Acest repertoriu este menținut de Kitsuno și comunitatea open source. Pentru metodologia din spatele utilizării acestor surse, citește Cum măsurăm semnalul pieței muncii. Pentru principiile care ghidează proiectul, citește De ce există Kitsuno.