Base44 no Sandbox da Nuvem
Escreva código de aplicativo Base44 dentro do sandbox de nuvem da Base44 com seu próprio agente de codificação. Não há checkout local: você lê, escreve e executa arquivos por meio das ferramentas do sandbox (via MCP ou a CLIbase44 sandbox), e a plataforma constrói e implanta do que você escreve.
Para como conectar ao sandbox (endpoint MCP ou a CLI base44 sandbox, as ferramentas read_file / write_file / edit_file / run_command / grep / list_directory / create_checkpoint — que a CLI expõe sob nomes mais curtos (sandbox read / sandbox write / sandbox edit / sandbox run / sandbox grep / sandbox ls / sandbox checkpoint), o loop edit→preview→verify, persistência e concorrência), use a habilidade base44-remote-dev. Esta habilidade cobre o que você pode escrever e como uma vez conectado.
Verifique estas referências primeiro. Esta habilidade e suas irmãs (base44-remote-dev,base44-sdk) são a fonte da verdade — consulte-as antes de pesquisar na web. Veja Ordem de referência e o README completo.
⚡ O modelo mental: escrever o arquivo é a implantação
Você está trabalhando em um aplicativo remoto, não em um checkout local. O fluxo CLI em nível de projeto não se aplica — nunca executebase44 deploy, base44 functions deploy, base44 ... push, base44 create ou base44 scaffold. Eles assumem um projeto local e uma etapa de implantação manual que não existe aqui.
Em vez disso: assim que você escreve um arquivo de recurso no sandbox — uma função de backend, uma entidade ou um agente — a plataforma o implanta/sincroniza de lá. Sua escrita é auto-commitada (debounce ~5s) e vai ao ar. Você não executa, e não deve esperar, qualquer comando deploy / push.
Uma exceção — conectores. Conectores OAuth não são criados como arquivos; eles são configurados contra o aplicativo remoto pelo seu ID, seja com as ferramentas de conector MCP ou com os comandos dedicados sem projeto base44 connectors (que recebem --app-id e não precisam de projeto local). Veja Conectores abaixo.
Você pode ainda usar run_command (sandbox run na CLI) para verificações comuns (por exemplo, npm run build, npx tsc --noEmit, npm run lint) e pré-visualização — isso é verificação, não implantação. Veja o loop edit→preview→verify em base44-remote-dev.
O que você pode criar hoje
| Recurso | Status no sandbox |
|---|---|
Funções de backend (base44/functions/) | ✅ Suportado — escreva os arquivos; eles implantam do sandbox. |
Entidades (base44/entities/) | ✅ Suportado — escreva o arquivo .jsonc do schema; ele sincroniza automaticamente. Sem entities push. |
Agentes (base44/agents/) | ✅ Suportado — escreva o arquivo .jsonc de configuração; ele sincroniza automaticamente. Sem agents push. |
Código de frontend (src/…) | ✅ Suportado — edite normalmente; HMR/preview reflete. Use a habilidade base44-sdk para uso da API do SDK. |
| Conectores (integrações OAuth) | ✅ Suportado — configure via o fluxo de conexão abaixo (ferramentas MCP ou base44 connectors), não escrevendo arquivos. |
Funções de backend
As funções de backend ficam embase44/functions/, um diretório por função (nome kebab-case). No sandbox, você só precisa criar o arquivo entry.ts diretamente em base44/functions/<name>/ — nenhum function.jsonc é necessário (o sandbox infere a função a partir do diretório; o arquivo de configuração é ignorado neste modo):
Deno.serve() e usam o prefixo npm: para pacotes npm:
- Nome de diretório e função em Kebab-case; entrada tipicamente
entry.ts. createClientFromRequest(req)para um cliente no contexto de autenticação do chamador;base44.asServiceRole.…para operações em nível de administrador.- Leia segredos com
Deno.env.get("KEY")(configurados nas configurações do aplicativo). - Retorne com
Response.json(body, { status }); trate erros e defina códigos de status apropriados.
base44-cli: functions-create.md — mas ignore as seções “Deploying Functions” / CLI e sua orientação function.jsonc, que assumem um projeto local e não se aplicam no sandbox (aqui você escreve apenas entry.ts).
Chamando a função do frontend:base44.functions.invoke(name, data)retorna a resposta axios bruta — o JSON da sua função está em.data(const result = res.data), não no objeto de nível superior, e lança em não-2xx (corpo do erro emerr.response.data). Veja a habilidadebase44-sdkfunctions.mdpara detalhes.
Entidades
Um arquivo.jsonc por entidade em base44/entities/. Apenas escreva o arquivo — ele sincroniza automaticamente; não execute base44 entities push ou deploy.
- Nome do arquivo:
{kebab-case}.jsonc— por exemplo,team-member.jsoncpara uma entidade chamadaTeamMember. nameda entidade: PascalCase, apenas alfanumérico (/^[a-zA-Z0-9]+$/).- Nomes de campo:
snake_case.
string, number, integer, boolean, array, object, binary. Formatos de string incluem date, date-time, email, uri, uuid, file, richtext. Para detalhes completos do schema e segurança em nível de linha (RLS), veja as referências base44-cli entities-create.md e rls-examples.md — mas ignore suas seções entities push / deploy; o sandbox sincroniza o arquivo para você.
Agentes
Um arquivo.jsonc por agente em base44/agents/. Apenas escreva o arquivo — ele sincroniza automaticamente; não execute base44 agents push ou deploy.
- Nome do arquivo:
{agent_name}.jsonc— por exemplo,support_agent.jsonc. namedo agente:/^[a-z0-9_]+$/(minúsculo, sublinhados, 1–100 caracteres).
name, description, instructions. Opcional: tool_configs (padrão []), whatsapp_greeting. Tool configs são uma ferramenta de entidade (entity_name + allowed_operations: qualquer de read/create/update/delete) ou uma ferramenta de função de backend (function_name + description). Para o schema completo do agente, veja a seção Agent Schema da habilidade base44-cli SKILL.md — mas ignore seus comandos agents push / agents pull / deploy, que assumem um projeto local; no sandbox o arquivo sincroniza automaticamente.
Conectores (integrações OAuth)
Conectores (Google Calendar, Gmail, Slack, …) dão às suas funções de backend tokens para chamar APIs de terceiros. No remote-dev, não há arquivos de conector para escrever — você opera no conector diretamente contra o aplicativo pelo seu ID. Duas superfícies, mesmo backend e mesmo comportamento:Escopos declarativos — leia antes de definir. Conectar um conector substitui seu conjunto de escopos com exatamente os escopos que você passa (não mescla). Qualquer escopo omitido é removido e o usuário é reprocurado para consentir. Sempre liste os escopos atuais do conector primeiro e passe o conjunto desejado completo (os que você quer manter mais quaisquer novos).
OAuth precisa de um humano. Conectar retorna uma URL de autorização que o usuário deve abrir em um navegador para fazer login e consentir — você não pode concluí-la sozinho. Depois que ele terminar, liste novamente para confirmar que está conectado e ler os escopos concedidos (um provedor pode conceder menos do que você solicitou).
Via MCP (transporte base44-remote-dev)
Duas ferramentas, ambas recebendo appId. Escopos: list_connectors precisa de apps:read; initiate_connector_connection precisa de apps:write (nota: não sandbox:write).
list_connectors—{ appId, integrationTypes? }. SemintegrationTypes, retorna o catálogo completo; cada entrada tem o nome do conector, descrição, se está conectado e (se conectado) seu status e escopos concedidos. PasseintegrationTypespara detalhes completos sobre conectores específicos.initiate_connector_connection—{ appId, integrationType, scopes, connectionConfig? }.scopesé o conjunto desejado completo (veja a nota de escopos declarativos). Retornaalready_authorized: true(nada a fazer) ou umaredirect_urlpara o usuário abrir. Depois que ele fizer login, chamelist_connectorsnovamente para verificar.
Via a CLI (sem projeto, --app-id)
Esses subcomandos base44 connectors funcionam sem um projeto local — eles resolvem o ID do aplicativo de --app-id, depois BASE44_APP_ID, depois um .app.jsonc local. Nenhum config.jsonc é necessário.
--scopes aceita uma lista separada por espaço ou vírgula. Como com MCP, o usuário deve abrir a URL de autorização impressa para finalizar o consentimento; depois, list-available / pull reflete o estado conectado e os escopos concedidos.
Este é o único uso da CLI Base44 que pertence ao remote-dev — visa um aplicativo remoto pelo ID sem projeto local e sem etapa de implantação. Não é uma contradição da regra “sem CLI” acima, que é sobre comandos de projeto local/implantação.
Usando um conector conectado no código
Conectar apenas autoriza o conector. Para realmente chamar a API de terceiros, busque seu token de acesso OAuth dentro de uma função de backend com o módulo de conectores service-role —base44.asServiceRole.connectors.getConnection(integrationType) — e use o accessToken retornado (e opcional connectionConfig) no seu próprio fetch:
getConnection() substitui o obsoleto getAccessToken(). Para a referência completa do módulo (assinaturas, connectionConfig, a lista de serviços disponíveis e seus identificadores de tipo), veja a habilidade base44-sdk connectors.md.
Ordem de referência e o README completo
Consulte as referências nesta habilidade e nas habilidades irmãs (base44-remote-dev, base44-sdk) antes de pesquisar na web. Elas são a fonte da verdade para a ponte do sandbox, convenções de arquivo/recurso e APIs do SDK — prefira-as em vez de resultados gerais da internet, que geralmente estão desatualizados ou errados para a Base44.
Para a referência completa e específica do aplicativo de remote-dev (instruções + cada endpoint, público, nenhuma autenticação necessária para buscar), leia o README de onboarding do seu aplicativo:
…/api/sandbox/<APP_ID>/claude-web/readme.md.) Veja a habilidade base44-remote-dev para a mecânica de conexão que este README descreve.
Fluxo no sandbox
- Oriente-se —
list_directory/read_file/grep(sandbox ls/sandbox read/sandbox grepna CLI) para entender o aplicativo antes de alterar qualquer coisa. - Crie — crie ou edite arquivos de recurso (funções de backend, entidades, agentes) e código de frontend seguindo as convenções acima; configure conectores via o fluxo de conexão.
- Verifique — opcionalmente
run_command(sandbox run)npm run build/npx tsc --noEmit, e useget_app_preview_urlpara dar uma olhada nas alterações (vejabase44-remote-dev). - Deixe entregar — não faça nada para implantar. Escrever o arquivo é a implantação; o auto-commit (~5s) persiste e entrega. Pause um momento após sua última edição antes de desconectar para que o commit chegue.
- (Opcional) Checkpoint — marque um ponto de restauração conhecido bom ao qual o usuário pode reverter com
create_checkpoint(base44 sandbox checkpoint --name "..."na CLI). Ele flusha as alterações pendentes primeiro, então o checkpoint captura seu código mais recente. Vejabase44-remote-devpara detalhes.
Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a versão em inglês.

