Base44 en el sandbox en la nube
Escribe código de app de Base44 dentro del sandbox en la nube de Base44 con tu propio agente de codificación. No hay checkout local: lees, escribes y ejecutas archivos a través de las herramientas del sandbox (sobre MCP o la CLIbase44 sandbox), y la plataforma compila y despliega desde lo que escribes.
Para cómo conectarse al sandbox (endpoint MCP o la CLI base44 sandbox, las herramientas read_file / write_file / edit_file / run_command / grep / list_directory / create_checkpoint — que la CLI expone bajo nombres más cortos (sandbox read / sandbox write / sandbox edit / sandbox run / sandbox grep / sandbox ls / sandbox checkpoint), el bucle editar→previsualizar→verificar, persistencia y concurrencia), usa la habilidad base44-remote-dev. Esta habilidad cubre qué puedes escribir y cómo una vez conectado.
Consulta primero estas referencias. Esta habilidad y sus hermanas (base44-remote-dev,base44-sdk) son la fuente de verdad — consúltalas antes de buscar en la web. Consulta Orden de referencia y el README completo.
⚡ El modelo mental: escribir el archivo es el despliegue
Estás trabajando en una app remota, no en un checkout local. El flujo de trabajo CLI a nivel de proyecto no aplica — nunca ejecutesbase44 deploy, base44 functions deploy, base44 ... push, base44 create o base44 scaffold. Asumen un proyecto local y un paso de despliegue manual que no existe aquí.
En su lugar: tan pronto como escribes un archivo de recurso en el sandbox — una función de backend, una entidad o un agente — la plataforma lo despliega/sincroniza desde ahí. Tu escritura se auto-confirma (~5s debounce) y se pone en vivo. No ejecutas, y no debes esperar, ningún comando deploy / push.
Una excepción — conectores. Los conectores OAuth no se escriben como archivos; se configuran contra la app remota por su id, ya sea con las herramientas de conector MCP o con los comandos dedicados y sin proyecto base44 connectors (que toman --app-id y no necesitan proyecto local). Consulta Conectores abajo.
Puedes seguir usando run_command (sandbox run en la CLI) para comprobaciones ordinarias (por ejemplo, npm run build, npx tsc --noEmit, npm run lint) y vista previa — eso es verificación, no despliegue. Consulta el bucle editar→previsualizar→verificar en base44-remote-dev.
Qué puedes escribir hoy
| Recurso | Estado en el sandbox |
|---|---|
Funciones de backend (base44/functions/) | ✅ Admitido — escribe los archivos; se despliegan desde el sandbox. |
Entidades (base44/entities/) | ✅ Admitido — escribe el archivo de esquema .jsonc; se sincroniza automáticamente. Sin entities push. |
Agentes (base44/agents/) | ✅ Admitido — escribe el archivo de configuración .jsonc; se sincroniza automáticamente. Sin agents push. |
Código frontend (src/…) | ✅ Admitido — edita normalmente; HMR/vista previa lo refleja. Usa la habilidad base44-sdk para uso de la API SDK. |
| Conectores (integraciones OAuth) | ✅ Admitido — configúralos mediante el flujo de conexión abajo (herramientas MCP o base44 connectors), no escribiendo archivos. |
Funciones de backend
Las funciones de backend viven enbase44/functions/, un directorio por función (nombre en kebab-case). En el sandbox solo necesitas crear el archivo entry.ts directamente bajo base44/functions/<name>/ — no se requiere function.jsonc (el sandbox infiere la función del directorio; el archivo de configuración se ignora en este modo):
Deno.serve() y usan el prefijo npm: para paquetes npm:
- Directorio y nombre de función en kebab-case; entrada normalmente
entry.ts. createClientFromRequest(req)para un cliente en el contexto de autenticación del llamante;base44.asServiceRole.…para operaciones de nivel administrador.- Lee secretos con
Deno.env.get("KEY")(configurados en la configuración de la app). - Devuelve con
Response.json(body, { status }); maneja errores y establece códigos de estado apropiados.
base44-cli: functions-create.md — pero ignora sus secciones “Deploying Functions” / CLI y su guía function.jsonc, que asumen un proyecto local y no aplican en el sandbox (aquí solo escribes entry.ts).
Llamar a la función desde el frontend:base44.functions.invoke(name, data)devuelve la respuesta axios sin procesar — el JSON de tu función está en.data(const result = res.data), no en el objeto de nivel superior, y lanza en no-2xx (cuerpo de error enerr.response.data). Consultafunctions.mdde la habilidadbase44-sdkpara más detalles.
Entidades
Un archivo.jsonc por entidad en base44/entities/. Solo escribe el archivo — se sincroniza automáticamente; no ejecutes base44 entities push ni deploy.
- Nombre de archivo:
{kebab-case}.jsonc— por ejemplo,team-member.jsoncpara una entidad llamadaTeamMember. namede entidad: PascalCase, solo alfanumérico (/^[a-zA-Z0-9]+$/).- Nombres de campo:
snake_case.
string, number, integer, boolean, array, object, binary. Los formatos de string incluyen date, date-time, email, uri, uuid, file, richtext. Para el detalle completo del esquema y la seguridad a nivel de fila (RLS), consulta las referencias de base44-cli entities-create.md y rls-examples.md — pero ignora sus secciones entities push / deploy; el sandbox sincroniza el archivo por ti.
Agentes
Un archivo.jsonc por agente en base44/agents/. Solo escribe el archivo — se sincroniza automáticamente; no ejecutes base44 agents push ni deploy.
- Nombre de archivo:
{agent_name}.jsonc— por ejemplo,support_agent.jsonc. namede agente:/^[a-z0-9_]+$/(minúsculas, guiones bajos, 1-100 caracteres).
name, description, instructions. Opcional: tool_configs (por defecto []), whatsapp_greeting. Las configuraciones de herramientas son o una herramienta de entidad (entity_name + allowed_operations: cualquier combinación de read/create/update/delete) o una herramienta de función de backend (function_name + description). Para el esquema completo del agente, consulta la sección Agent Schema de SKILL.md de la habilidad base44-cli — pero ignora sus comandos agents push / agents pull / deploy, que asumen un proyecto local; en el sandbox el archivo se sincroniza automáticamente.
Conectores (integraciones OAuth)
Los conectores (Google Calendar, Gmail, Slack, …) dan a tus funciones de backend tokens para llamar a APIs de terceros. En remote-dev no hay archivos de conector que escribir — operas sobre el conector directamente contra la app por su id. Dos superficies, mismo backend y mismo comportamiento:Alcances declarativos — lee antes de establecer. Conectar un conector reemplaza su conjunto de alcances con exactamente los alcances que pases (no fusiona). Cualquier alcance que omitas se elimina y se pide al usuario que vuelva a consentir. Siempre lista los alcances actuales del conector primero y pasa el conjunto completo deseado (los que quieres mantener más cualquier nuevo).
OAuth necesita un humano. Conectar devuelve una URL de autorización que el usuario debe abrir en un navegador para iniciar sesión y consentir — no puedes completarlo tú mismo. Después de que terminen, vuelve a listar para confirmar que está conectado y leer los alcances concedidos (un proveedor puede conceder menos de los solicitados).
Sobre MCP (transporte base44-remote-dev)
Dos herramientas, ambas toman appId. Alcances: list_connectors necesita apps:read; initiate_connector_connection necesita apps:write (nota: no sandbox:write).
list_connectors—{ appId, integrationTypes? }. SinintegrationTypes, devuelve el catálogo completo; cada entrada tiene el nombre del conector, descripción, si está conectado, y (si está conectado) su estado y alcances concedidos. PasaintegrationTypespara detalle completo sobre conectores específicos.initiate_connector_connection—{ appId, integrationType, scopes, connectionConfig? }.scopeses el conjunto deseado completo (consulta la nota de alcances declarativos). Devuelvealready_authorized: true(nada que hacer) o unaredirect_urlpara que el usuario abra. Después de que inicien sesión, llama alist_connectorsde nuevo para verificar.
Sobre la CLI (sin proyecto, --app-id)
Estos subcomandos base44 connectors funcionan sin un proyecto local — resuelven el id de app desde --app-id, luego BASE44_APP_ID, luego un .app.jsonc local. No se requiere config.jsonc.
--scopes acepta una lista separada por espacios o comas. Como con MCP, el usuario debe abrir la URL de autorización impresa para terminar el consentimiento; después list-available / pull refleja el estado conectado y los alcances concedidos.
Este es el único uso de la CLI de Base44 que pertenece a remote-dev — apunta a una app remota por id sin proyecto local y sin paso de despliegue. No es una contradicción de la regla “sin CLI” anterior, que trata sobre comandos de proyecto local/despliegue.
Usar un conector conectado en el código
Conectar solo autoriza al conector. Para llamar realmente a la API de terceros, obtén su token de acceso OAuth dentro de una función de backend con el módulo de conectores de rol de servicio —base44.asServiceRole.connectors.getConnection(integrationType) — y usa el accessToken devuelto (y el connectionConfig opcional) en tu propio fetch:
getConnection() reemplaza al getAccessToken() obsoleto. Para la referencia completa del módulo (firmas, connectionConfig, la lista de servicios disponibles y sus identificadores de tipo), consulta connectors.md de la habilidad base44-sdk.
Orden de referencia y el README completo
Consulta las referencias en esta habilidad y sus habilidades hermanas (base44-remote-dev, base44-sdk) antes de buscar en la web. Son la fuente de verdad para el puente del sandbox, convenciones de archivo/recurso y APIs SDK — prefiérelos a los resultados generales de internet, que a menudo están desactualizados o son incorrectos para Base44.
Para la referencia completa y específica de app de remote-dev (instrucciones + cada endpoint, público, no se necesita autenticación para obtenerlo), lee el README de incorporación para tu app:
…/api/sandbox/<APP_ID>/claude-web/readme.md.) Consulta la habilidad base44-remote-dev para la mecánica de conexión que este README describe.
Flujo de trabajo en el sandbox
- Orientarse —
list_directory/read_file/grep(sandbox ls/sandbox read/sandbox grepen la CLI) para entender la app antes de cambiar nada. - Escribir — crear o editar archivos de recursos (funciones de backend, entidades, agentes) y código frontend siguiendo las convenciones anteriores; configurar conectores mediante el flujo de conexión.
- Verificar — opcionalmente
run_command(sandbox run)npm run build/npx tsc --noEmit, y usaget_app_preview_urlpara ver los cambios (consultabase44-remote-dev). - Dejar que se envíe — no hagas nada para desplegar. Escribir el archivo es el despliegue; el auto-commit (~5s) persiste y lo envía. Pausa un momento después de tu última edición antes de desconectarte para que el commit llegue.
- (Opcional) Checkpoint — marca un punto de restauración conocido como bueno al que el usuario puede revertir con
create_checkpoint(base44 sandbox checkpoint --name "..."en la CLI). Descarga los cambios pendientes primero, para que el checkpoint capture tu código más reciente. Consultabase44-remote-devpara más detalles.
Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.

