Cuándo usar el sandbox
Puedes trabajar en el código de una app que construiste en el editor de la app de las siguientes formas:
El sandbox y la integración con GitHub son los que más se solapan, ya que ambos te permiten trabajar con tus propias herramientas. La diferencia es dónde vive el código mientras trabajas. Con la integración con GitHub, desarrollas en un clon local y tus cambios llegan a Base44 cuando se fusionan a
main. Con el sandbox, trabajas en el código de la app en el sitio. No hay nada que descargar, un asistente basado en web puede usarlo, y cada cambio aparece en la vista previa en vivo del editor de la app tan pronto como se realiza.
Formas de conectarse
Puedes acceder al sandbox de las siguientes formas:- CLI: Para un agente de codificación o scripts que se ejecutan en tu propia máquina. No se requiere un proyecto local. Para la configuración, consulta Conectar un agente local con la CLI.
- Servidor MCP: Para un asistente de IA que se conecta por MCP, incluidos los asistentes basados en web que no pueden ejecutar una CLI. Para la configuración, consulta Conectar un agente por MCP.
- API de gestión de apps: Para tus propias integraciones, usando los endpoints listados a continuación.
Los connectors no pasan por el sistema de archivos del sandbox, así que no están en la tabla anterior. Para configurar un connector en una app con la que estás trabajando de esta forma, usa
connectors initiate en su lugar. Apunta directamente al mismo app id, sin un sandbox o un proyecto local.
Ramas
Los comandos del sandbox apuntan a la ramamain de la app a menos que digas lo contrario. Para trabajar en otra rama, ejecuta branches list para encontrar su nombre exacto, luego pasa --branch <name> en cada comando del sandbox. Las lecturas y ediciones se aplican entonces solo a esa rama.
Los cambios se guardan automáticamente
Una llamada asandbox write o sandbox edit confirma el cambio por ti como parte de la misma solicitud, antes de que el comando devuelva, así que no hay un paso separado de guardar, desplegar o hacer push. Un cambio de archivo hecho a través de sandbox run, como rm o mv, se confirma unos segundos después en su lugar, una vez que se cierra una corta ventana de debounce. Si escribes o editas de nuevo antes de que se haya realizado un commit debounced anterior, la nueva llamada espera por él y falla con COMMIT_FLUSH_PENDING si no puede confirmar que ese commit terminó a tiempo.
Los recursos estructurados se sincronizan de la misma forma. En un proyecto local, ejecutarías entities push o functions deploy después de añadir un archivo. En el sandbox, crear base44/functions/send-email/entry.ts es todo lo que se necesita para añadir esa función.
Edición y publicación
Editar a través del sandbox no es lo mismo que publicar. Tu edición pasa a formar parte del código de la app de inmediato y aparece en el editor de la app y en su vista previa en vivo. Llegar al sitio público de la app aún requiere el mismo paso de publicación que un cambio hecho en el editor de la app.Checkpoints
Un checkpoint es un punto de restauración en el historial de versiones de la app, anclado a un commit específico. Crea uno consandbox checkpoint para marcar un estado conocido como bueno, luego restáuralo desde el editor de la app si un cambio posterior sale mal. Los cambios pendientes se confirman antes de que se tome el checkpoint, así que siempre captura tu código más reciente.
Trabajar junto al editor de la app
Tu agente de codificación y el editor de la app de Base44 pueden trabajar en la misma app al mismo tiempo. No hay un lock que adquirir ni una sesión que liberar. Los cambios de cualquier lado aterrizan en el mismo lugar, así que trátalo como tratarías a un colega editando el mismo proyecto.Iniciar y detener
El sandbox es un proceso en ejecución, no solo almacenamiento. Se apaga cuando permanece inactivo durante un rato y se vuelve a encender con el siguiente comando. Tu código no se ve afectado de cualquier manera. Los cambios confirmados viven en git, y un sandbox reiniciado siempre parte de tu último commit. Si el sandbox no está en ejecución, el primer comando lo inicia, lo que significa que esa llamada probablemente tarde más que las siguientes.Permisos
Dos comprobaciones separadas controlan el acceso al sandbox. Una es si puedes acceder a la app en absoluto, y la otra es si a tu sesión actual se le concedió acceso de escritura a ella.Acceso a la app
Necesitas acceso de admin a la app en sí, ya sea como admin de workspace o como colaborador en esta app específica. El acceso se comprueba en cada llamada, así que un cambio en tu rol de workspace tiene efecto inmediato. Un simple visor de workspace no puede acceder al sandbox en absoluto. La única excepción es un visor que también tiene un rol de editor por app heredado de antes de que tu workspace se moviera al acceso basado en roles. Esa combinación aún puede leer desde el sandbox, pero no cambiar nada. Los Superagents no admiten los comandos del sandbox.Alcance de la sesión
Más allá del acceso a la app, leer y cambiar el sandbox requieren permisos diferentes en tu sesión:
Los permisos de tu sesión son fijos cuando se crea y no se pueden ampliar más tarde. La CLI pide
sandbox:write durante base44 login, y por MCP lo concedes en el paso de consentimiento OAuth. Renovar una sesión existente no lo añade.
Así que si los comandos de lectura funcionan pero los de cambio fallan con NOT_AUTHORIZED, estás en una sesión que nunca tuvo sandbox:write. Ejecuta base44 login de nuevo, o vuelve a conectar el servidor MCP y aprueba el acceso al sandbox, para iniciar una sesión que lo tenga.
Límites y salvaguardas
Los comandos de archivos están confinados a la raíz de la app. Las rutas absolutas y las rutas que suben por encima de la raíz se rechazan conPATH_OUTSIDE_SANDBOX. Los directorios .agents y .git no son accesibles desde los comandos de archivos y fallan con PROTECTED_PATH, porque contienen los secretos de tu app y las credenciales del repositorio. La única excepción es .agents/skills, que puedes leer y escribir.
En toda la función, tienes un tope de 120 solicitudes de lectura, 60 solicitudes de cambio y 30 comandos de ejecución por minuto, por app. Superar cualquiera de estos falla con RATE_LIMITED. La página de referencia de cada comando cubre sus propios límites de tamaño y cantidad, como cuántas rutas acepta sandbox read o cuán grande puede ser un archivo que sandbox write permite.
Ver también
- Traer tu propio agente: Conecta tu propio agente de codificación de IA al sandbox de una app
- CLI Overview: Instala y usa la CLI de Base44
- Servidor MCP de Base44: Conecta un asistente de IA a tu cuenta de Base44
- Integración con GitHub: Desarrolla localmente con una sincronización bidireccional a tu repo
- Estructura del proyecto: Cómo se organizan los archivos del proyecto Base44
Esta página fue traducida con IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.