Como Funciona
Fluxo completo: do checkout ao agente online respondendo mensagens.
Fluxo de ativacao
Quando um usuario cria e paga por um agente, o sistema executa uma cadeia automatizada que vai do pagamento ate o agente estar online e respondendo mensagens.
Usuario cria o agente
No dashboard, o usuario escolhe o plano (Flex, Starter ou Pro), define o nome do bot, seleciona o modelo de IA e o canal de mensagem (ex: Telegram).
Checkout via Stripe
O usuario e redirecionado para o Stripe Checkout. Apos o pagamento, o Stripe cria a assinatura e envia um evento de webhook.
Webhook chega ao Supabase
O evento checkout.session.completed e recebido pela Edge Function stripe-webhook, que valida a assinatura e identifica o agente.
Edge Function activate-bot
A funcao activate-bot e chamada. Ela busca um slot disponivel usando o algoritmo de load balancing (menor carga primeiro) e reserva o slot no banco.
Agent Manager cria o container
O Agent Manager na VPS recebe a instrucao via HTTP, cria o container com rede isolada, configura Seccomp/AppArmor, e prepara os bind mounts para dados persistentes.
Injecao de variaveis de ambiente
Tokens do canal (ex: TELEGRAM_BOT_TOKEN), proxy token (qc_bot_*), configuracao do modelo de IA e credenciais sao injetados no container via environment variables. Chaves nunca ficam em disco.
PM2 inicia o OpenClaw
O Agent Manager usa PM2 para iniciar o processo OpenClaw dentro do container, com restart automatico em caso de crash.
Agente conecta ao canal
O OpenClaw inicializa seu gateway e conecta ao canal configurado (ex: Telegram Bot API). A partir desse momento, o agente esta ouvindo mensagens.
Status: running
O Agent Manager confirma que o agente esta saudavel via health check e atualiza o status no banco para running. O dashboard mostra o agente como online.
Velocidade
Todo o fluxo de ativacao leva menos de 30 segundos. O usuario acompanha o progresso em tempo real pelo modal de deploy no dashboard.
Fluxo de uma mensagem
Apos o agente estar online, cada mensagem enviada pelo usuario percorre o seguinte caminho:
Usuario envia mensagem
O usuario envia uma mensagem no Telegram (ou outro canal configurado). A plataforma de mensagem entrega para o webhook do OpenClaw.
OpenClaw recebe e processa
O gateway do OpenClaw recebe a mensagem, verifica a memoria do agente e prepara o prompt para enviar ao modelo de IA.
Chamada ao API Proxy
O OpenClaw faz uma requisicao HTTP para localhost:3100 (API Proxy) com o header Authorization: Bearer qc_bot_*.
Proxy autentica e roteia
O API Proxy valida o token, identifica o agente e roteia a requisicao para o provedor correto (Anthropic, OpenAI, Google ou OpenRouter) baseado no ai_provider do agente.
Proxy contabiliza tokens
O proxy forca stream=false para receber a resposta completa e extrair contagem exata de tokens: input, output, cache_write e cache_read. Cada tipo tem preco diferente.
Debito de creditos
O proxy calcula o custo com base na tabela model_pricing e debita dos creditos do agente (assinatura primeiro, depois topup da conta).
Resposta retorna ao usuario
A resposta do modelo de IA volta pelo API Proxy para o OpenClaw, que formata e envia de volta ao usuario no Telegram. Todo o processo leva alguns segundos.
Cache tokens
O QuickClaw diferencia tokens de cache (cache_read e cache_write) na contabilizacao. Tokens lidos do cache custam ate 90% menos, economizando seus creditos significativamente em conversas longas.
Fluxo de desativacao
O usuario pode parar seu agente a qualquer momento. O processo e reverso e preserva todos os dados:
Usuario clica em Parar
No dashboard, o usuario clica no agenteao de parar o agente. O frontend chama a Edge Function deactivate-bot.
Agent Manager para o container
O Agent Manager recebe a instrucao e envia SIGTERM para o processo OpenClaw (graceful shutdown). Se nao encerrar em tempo, forca com SIGKILL.
Slot e liberado
O slot no banco e marcado como disponivel. Os dados persistentes do agente permanecem em disco para quando o agente for reativado.
Status: stopped
O status do agente e atualizado para stopped tanto na tabela bots quanto em server_slots. O dashboard reflete a mudanca.
Dados preservados
Ao parar um agente, os dados (memoria, skills, configuracoes) sao mantidos. Quando voce reativar, o agente retoma de onde parou — sem perder contexto.