Quando usare la sandbox
Puoi lavorare sul codice di un’app che hai creato nell’editor nei modi seguenti:
La sandbox e l’integrazione GitHub si sovrappongono maggiormente, poiché entrambe ti permettono di lavorare con i tuoi strumenti. La differenza è dove risiede il codice mentre lavori. Con l’integrazione GitHub, sviluppi in un clone locale e le tue modifiche raggiungono Base44 quando vengono unite a
main. Con la sandbox, lavori direttamente sul codice dell’app. Non c’è nulla da scaricare, un assistente web-based può usarla, e ogni modifica appare nell’anteprima live dell’editor non appena viene fatta.
Modi per connettersi
Puoi raggiungere la sandbox nei modi seguenti:- CLI: Per un agente di codifica o script che girano sulla tua macchina. Non è richiesto alcun progetto locale. Per la configurazione, consulta Collegare un agente locale con la CLI.
- MCP server: Per un assistente AI che si connette tramite MCP, inclusi gli assistenti web-based che non possono eseguire una CLI. Per la configurazione, consulta Collegare un agente tramite MCP.
- App Management API: Per le tue integrazioni personalizzate, usando gli endpoint elencati sotto.
I connettori non passano dal file system della sandbox, quindi non sono nella tabella sopra. Per configurare un connettore su un’app con cui stai lavorando in questo modo, usa invece
connectors initiate. Punta allo stesso app id direttamente, senza una sandbox o un progetto locale.
Branch
I comandi della sandbox puntano al branchmain dell’app se non specifichi diversamente. Per lavorare su un altro branch, esegui branches list per trovarne il nome esatto, poi passa --branch <name> su ogni comando della sandbox. Le letture e le modifiche si applicano quindi solo a quel branch.
Le modifiche si salvano automaticamente
Una chiamatasandbox write o sandbox edit esegue il commit della modifica come parte della stessa richiesta, prima che il comando ritorni, quindi non c’è un passaggio separato di salvataggio, deploy o push. Una modifica di file fatta tramite sandbox run, come rm o mv, esegue invece il commit qualche secondo dopo, una volta chiusa una breve finestra di debounce. Se scrivi o modifichi di nuovo prima che un commit precedente in debounce sia arrivato, la nuova chiamata attende su di esso e fallisce con COMMIT_FLUSH_PENDING se non riesce a confermare che quel commit sia terminato in tempo.
Le risorse strutturate si sincronizzano nello stesso modo. In un progetto locale, eseguiresti entities push o functions deploy dopo aver aggiunto un file. Nella sandbox, creare base44/functions/send-email/entry.ts è tutto quello che serve per aggiungere quella funzione.
Modifica e pubblicazione
Modificare tramite la sandbox non è la stessa cosa che pubblicare. La tua modifica diventa parte del codice dell’app subito e appare nell’editor e nella sua anteprima live. Raggiungere il sito pubblico dell’app richiede ancora lo stesso passaggio di pubblicazione di una modifica fatta nell’editor.Checkpoint
Un checkpoint è un punto di ripristino nella cronologia delle versioni dell’app, ancorato a un commit specifico. Creane uno consandbox checkpoint per contrassegnare uno stato buono conosciuto, poi ripristinalo dall’editor dell’app se una modifica successiva va male. Le modifiche in sospeso vengono committate prima che il checkpoint venga preso, quindi cattura sempre il tuo codice più recente.
Lavorare insieme all’editor dell’app
Il tuo agente di codifica e l’editor dell’app Base44 possono lavorare sulla stessa app contemporaneamente. Non c’è alcun lock da acquisire e nessuna sessione da rilasciare. Le modifiche da entrambi i lati arrivano nello stesso posto, quindi trattala come tratteresti un collega che modifica lo stesso progetto.Avvio e arresto
La sandbox è un processo in esecuzione, non solo storage. Si arresta quando rimane inattiva per un po’ e si riavvia al comando successivo. Il tuo codice non è interessato in entrambi i casi. Le modifiche committate vivono in git, e una sandbox riavviata parte sempre dal tuo commit più recente. Se la sandbox non è in esecuzione, il primo comando la avvia, il che significa che quella chiamata probabilmente impiega più tempo di quelle successive.Permessi
Due controlli separati regolano l’accesso alla sandbox. Uno è se puoi accedere all’app, e l’altro è se alla tua sessione corrente è stato concesso l’accesso in scrittura.Accesso all’app
Ti serve accesso di admin all’app stessa, sia come admin del workspace sia come collaboratore su questa specifica app. L’accesso viene verificato a ogni chiamata, quindi una modifica al tuo ruolo nel workspace ha effetto immediato. Un semplice viewer del workspace non può raggiungere affatto la sandbox. L’unica eccezione è un viewer che detiene anche un ruolo legacy di editor per singola app di prima che il tuo workspace passasse all’accesso basato sui ruoli. Quella combinazione può ancora leggere dalla sandbox, ma non modificare nulla. I Superagent non supportano i comandi della sandbox.Ambito della sessione
Oltre all’accesso all’app, leggere e modificare la sandbox richiedono permessi diversi sulla tua sessione:
I permessi della tua sessione sono fissati al momento della sua creazione e non possono essere ampliati in seguito. La CLI richiede
sandbox:write durante base44 login, e tramite MCP lo concedi al passaggio di consenso OAuth. Rinnovare una sessione esistente non lo aggiunge.
Quindi se i comandi di lettura funzionano ma quelli di modifica falliscono con NOT_AUTHORIZED, sei su una sessione che non ha mai avuto sandbox:write. Esegui di nuovo base44 login, o riconnetti il server MCP e approva l’accesso alla sandbox, per avviare una sessione che lo abbia.
Limiti e protezioni
I comandi sui file sono confinati alla root dell’app. I percorsi assoluti e i percorsi che salgono sopra la root vengono rifiutati conPATH_OUTSIDE_SANDBOX. Le directory .agents e .git non sono raggiungibili dai comandi sui file e falliscono con PROTECTED_PATH, perché contengono i segreti dell’app e le credenziali del repository. L’unica eccezione è .agents/skills, che puoi leggere e scrivere.
Su tutta la funzionalità, hai un limite di 120 richieste di lettura, 60 richieste di modifica e 30 comandi di esecuzione al minuto, per app. Superare uno di questi limiti fallisce con RATE_LIMITED. La pagina di riferimento di ogni comando copre i suoi limiti di dimensione e conteggio, come quanti percorsi accetta sandbox read o quanto grande può essere un file con sandbox write.
Vedi anche
- Porta il tuo agente: Collega il tuo agente di codifica AI alla sandbox di un’app
- Panoramica CLI: Installa e usa la CLI di Base44
- Server MCP di Base44: Collega un assistente AI al tuo account Base44
- Integrazione GitHub: Sviluppa localmente con una sincronizzazione bidirezionale sul tuo repository
- Struttura del progetto: Come sono organizzati i file di progetto di Base44
Questa pagina è stata tradotta utilizzando l’IA. Per informazioni più accurate e aggiornate, consulta la versione inglese.