מתי להשתמש ב-sandbox
ניתן לעבוד על הקוד של אפליקציה שבנית בעורך האפליקציה בדרכים הבאות:
ה-sandbox ואינטגרציית GitHub חופפים הכי הרבה, מכיוון ששניהם מאפשרים לך לעבוד עם הכלים שלך. ההבדל הוא איפה הקוד נמצא בזמן שאתה עובד. עם אינטגרציית GitHub, אתה מפתח ב-clone מקומי, והשינויים שלך מגיעים ל-Base44 כשהם ממוזגים ל-
main. עם ה-sandbox, אתה עובד על הקוד של האפליקציה במקום. אין מה להוריד, עוזר מבוסס-web יכול להשתמש בו, וכל שינוי מופיע בתצוגה המקדימה החיה של עורך האפליקציה ברגע שנעשה.
דרכים להתחבר
ניתן להגיע ל-sandbox בדרכים הבאות:- CLI: לסוכן קוד או סקריפטים שרצים במכונה שלך. לא נדרש פרויקט מקומי. להגדרה, ראה Connect a local agent with the CLI.
- MCP server: לעוזר AI שמתחבר דרך MCP, כולל עוזרים מבוססי-web שלא יכולים להריץ CLI. להגדרה, ראה Connect an agent over MCP.
- App Management API: לאינטגרציות שלך, באמצעות הנקודות הרשומות למטה.
Connectors לא עוברים דרך מערכת הקבצים של ה-sandbox, אז הם לא בטבלה למעלה. כדי להגדיר connector על אפליקציה שאתה עובד איתה בדרך זו, השתמש ב-
connectors initiate במקום. זה מכוון לאותו app id ישירות, ללא sandbox או פרויקט מקומי.
Branches
פקודות sandbox מכוונות ל-branchmain של האפליקציה אלא אם תגיד אחרת. כדי לעבוד על branch אחר, הרץ branches list כדי למצוא את השם המדויק שלו, ואז העבר --branch <name> על כל פקודת sandbox. קריאות ועריכות אז חלות רק על אותו branch.
שינויים נשמרים אוטומטית
קריאה ל-sandbox write או sandbox edit מבצעת commit של השינוי בשבילך כחלק מאותה בקשה, לפני שהפקודה חוזרת, כך שאין שלב נפרד של שמירה, deploy או push. שינוי קובץ שנעשה דרך sandbox run, כמו rm או mv, מבצע commit כמה שניות מאוחר יותר במקום, ברגע שחלון debounce קצר נסגר. אם אתה כותב או עורך שוב לפני ש-commit debounced קודם נחת, הקריאה החדשה מחכה לו ונכשלת עם COMMIT_FLUSH_PENDING אם היא לא יכולה לאשר שאותו commit הסתיים בזמן.
משאבים מובנים מסנכרנים באותה דרך. בפרויקט מקומי, היית מריץ entities push או functions deploy לאחר הוספת קובץ. ב-sandbox, יצירת base44/functions/send-email/entry.ts היא כל מה שנדרש כדי להוסיף את הפונקציה הזו.
עריכה ופרסום
עריכה דרך ה-sandbox אינה זהה לפרסום. העריכה שלך הופכת לחלק מהקוד של האפליקציה מיד ומופיעה בעורך האפליקציה ובתצוגה המקדימה החיה שלו. הגעה לאתר הציבורי של האפליקציה עדיין לוקחת את אותו שלב פרסום כמו שינוי שנעשה בעורך האפליקציה.Checkpoints
Checkpoint הוא נקודת שחזור בהיסטוריית הגרסאות של האפליקציה, מעוגן ל-commit ספציפי. צור אחד עםsandbox checkpoint כדי לסמן מצב טוב ידוע, ואז שחזר אותו מעורך האפליקציה אם שינוי מאוחר יותר משתבש. שינויים ממתינים מבוצעים ב-commit לפני שה-checkpoint נלקח, כך שהוא תמיד תופס את הקוד האחרון שלך.
עבודה לצד עורך האפליקציה
סוכן הקוד שלך ועורך האפליקציה של Base44 יכולים לעבוד על אותה אפליקציה באותו זמן. אין lock להשיג ואין session לשחרר. שינויים משני הצדדים נוחתים באותו מקום, אז התייחס לזה בדרך שהיית מתייחס לעמית שעורך את אותו פרויקט.הפעלה ועצירה
ה-sandbox הוא תהליך שרץ, לא רק אחסון. הוא נסגר כשהוא יושב בהמתנה זמן מה ונדלק שוב על הפקודה הבאה. הקוד שלך לא מושפע בכל מקרה. שינויים ש-committed חיים ב-git, ו-sandbox שאותחל מחדש תמיד מתחיל מה-commit האחרון שלך. אם ה-sandbox לא רץ, הפקודה הראשונה מפעילה אותו, מה שאומר שהקריאה הזו סביר שתיקח יותר זמן מאלה שאחריה.הרשאות
שתי בדיקות נפרדות שומרות על גישה ל-sandbox. אחת היא האם אתה יכול לגשת לאפליקציה בכלל, והשנייה היא האם ה-session הנוכחי שלך קיבל גישת כתיבה אליה.גישה לאפליקציה
אתה צריך גישת admin לאפליקציה עצמה, בין אם כמנהל סביבת עבודה או כמשתף פעולה על האפליקציה הספציפית הזו. גישה נבדקת על כל קריאה, כך ששינוי בתפקיד סביבת העבודה שלך נכנס לתוקף מיד. צופה סביבת עבודה רגיל לא יכול להגיע ל-sandbox כלל. היוצא מן הכלל היחיד הוא צופה שגם מחזיק בתפקיד עורך legacy לכל אפליקציה מלפני שסביבת העבודה שלך עברה לגישה מבוססת-תפקיד. השילוב הזה עדיין יכול לקרוא מה-sandbox, אבל לא לשנות שום דבר. Superagents אינם תומכים בפקודות sandbox.היקף Session
מעבר לגישה לאפליקציה, קריאה ושינוי ה-sandbox דורשים הרשאות שונות ב-session שלך:
הרשאות ה-session שלך קבועות ברגע היווצרותו ולא ניתן להרחיב אותן מאוחר יותר. ה-CLI מבקש
sandbox:write במהלך base44 login, ומעל MCP אתה מעניק אותה בשלב הסכמת ה-OAuth. חידוש session קיים לא מוסיף אותה.
אז אם פקודות הקריאה עובדות אבל פקודות השינוי נכשלות עם NOT_AUTHORIZED, אתה על session שמעולם לא היה לו sandbox:write. הרץ base44 login שוב, או התחבר מחדש לשרת MCP ואשר גישת sandbox, כדי להתחיל session שיש לו אותה.
מגבלות ומעקות בטיחות
פקודות קבצים מוגבלות ל-root של האפליקציה. נתיבים מוחלטים ונתיבים שעולים מעל ה-root נדחים עםPATH_OUTSIDE_SANDBOX. ספריות .agents ו-.git לא ניתנות להגעה מפקודות הקבצים, ונכשלות עם PROTECTED_PATH, כי הן מחזיקות את הסודות של האפליקציה ואת אישורי ה-repository. היוצא מן הכלל היחיד הוא .agents/skills, שאתה יכול לקרוא ולכתוב.
בכל התכונה, אתה מוגבל ל-120 בקשות קריאה, 60 בקשות שינוי, ו-30 פקודות הרצה לדקה, לאפליקציה. חריגה על כל אחת מהן נכשלת עם RATE_LIMITED. עמוד הסימוכין של כל פקודה מכסה את גבולות הגודל והמספר שלה, כמו כמה נתיבים sandbox read מקבל או איזה גודל קובץ sandbox write מאפשר.
ראה גם
- Bring your own agent: חבר את סוכן הקוד AI שלך ל-sandbox של אפליקציה
- CLI Overview: התקן והשתמש ב-Base44 CLI
- Base44 MCP server: חבר עוזר AI לחשבון Base44 שלך
- GitHub Integration: פתח מקומית עם sync דו-כיווני ל-repo שלך במקום
- Project structure: איך קבצי פרויקט Base44 מאורגנים
דף זה תורגם באמצעות AI. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.