הגדרת שער ארגוני ל-Google Antigravity

במסמך הזה מוסבר לאדמינים ולאדריכלי אבטחה איך לפרוס ולהגדיר שער ארגוני ל-Google Antigravity.

ארגונים בתעשיות מפוקחות בדרך כלל שומרים על אמצעי בקרה קפדניים ברשת, שמונעים מתחנות עבודה של מפתחים ליצור חיבורי אינטרנט ישירים לשירותים חיצוניים או להשלים כניסה אינטראקטיבית ל-Google דרך הדפדפן.

‫Antigravity Enterprise Gateway מאפשר לנתב את התנועה של Antigravity דרך שער ארגוני שמופעל על ידי הארגון שלכם, לפני שהבקשות להסקת מסקנות מועברות ל-Google. הארכיטקטורה הזו מנתבת בקשות להסקת מסקנות של מודלים דרך השער שלכם ומסירה את הכניסה האינטראקטיבית, תוך שמירה על שיוך החיוב בחוזה של Gemini Enterprise.

סקירה כללית

כשמגדירים את Antigravity Enterprise Gateway, תחנות העבודה של המפתחים מתקשרות עם השער הארגוני במקום להתחבר ישירות ל-Google. המפתחים מאמתים את השער באמצעות מפתח API שהשער מנפיק, כך ש-Antigravity לא מבקש מהם להיכנס לחשבון Google בנפרד. לאחר מכן, השער משתמש בחשבון שירות מרכזי שלGoogle Cloud כדי לאמת ולהעביר בקשות של Antigravity ל-Google.

‫Antigravity מצרף באופן אוטומטי כותרות של שיוך לקוח כדי לזהות הנחיות לצ'אט של מפתחים ותהליכי עבודה של Agentic Workflows. כדי לוודא שהשימוש במודל הזה מזוהה ומחויב במסגרת ההסכם הקיים של הארגון עם Gemini Enterprise, ולא מחויב כצריכת API גולמית לא מחויבת, השער חייב לשמור ולהעביר את כותרות Antigravity הבאות אל Google:

  • User-Agent: Antigravity פולט באופן אוטומטי כותרת זיהוי:

    User-Agent: antigravity/VERSION (aidev_client; auth_method=gateway)
    
  • ‫X-Goog-Api-Client: מזהה את זמן הריצה של לקוח Antigravity ואת נתוני הטלמטריה של ה-SDK, כדי ש-Google תזכה את הפעילות בפריסה הארגונית שלכם ברישיון.

כלים וגרסאות נתמכים

‫Antigravity Enterprise Gateway תומך בכלים הבאים למפתחי AI:

כלי גרסת מינימום פלטפורמות נתמכות
אפליקציית Antigravity
  • ‫2.15.0 ואילך
‫macOS,‏ Windows ו-Linux
‫Antigravity CLI ‏ (agy)
  • ‫1.2.15 ואילך
‫macOS ו-Linux
‫Antigravity לסביבות פיתוח משולבות (IDE)
  • ‫Visual Studio Code ו-Visual Studio: גרסה 1.2.15 ומעלה של Antigravity CLI, שהתוסף מוריד ומעדכן באופן אוטומטי.
  • ‫JetBrains IDEs ו-Zed (עם שרת ACP): גרסה 1.3.0 ואילך
‫Visual Studio Code,‏ Visual Studio,‏ JetBrains IDEs ו-Zed. מידע נוסף זמין במאמר תוספים ל-Antigravity IDE.

לפני שמתחילים

לפני שפורסים את השער, צריך לוודא שיש לכם את הפרטים הבאים:

  • פרויקט ב-Google Cloud: Google Cloud פרויקט עם גישה ל-Gemini Enterprise Agent Platform (לשעבר Vertex AI) ועם Gemini Enterprise Agent Platform API‏ (aiplatform.googleapis.com) מופעל. כדי לפרוס את השער הארגוני לא צריך חשבון לחיוב ב-Cloud שמחויב באמצעות חשבונית. כל מי שיש לו גישה ל-Gemini Enterprise Agent Platform יכול להשתמש בשער.
  • חשבון שירות: Google Cloud חשבון שירות בפרויקט שלכם שקיבל את התפקיד roles/aiplatform.user ב-IAM. השער משתמש בחשבון השירות הזה כדי לאמת בקשות של Antigravity אל Google Cloud.
  • יומני ביקורת של גישה לנתונים: כדי לאמת את שיוך החיוב ב-Cloud Logging, מפעילים את יומני הביקורת של גישה לנתונים ב-Gemini Enterprise Agent Platform API. למידע נוסף, ראה הפעלת יומני ביקורת של בקרת הרשאות גישה לנתונים.
  • גרסאות נתמכות של לקוחות: המפתחים חייבים להשתמש בגרסה נתמכת של כל כלי של Antigravity. מידע נוסף זמין במאמר כלי Antigravity נתמכים.

פריסת השער הארגוני

אתם יכולים לארח את שער הארגון באמצעות כל פלטפורמה מנוהלת או בקונטיינר, כמו Cloud Run,‏ Envoy,‏ LiteLLM או Apigee.

השער צריך לעמוד בשלוש דרישות תשתית:

  1. ‫Preserve client attribution headers: העברת כותרות נכנסות של לקוחות ל-Google ללא שינוי, כולל User-Agent,‏ X-Goog-Api-Client וכל כותרת בהתאמה אישית שהוגדרה ב-gateway.customHeaders (כמו X-Cost-Center).

    לקוחות Antigravity לא שולחים מידע על פרויקטים של Google Cloud במצב שער. אם השער מעביר בקשות לפרויקט אחר, ולא לפרויקט שמכיל את חשבון השירות של השער, צריך להגדיר את השער כך שיזריק את הכותרת X-Goog-User-Project עם מזהה פרויקט היעד לצורך שיוך החיוב והמכסה.

  2. תמיכה בסטרימינג ללא מאגר נתונים זמני (buffer): צריך לרוקן את הנתונים של Server-Sent Events‏ (SSE) מיד כשמעבדים בקשות סטרימינג (:streamGenerateContent?alt=sse). אל תאחסנו נתונים במאגר זמני בשכבת השער.

  3. אישור נקודות קצה (endpoint) של נתוני טלמטריה: מגיבים עם HTTP 200 OK ({}) לקריאות של מדדים ברקע (POST /v1beta:*), או מעבירים אותן למערכת ניהול אבטחת המידע והאירועים (SIEM).

נתיבי בקשות חובה

השער צריך לנתב את נתיבי ההסקה הבאים. הנתיבים הם יחסיים לכתובת ה-URL של השער. לדוגמה, בקשת סטרימינג אל https://gateway.cymbal.com משתמשת ב-https://gateway.cymbal.com/v1beta/models/MODEL_ID:streamGenerateContent?alt=sse.

  • הסקה בסטרימינג: POST /v1beta/models/MODEL_ID:streamGenerateContent?alt=sse
  • הסקה אונרית: POST /v1beta/models/MODEL_ID:generateContent

השער צריך גם לקבל את הנתיבים המלאים המקבילים של Gemini Enterprise Agent Platform:

  • הסקה בסטרימינג: POST /v1beta1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_ID:streamGenerateContent?alt=sse
  • הסקה אונרית: POST /v1beta1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_ID:generateContent

גופי הבקשות משתמשים בסכימת ה-JSON הרגילה של generateContent (contents, generationConfig, safetySettings ו-systemInstruction).

פרוטוקולי תקשורת נתמכים

‫Antigravity Enterprise Gateway תומך בשני פרוטוקולי תקשורת לבקשות להסקת מסקנות:

  • פרוטוקול Gemini‏ (genai): פרוטוקול ברירת המחדל. ‫Antigravity שולחת בקשות להסקת מסקנות בפורמט של סכימת generateContent של Google לנקודות הקצה (endpoints) של POST /v1beta/models/... שתיארנו קודם.
  • ‫פרוטוקול OpenAI‏ (openai): כשמגדירים את gateway.wireProtocol לערך openai (או מגדירים את AGY_LLM_GATEWAY_WIRE_PROTOCOL=openai), Antigravity מעצב את בקשות ההסקה בפרוטוקול OpenAI Chat Completions ושולח אותן אל POST /v1/chat/completions.

אימות בקשות לשער

‫Antigravity מאמת את השער באמצעות מפתח API שהשער מנפיק. ‫Antigravity שולח את המפתח מ-gateway.apiKey (או ממשתנה הסביבה AGY_LLM_GATEWAY_API_KEY) בתור טוקן למוכ"ז בכותרת Authorization:

Authorization: Bearer GATEWAY_API_KEY

‫Antigravity לא מקבלת פרטי כניסה, אסימוני OAuth או אישורי לקוח בשם המפתחים. Google Cloud השער חייב לאמת כל בקשה ולדחות בקשות שלא מציגות מפתח חוקי.

מכיוון שמפתח ה-API מאוחסן בתחנות עבודה של מפתחים, צריך לשלב אותו עם אמצעי בקרה ברמת הרשת:

  • שמירה על השער פרטי: חושפים את השער רק ברשת הארגונית, למשל באמצעות מאזן עומסים של אפליקציות פנימי, שתחנות העבודה מגיעות אליו דרך Cloud VPN או Cloud Interconnect. אל תגדירו נקודת קצה ציבורית לשער.
  • הגבלת המכשירים שיכולים להתחבר: מאפשרים חיבורים רק מתחנות עבודה מנוהלות, למשל באמצעות כללי חומת אש, שרת proxy לגישה לרשת בגישת אבטחה של אפס אמון או בדיקות של מצב המכשיר.
  • הגנה על מפתחות והחלפה שלהם: מאחסנים את המפתחות ב-Secret Manager, מאמתים אותם בכל בקשה ומחליפים אותם באופן קבוע. כדי לשייך את השימוש למפתחים ספציפיים, צריך להנפיק מפתח נפרד לכל מפתח.

מידע נוסף זמין במאמר שיקולי אבטחה.

חיבור השער ל-Gemini Enterprise Agent Platform

שער ה-API שולח קריאה ל-Gemini Enterprise Agent Platform API באמצעות חשבון שירות ב- Google Cloud . אתם יכולים לבנות את השער בשער API מנוהל כמו Apigee, או לפרוס שער כמו Envoy או LiteLLM בתשתית שלכם.

  1. מפעילים את ממשקי ה-API הנדרשים:

    gcloud services enable \
      aiplatform.googleapis.com \
      secretmanager.googleapis.com \
      --project=PROJECT_ID
    

    מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud .

  2. יוצרים חשבון שירות לשער ונותנים לו את התפקיד roles/aiplatform.user:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --project=PROJECT_ID \
      --display-name="Antigravity Enterprise Gateway"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/aiplatform.user"
    

    מחליפים את SERVICE_ACCOUNT_NAME בשם שרוצים לתת לחשבון השירות, למשל agy-gateway-sa.

  3. יוצרים מפתח API לשער, מאחסנים אותו ב-Secret Manager ומאפשרים לחשבון השירות לקרוא אותו:

    openssl rand -base64 32 | tr -d '\n' | gcloud secrets create SECRET_NAME \
      --project=PROJECT_ID \
      --data-file=-
    
    gcloud secrets add-iam-policy-binding SECRET_NAME \
      --project=PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \
      --role="roles/secretmanager.secretAccessor"
    

    מחליפים את SECRET_NAME בשם של הסוד, למשל agy-gateway-api-key. אתם מפיצים את המפתח הזה לתחנות עבודה בתור gateway.apiKey ב-admin_settings.json.

  4. מגדירים את השער כך שיבצע את הפעולות הבאות:

    • מאמתים את Gemini Enterprise Agent Platform בתור חשבון השירות.
    • קוראים את מפתח ה-API מ-Secret Manager ודוחים בקשות שלא מציגות אותו.
    • כדאי לאפשר לבקשות לפעול במשך 60 דקות לפחות, כדי שתגובות סטרימינג ארוכות לא ייקטעו.

כדי לוודא שהשער פועל לפני שמגדירים את תחנות העבודה, עיינו בקטע בדיקת השער ישירות.

פריסת הגדרות באמצעות MDM

כדי להגדיר את תחנות העבודה של המפתחים באופן מרוכז, פורסים את קובץ התצורה של admin_settings.json באמצעות המערכת לניהול מכשירים ניידים (MDM), כמו Jamf,‏ Microsoft Intune,‏ Ansible או Google Workspace MDM.

‫Antigravity קורא את admin_settings.json מנתיבי מערכת ההפעלה הבאים:

  • macOS: /Library/Application Support/Antigravity/admin_settings.json
  • Linux: /etc/antigravity/admin_settings.json
  • Windows: %ProgramData%\Antigravity\admin_settings.json

כדי לפרוס את קובץ ההגדרות:

  1. יוצרים קובץ admin_settings.json עם כתובת ה-URL של השער, מפתח ה-API והמודלים שאושרו. לדוגמה, ראו דוגמה להגדרה.
  2. במערכת ה-MDM, יוצרים חבילה, מדיניות או סקריפט שמעתיקים את הקובץ לנתיב של כל אחת ממערכות ההפעלה המיועדות. מריצים אותו עם הרשאות אדמין כדי שהקובץ יהיה בבעלות של חשבון אדמין, ומפתחים יוכלו לקרוא אותו אבל לא לשנות אותו. לדוגמה, הסקריפט של ה-MDM יכול להריץ את הפקודות הבאות:

    macOS

    במעטפת, מריצים את הפקודות הבאות כאדמין:

    sudo mkdir -p "/Library/Application Support/Antigravity"
    sudo install -m 644 -o root -g wheel admin_settings.json \
    "/Library/Application Support/Antigravity/admin_settings.json"

    Linux

    במעטפת, מריצים את הפקודות הבאות כאדמין:

    sudo install -D -m 644 -o root -g root admin_settings.json \
    /etc/antigravity/admin_settings.json

    Windows

    ב-PowerShell, מריצים את הפקודות הבאות כאדמינים:

    $dir = Join-Path $env:ProgramData "Antigravity"
    # Remove any folder that a non-admin created first, so they can't keep ownership.
    if (Test-Path $dir) { Remove-Item -Recurse -Force $dir }
    New-Item -ItemType Directory -Path $dir | Out-Null
    # Administrators own the folder; only admins and SYSTEM can write; users can read.
    icacls $dir /setowner "*S-1-5-32-544"
    icacls $dir /inheritance:r /grant:r "*S-1-5-32-544:(OI)(CI)F" "*S-1-5-18:(OI)(CI)F" "*S-1-5-32-545:(OI)(CI)RX"
    Copy-Item admin_settings.json (Join-Path $dir "admin_settings.json")

    הפקודות האלה מאפשרות לכל המשתמשים לקרוא את התיקייה והקובץ, ורק לאדמינים לכתוב בהם.

  3. מקצים את החבילה או המדיניות למכשירים או לקבוצות המכשירים שמשתמשים ב-Antigravity.

  4. מפעילים מחדש את Antigravity בתחנות העבודה כדי שההגדרות החדשות ייטענו.

  5. כדי לוודא שתחנות העבודה מתחברות לשער, קראו את המאמר אימות חיבורי לקוחות.

סדר העדיפויות של ההגדרות

‫Antigravity קורא את הגדרות השער משלושה מקורות. אם אותה הגדרה מוגדרת ביותר ממקור אחד, המקור עם העדיפות הגבוהה יותר מנצח:

  1. קובץ הגדרות של האדמין (הכי גבוה): admin_settings.json נפרס על ידי מערכת ה-MDM.
  2. משתני סביבה: משתני AGY_LLM_GATEWAY_* שמוגדרים בתחנת העבודה. איך מחברים את Antigravity לשער ארגוני
  3. קובץ הגדרות המשתמש (הנמוכה ביותר): ~/.antigravity/settings.json בתיקיית הבית של המפתח.

ההגדרות מתמזגות שדה אחר שדה. לדוגמה, אם admin_settings.json מגדיר את כתובת ה-URL של השער אבל לא את מפתח ה-API, ‏Antigravity משתמש במפתח ה-API ממשתנה סביבה. מכיוון שלקובץ ההגדרות של האדמין יש את העדיפות הגבוהה ביותר, המפתחים לא יכולים לשנות את הערכים שהגדרתם בו.

דוגמה להגדרה

בקובץ admin_settings.json לדוגמה, Antigravity מוגדר לנתב את תנועת ה-AI דרך שער ארגוני ב-https://gateway.cymbal.com, לצרף כותרות של מרכז עלויות ארגוני ולהגביל את בחירת המודלים למודלים שאושרו:

{
  "gateway": {
    "enabled": true,
    "url": "https://gateway.cymbal.com",
    "apiKey": "GATEWAY_API_KEY",
    "wireProtocol": "genai",
    "customHeaders": {
      "X-Cost-Center": "Platform-Engineering",
      "X-Corporate-BU": "DevTools"
    }
  },
  "caCertPath": "/etc/ssl/certs/cymbal-root-ca.pem",
  "models": {
    "defaultModelId": "gemini-3.8-flash",
    "list": [
      { "modelId": "gemini-3.8-flash" },
      { "modelId": "gemini-3.7-flash" },
      { "modelId": "gemini-3.1-pro-preview" }
    ]
  }
}

ההגדרות הבאות נקבעות בדוגמה הזו:

  • ‫gateway.enabled: הפעלת מצב ניתוב של שער. כשהערך הוא true, Antigravity שולח את כל בקשות ההסקה לשער במקום לשלוח אותן ישירות ל-Google, ולא מבקש מהמפתחים להיכנס באמצעות חשבון Google.
  • ‫gateway.url: נקודת הקצה (endpoint) מסוג HTTPS של שער הארגון (https://gateway.cymbal.com).
  • ‫gateway.apiKey: מפתח ה-API‏ (GATEWAY_API_KEY) שנדרש לשער כדי לאשר בקשות. המפתח הזה מונפק על ידי השער, ולא על ידי Google. ‫Antigravity שולח אותו כטוקן למוכ"ז בכותרת Authorization.
  • ‫gateway.wireProtocol: פרוטוקול ה-wire של ה-API. הערכים הנתמכים הם:

    • ‫genai (ברירת המחדל): שימוש בפרוטוקול Gemini API‏ (POST /v1beta/models/...).
    • ‫openai: משתמש בפרוטוקול התקשורת של OpenAI Chat Completions‏ (POST /v1/chat/completions).
  • ‫gateway.customHeaders: כותרות HTTP מותאמות אישית (X-Cost-Center ו-X-Corporate-BU) ש-Antigravity מוסיף לכל בקשה. אתם יכולים להשתמש בכותרות האלה כדי לשייך את השימוש לצוותים או למרכזי עלויות ביומני השער או ב-SIEM.

  • caCertPath: הנתיב המוחלט לחבילה של רשות אישורי הבסיס (CA) של הארגון. ההגדרה הזו מבטיחה שסביבות העבודה יתנו אמון באישור ה-TLS הפנימי של השער.

  • ‫models.defaultModelId: המודל ש-Antigravity בוחר כברירת מחדל (למשל gemini-3.8-flash).

  • ‫models.list: המודלים המאושרים שמפתחים יכולים לבחור ב-Antigravity. כל רשומה צריכה modelId שתואם למודל שמוגש על ידי השער. כאן אפשר למצוא רשימה של המודלים הנתמכים של Google.

שיקולי אבטחה

כשמתכננים את האימות והשיוך של השער, חשוב להביא בחשבון את הדברים הבאים:

  • כותרות שסופקו על ידי הלקוח לא מהימנות: המפתחים שולטים בתחנות העבודה שלהם, כך שהם יכולים לשנות כותרות שמוגדרות על ידי משתני סביבה (AGY_LLM_GATEWAY_HEADERS) או בקובץ הגדרות המשתמש. אל תסתמכו על הכותרות האלה לצורך רישום ביומן ביקורת או שיוך חיובים שקריטיים לאבטחה.
  • הצמדת כותרות באמצעות MDM: כדי למנוע ממפתחים לשנות את כותרות השיוך או המדיניות, מגדירים אותן ב-gateway.customHeaders ב-admin_settings.json. הערכים ב-admin_settings.json מקבלים קדימות על פני משתני סביבה והגדרות משתמש.
  • אימות בשכבת הרשת או בשכבת התעבורה: כדי לאמת את זהות המפתח או לאכוף שיוך קפדני למרכז עלות, מאמתים את התנועה בשכבת הרשת או בשכבת התעבורה, למשל באמצעות TLS הדדי (mTLS), כניסה יחידה (SSO) ברמת שרת ה-proxy או מיקרו-סגמנטציה של הרשת. אל תסתמכו רק על מפתח ה-API או על כותרות ה-HTTP.

אימות הפריסה

לפני שפורסים קובצי תצורה בתחנות עבודה למפתחים, צריך לוודא ששער הארגון מנתב את התנועה בצורה נכונה ושהמידע על השיוך מגיע ל-Cloud Logging.

בדיקת השער ישירות

לפני שבודקים את נקודת הקצה של שער הארגון בתחנות העבודה של המפתחים, בודקים אותה ישירות באמצעות curl. בדיקת השער באופן ישיר מאשרת שניתוב הרשת, אימות תעודת ה-TLS, האימות והסטרימינג של Server-Sent Events‏ (SSE) ללא מאגר נתונים זמני פועלים באופן עצמאי מ-Antigravity.

הפקודה הבאה ב-curl שולחת בקשת סטרימינג ישירות לנקודת הקצה של השער:

curl -N -X POST "https://gateway.cymbal.com/v1beta/models/MODEL_ID:streamGenerateContent?alt=sse" \
  -H "Authorization: Bearer GATEWAY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "User-Agent: antigravity/1.2.15 (aidev_client; auth_method=gateway)" \
  -d '{"contents": [{"role": "user", "parts": [{"text": "Reply with PONG"}]}]}'

בפקודה הזו:

  • ‫-N: משבית את אגירת התגובות ב-curl כדי שאירועים שנשלחים מהשרת (SSE) יועברו בסטרימינג באופן מיידי.
  • ‫MODEL_ID: מודל מאושר מ-models.list (למשל gemini-3.8-flash או gemini-3.7-flash). מומלץ לבצע בדיקה עם מודל Flash לאימות ראשוני. רשימת המודלים הזמינים
  • ‫Authorization: שליחת מפתח ה-API של השער (GATEWAY_API_KEY) כדי לאמת את הבקשה באמצעות השער.
  • ‫User-Agent: שולח את מחרוזת השיוך (Attribution) של הלקוח ש-Google משתמשת בה כדי לשייך את השימוש להסכם Gemini Enterprise שלכם.
  • ‫streamGenerateContent?alt=sse: קריאה לנקודת קצה ל-API של הסטרימינג במודל שצוין.

מוודאים ששער הגישה מעביר את חלקי התשובה באופן מיידי. אם נתקלתם בשגיאות בחיבור, באזהרות לגבי אישורים או בעיכובים בטעינת התגובה, עיינו בקטע פתרון בעיות.

אימות החיבורים של הלקוחות

בודקים את סטטוס הלקוח בתחנת עבודה מוגדרת:

  • ‫אפליקציית Antigravity: בשורת הסטטוס התחתונה, מוודאים שמוצג האינדיקטור Connected: Enterprise Gateway. ב-Account Settings, מוודאים שמוצג Enterprise Gateway Mode Active.
  • ‫Antigravity CLI: מריצים הנחיה לבדיקה:

    agy -p "Explain binary search in Go"
    

    הפקודה הזו שולחת הנחיית בדיקה לשער. מוודאים שהתשובה מוצגת בטרמינל בלי להציג הודעת אימות מ-Google. אם הלקוח לא מצליח להתחבר או מבקש אימות של Google, עיינו בקטע פתרון בעיות.

אימות השיוך ב-Cloud Logging

במסוף Google Cloud , מוודאים שכותרות השיוך מתקבלות:

  1. נכנסים לדף Logs Explorer במסוף Google Cloud :

    כניסה לדף Logs Explorer

  2. מריצים את השאילתה הבאה:

    resource.type="aiplatform.googleapis.com/Endpoint" OR
    protoPayload.serviceName="aiplatform.googleapis.com"
    
  3. בודקים את המטא-נתונים של הרשומה ביומן. מוודאים שהשדה protoPayload.requestMetadata.callerSuppliedUserAgent מכיל את הערך antigravity/VERSION (aidev_client; auth_method=gateway).

אם לא מופיעות רשומות ביומן, צריך לוודא שבקרת הרשאות גישה לנתונים מופעלת ב-Gemini Enterprise Agent Platform API.

הכשרת מפתחים חדשים

אחרי שמאמתים את השער, מכינים את המפתחים לשימוש ב-Antigravity:

  • תחנות עבודה מנוהלות: אם אתם פורסים את admin_settings.json באמצעות מערכת ה-MDM, המפתחים לא צריכים לבצע הגדרות כלשהן. ‫Antigravity מתחבר לשער באופן אוטומטי כשהוא מופעל.
  • ארגזי חול וצינורות עיבוד נתונים של CI/CD: למפתחים שעובדים ב-runners בקונטיינרים, במארחי SSH מרוחקים או בסביבות פיתוח לא מנוהלות, צריך לספק את כתובת ה-URL של השער, את מפתח ה-API ואת הנתיב של רשות האישורים ברמה הבסיסית (root CA). מפנים את המפתחים למאמר Connect Antigravity to an Enterprise Gateway.

פתרון בעיות

בטבלה הבאה מפורטות בעיות נפוצות בפריסה ודרכים לפתור אותן:

תיאור הבעיה מטרה רזולוציה
x509: certificate signed by unknown authority תחנת העבודה לא סומכת על אישור ה-TLS של השער. מציינים את הנתיב לחבילת ה-CA ברמה הבסיסית (root) של הארגון באמצעות caCertPath ב-admin_settings.json.
401 Unauthorized או 403 Forbidden מפתח ה-API לא תקין או שלחשבון השירות של השער אין גישה. בודקים את הערך של gateway.apiKey ומוודאים שלחשבון השירות של השער יש את התפקיד roles/aiplatform.user ב-IAM בפרויקט היעד.
404 Not Found המודל שביקשתם לא זמין בשער הארגוני, או שהקלדתם מזהה מודל שגוי. צריך לוודא שכל מזהה מודל שהוגדר ב-models.list ב-admin_settings.json תואם לשם מודל ששער הארגון מציג.
gateway.wireProtocol 'openai' is not supported by the ACP server ‫admin_settings.json או משתנה סביבה מציינים את פרוטוקול התקשורת openai, ששרת ה-ACP לא תומך בו. מגדירים את wireProtocol ל-genai (או משמיטים אותו כדי להשתמש בברירת המחדל) לסביבות פיתוח משולבות של JetBrains ולתחנות עבודה של Zed.
הזמן הקצוב לתשובות בסטרימינג השער אוגר תגובות HTTP. מגדירים את השער כך שישבית את אגירת התגובות לאירועים שנשלחים מהשרת (text/event-stream).
הודעות של Antigravity לכניסה באמצעות חשבון Google מצב השער לא מופעל, או ש-Antigravity לא מוצא את קובץ ההגדרות. צריך לוודא ש-admin_settings.json נפרס בנתיב הנכון של מערכת ההפעלה, ושהוא מכיל את "enabled": true ואת url בקטע gateway.

המאמרים הבאים