סוכני קוד יודעים לכתוב קומפוננטות יפהפיות, עד לרגע שבו הם צריכים להתקין את ספריית העיצוב הפנימית של החברה. שם הכול נעצר. בילדים נכשלו, תהליכים נתקעו, וצוותי פיתוח נאלצו לבחור בין החרגת קוד פרטי לבין מתן הרשאות ישירות ומסוכנות למאגר. לפי ההכרזה של Vercel מאתמול, 30 בספטמבר 2026, Vercel Agent יכול להתקין תלויות פרטיות מ-npm וממאגרים חיצוניים באמצעות משתני סביבה משותפים.
השדרוג חל על פרויקטים שמריצים npm, pnpm או Yarn הקלאסי. במקום להיאבק בשגיאות התקנה, הסוכן מריץ את פקודת ההתקנה הרגילה, בזמן שפלטפורמת Vercel דואגת להזדהות מול השרתים החיצוניים.
הטוקן נשאר מחוץ לפרומפט
החשש הגדול בחיבור סוכנים עצמאיים למאגרי קוד הוא חשיפת פרטי הזדהות. אם הטוקן יושב בקובץ מקומי או במשתנה סביבה שהמודל קורא ישירות, מוקדם או מאוחר הוא יפלוט אותו לתוך פרומפט, קוד או לוגים. Vercel פתרה את זה ברמת התשתית: ההזדהות מתבצעת ברמת הרשת בלבד, מחוץ לסביבת הריצה המבודדת של הסוכן.
פרטי ההזדהות נשארים מחוץ לסנדבוקס, כך שהסוכן ותהליכי הסנדבוקס אינם יכולים לקרוא אותם.דוקומנטציית Vercel
ערכי המפתחות שלכם מעולם לא מגיעים למודל השפה, אלא מוזרקים לתעבורת הרשת בזמן משיכת החבילות.
הגישה הזו מאפשרת להריץ משימות מורכבות בלי לחשוש מתקיפת Prompt Injection שתחלץ את המפתח הפנימי של הארגון.
ההיררכיה שקובעת מי מזדהה
כדי להפעיל את התמיכה, משתמשים במנגנון של משתני סביבה משותפים ברמת הצוות. אם החבילות יושבות ישירות ברג'יסטרי הרשמי של npm, די בהגדרת המשתנה NPM_TOKEN. עבור צוותים שמחזיקים ספריות בתוך GitHub Packages או JFrog Artifactory, הפתרון הוא NPM_RC שמכיל את תצורת הרג'יסטרי המלאה.
בישראל, שבה מרכזי פיתוח רבים מנהלים שרתי JFrog Artifactory מקומיים או בענן, מדובר בהבדל מעשי. ה-NPM_RC מאפשר להגדיר כתובות ספציפיות לפי scope, ולקשר משתנים נוספים כמו ARTIFACTORY_TOKEN באותה סביבה. אם שניהם מוגדרים, NPM_RC מקבל עדיפות ודורס את NPM_TOKEN.
אם תרצו לתת לסוכן הרשאות קריאה מצומצמות יותר מאשר לבילד הראשי, בדיוק בשביל זה קיימים משתני דריסה ייעודיים: VERCEL_AGENT_NPM_RC ו-VERCEL_AGENT_NPM_TOKEN. המערכת בודקת אותם ראשונים. כדי לחסום לחלוטין גישה לסוכן בלי לפגוע בתהליך הבנייה של האתר, אפשר להגדיר את VERCEL_AGENT_NPM_RC כמחרוזת ריקה.
| שם המשתנה | ייעוד עיקרי | עדיפות בסוכן | דורש הגדרה ברמת |
|---|---|---|---|
| VERCEL_AGENT_NPM_RC | תצורת מאגרים מותאמת אישית המיועדת לסוכן בלבד | ראשונה (עליונה) | צוות (Shared) |
| VERCEL_AGENT_NPM_TOKEN | טוקן גישה ל-npm הרשמי המיועד לסוכן בלבד | שנייה | צוות (Shared) |
| NPM_RC | תצורת מאגרים מותאמת עבור תהליכי בנייה וסוכן | שלישית | צוות (Shared) |
| NPM_TOKEN | טוקן גישה כללי ל-npm עבור תהליכי בנייה וסוכן | רביעית (ברירת מחדל) | צוות (Shared) |
איפה הגבול של האוטומציה
אבל לא כל תרחיש נתמך. הדוקומנטציה מבהירה שהסוכן קורא אך ורק משתני סביבה משותפים ברמת הצוות. משתנה סביבה שהוגדר בתוך פרויקט בודד אינו נלקח בחשבון. המשמעות ברורה: חשבונות Hobby חינמיים, שלא כוללים תמיכה במשתנים משותפים, פשוט נשארים בחוץ כרגע.
יש כאן גם מגבלת רשת: כתובות המאגרים חייבות לפעול מעל HTTPS תקין עם שם DNS רשמי, ללא פורטים מותאמים אישית. מאגר מקומי שסגור לחלוטין ברשת ארגונית פנימית ללא כתובת חיצונית יישאר חסום. בנוסף, המנגנון תומך בהזדהות טוקן ו-Basic Auth בלבד, ולא בתעודות לקוח (Client Certificates).
המערכת מוגבלת להורדת חבילות בלבד. הסוכן לא יפרסם גרסה חדשה לרג'יסטרי ולא ינהל הרשאות משתמשים. מי שעובד עם Yarn Berry או Bun יגלה שהתמיכה הרשמית מוגבלת בשלב זה ל-npm, pnpm ו-Yarn הקלאסי.
איך להגדיר בלי להסתבך
ההטמעה מתבצעת בלוח הבקרה: נכנסים להגדרות הצוות ב-Vercel, בוחרים בלשונית משתני הסביבה ויוצרים Shared Environment Variable חדש. המפתח יהיה NPM_TOKEN או NPM_RC, ואת הערך מעתיקים מההגדרות הארגוניות.
שימו לב לסביבות: חובה לבחור ב-Development או ב-Preview. הסוכן בודק קודם את Development, ורק אם אינו מוצא הגדרה מתאימה הוא פונה ל-Preview. משתנים שהוגדרו ל-Production בלבד יזכו להתעלמות מוחלטת מצד הסוכן.
אין צורך לשייך ידנית את המשתנה המשותף לכל פרויקט. הסוכן מזהה אותו אוטומטית ברמת הצוות.
כל מה שנותר זה לתת לו משימה שכוללת התקנת חבילה פנימית, ולראות את ההתקנה מסתיימת בשקט במקום בעוד הודעת שגיאה אדומה. בינתיים, החבילות יורדות והטוקנים שלכם לא נשפכים לתוך שום מודל.
מקורות
- Vercel Agent now installs private packages from npm and custom registrieshttps://vercel.com/changelog/vercel-agent-now-installs-private-packages-from-npm-and-custom-registries
- Shared environment variableshttps://vercel.com/docs/environment-variables/shared-environment-variables
- Private Dependencieshttps://vercel.com/docs/agent/private-dependencies
- Vercelhttps://weba.co.il/tools/vercel/
הידיעה נכתבה מהמקורות שלמעלה בתאריך הפרסום, וכל טענה בה נבדקה מולם. מצאתם טעות? כתבו.