Como o Pepperizer funciona
Sem caixa-preta. Esta página explica o que você está contratando, como as peças funcionam, o que fica exposto e o que fazemos para proteger. O seu próprio agente também sabe explicar tudo isto. É só perguntar a ele.
O que você contrata
Você aluga uma conta Linux (shell) só sua, já configurada, mantida por nós e operada pelo painel. Dentro dela rodam três coisas: a conexão com o seu WhatsApp, as suas sessões de IA (uma ou duas, sempre abertas) e um vigia que mantém tudo de pé. Quando algo para (WhatsApp desconectado, login vencido, limite de uso), o vigia te avisa por e-mail no endereço do cadastro (o painel lê a lista de avisos da sua conta e manda, de avisos@pepperizer.me) e por notificação no app do Claude (com o Claude conectado e o Remote Control ligado), que não dependem do seu WhatsApp; e, se o WhatsApp estiver de pé, também no grupo _pepperizer 🌶️. Aviso escrito pelo seu agente chega marcado como dele. Se a conta inteira parar de responder, o painel manda um e-mail dizendo isso, e outro quando ela voltar.
- A inteligência é sua: você conecta o Claude (a sua assinatura Pro ou Max), o ChatGPT (a sua conta) ou os dois. Os dois são opcionais, mas é preciso ao menos um. Cada sessão é o Claude Code ou o Codex, e você escolhe o motor de cada uma no painel; conectando só o ChatGPT, a primeira sessão já nasce no Codex. Não usamos chave de API, nem nossa nem sua, e não pagamos nem cobramos por mensagem.
- Até duas sessões, no motor que você quiser: duas Claude, duas ChatGPT, ou uma de cada. Cada agente seu (a Pepper e os que você criar) fica ligado a uma delas, e é essa sessão que atende as conversas dele. Uma sessão só atende os agentes dela: ela não vê os eventos da outra.
- O espaço é seu: as conversas, as configurações e a memória do agente ficam em arquivos na sua conta. Você pode baixar tudo pelo painel quando quiser.
- A manutenção é nossa: atualizações, monitoramento da máquina e da sua conta a cada 5 minutos, reinício automático quando algo cai e segurança.
As peças, sem segredo
| Usamos o Baileys, uma biblioteca de código aberto que conecta a sua conta como um "aparelho conectado", do mesmo jeito que o WhatsApp Web. Não é a API oficial da Meta. Usado para conversar, funciona bem; usado para disparo em massa, leva a bloqueio do número. Por isso há limites de envio (abaixo). | |
| Sessões | Uma ou duas sessões sempre abertas na sua conta. Cada uma é o Claude Code, da Anthropic, com a sua assinatura, ou o Codex, da OpenAI, com a sua conta ChatGPT. As duas seguem o mesmo arquivo de instruções do Pepperizer e os textos dos seus agentes (as personas); o que só existe no Claude Code está marcado como tal. A sessão Claude é um programa interativo que fica esperando mensagem; a sessão ChatGPT é mantida aberta por um programa nosso, que conversa com o Codex pelo app-server dele e põe cada mensagem na conversa que já está em andamento — não é um Codex novo por mensagem. |
| Áudio | Transcrito dentro da sua conta, com o Whisper (modelo aberto). O áudio não sai para serviço de transcrição de terceiros. |
| Painel | Este site. Ele fala com a sua conta por uma porta interna, com uma chave só daquela conta, e só pode pedir um conjunto fechado de coisas: status, QR, login do Claude, login do ChatGPT, configuração, histórico, avisos. Do navegador, não há como pedir envio de mensagem pela API do painel. A exceção, de propósito, é o Terminal (abaixo): ele abre a linha de comando da sua conta. O painel só manda mensagens para você mesmo: o link e o código de acesso (uso único, 10 minutos) e as boas-vindas no grupo _pepperizer 🌶️. Nunca para os seus contatos. |
| Cobrança | Asaas (Pix, boleto ou cartão). Não guardamos dados de cartão. O painel confere os pagamentos no Asaas de hora em hora, além do aviso automático que ele manda a cada pagamento. Estorno ou contestação no cartão (chargeback) encerram o período pago: a assinatura é cancelada, o agente pausa na hora e a conta é removida 30 dias depois. |
O caminho de uma mensagem
- Chega no seu WhatsApp. A conexão da sua conta recebe, como o WhatsApp Web receberia.
- Filtro. Só seguem as mensagens das conversas que você mandou acompanhar (em Conversas) e as suas quando você chama um agente com /nome. Mensagem de qualquer outra pessoa ou conversa é descartada sem ser gravada: o agente nem fica sabendo que ela existiu.
- Vira texto. Áudio é transcrito, e imagem e documento são salvos na sua conta (o agente recebe o caminho do arquivo).
- Gravada antes de tudo. A mensagem vai para o histórico da conversa, na sua conta, antes de o agente agir. Nada se perde se o agente estiver reiniciando.
- O agente decide, segundo o modo daquela conversa, o texto do agente e as regras que você ensinou.
- Resposta pelo seu número, sempre na mesma conversa em que ele foi chamado, e dentro dos limites de envio.
Como o painel muda o comportamento do agente
| No painel | O que acontece no agente |
|---|---|
| Contato: Só observar | O agente lê e põe no seu resumo. Nunca responde à pessoa. |
| Contato: VIP: me avise na hora | Cada mensagem da pessoa vira um aviso imediato para você no grupo _pepperizer 🌶️. Ninguém responde à pessoa. |
| Contato: Responder por mim | O agente conversa com a pessoa. Use só com quem sabe que fala com um agente. |
| Grupo: Quando me chamarem | O agente entra quando o chamam e ajuda com coisas do próprio grupo (lista de tarefas, gastos de uma viagem e a divisão da conta, lembretes, votação). Em Só esta conversa (o padrão), ele não usa nada seu nem de outras conversas. Em Com o meu contexto, usa as suas informações para ajudar, a seu favor, e nunca traz conteúdo de outras conversas. |
| Grupo de trabalho: Com o meu contexto | O agente ajuda quem o chamar, usando as suas informações a seu favor. Você continua usando /nome. |
| Grupo: Canal de comando | Tudo o que você escreve ali é pedido. O _pepperizer 🌶️ nasce assim. |
| "…(lê tudo)" | O agente recebe o grupo inteiro, não só quando é chamado, e decide quando vale entrar. |
| Agentes | Cada agente é um nome (o gatilho /nome), uma assinatura e um texto livre dizendo quem ele é e o que nunca faz. A Pepper é a persona padrão do produto: o texto dela não se edita, mas "sempre volta para você" e tom, sim. |
| Suas sessões | Até duas, cada uma Claude ou ChatGPT, com um nome seu. Trocar o motor ou o nome de uma sessão reinicia só ela: ela perde o contexto da conversa em andamento, nunca o histórico, que fica em disco. Remover a segunda sessão devolve os agentes dela para a primeira. |
| Sessões: Troca automática | Aparece quando você tem duas sessões e vem desligada. Ligada, a sua conta confere as duas a cada minuto: se uma cai (fora do ar, login vencido ou limite de uso da assinatura), a outra passa a atender os agentes dela, com a persona e as regras de cada um, e devolve quando ela voltar, depois de alguns minutos estável. As mensagens que a sessão caída ainda não tinha lido vão para a outra, sem se perder nem chegar duas vezes. O limite de uso é percebido pelo próprio monitor de uso (abaixo), assim que uma janela passa de 98%, e não só quando a mensagem de limite aparece. Você recebe um aviso na troca e na volta. Duas sessões do mesmo motor dividem o login e o limite, então entre elas só a sessão fora do ar faz trocar. Se a sessão Claude cai e quem cobre é a ChatGPT, chamar as suas outras sessões do Claude pelo WhatsApp fica indisponível até ela voltar. |
| Uso da assinatura | No Início, um cartão por motor em uso (Claude, ChatGPT) com barras das janelas de uso (5 horas e 7 dias) e a hora em que cada uma renova; em Agentes, o uso de cada sessão. Quem mede é a própria ferramenta: o Claude Code entrega esses números à barra de status da sessão (a statusLine, que a sua conta grava em ~/data/uso-<sessão>.json) e o Codex os manda ao runner a cada turno (o runner também pergunta ao Codex quando a sessão abre). Os números vêm do próprio motor, com o seu login: o Pepperizer não consulta nada por fora. Acima de 90% numa janela, você recebe um aviso (uma vez por janela); com 98% ou mais, a troca automática trata a sessão como no limite. A statusLine só é posta se você não tiver uma sua no ~/.claude/settings.json. |
| Agente: Quem atende por ele | Aparece quando você tem duas sessões: diz qual delas responde pelo agente. Como é a sessão que carrega o motor, é aqui que você escolhe se um agente é atendido pelo Claude ou pelo ChatGPT. |
| Conversa: Pode usar | Cada grupo define o que o agente pode usar ali: Só esta conversa (o padrão) ou Com o meu contexto. Nenhum dos dois traz conteúdo de outras conversas. Canal de comando é só seu, em seu nome. |
| Agente: Sempre volta para você | Dinheiro, agenda, prazos e pessoa nova: o que estiver marcado, o agente pergunta a você antes de qualquer compromisso. Vem tudo marcado. Desmarcado, ele resolve o que for rotina daquele assunto, dentro do que você já combinou, e te conta depois. |
| Agente: Ajustes rápidos de tom | Mais curto, sem emoji, mais formal, mais descontraído ou sem gíria: valem em tudo o que o agente escreve, por cima do jeito dele. |
| Ensinar numa conversa | Vira uma regra com data: só daquela conversa, ou do agente em todo lugar. |
| Não acompanhada | O agente não lê nem responde ali. Só age se você o chamar com /nome naquela conversa. |
| Ignorar esta conversa | O agente não lê, não grava e não responde ali, nem se você o chamar com /nome: a mensagem é descartada antes de tudo. Útil quando outro agente responde naquela conversa. Dá para voltar a considerar em Conversas. |
Tudo isso também se faz pelo WhatsApp, falando com o agente: "acompanha este grupo", "aqui não prometa prazo", "cria um agente chamado chef".
Quando outra pessoa no grupo também tem Pepperizer
- /pepper é sempre do dono: o seu /pepper chama só a sua Pepper, e o da outra pessoa chama só a dela.
- Agentes podem conversar entre si, e isso é bem-vindo. Eles são orientados a encerrar quando o assunto se resolve.
- Se houver outra Pepper no grupo, a sua fica avisada de que "Pepper" pode não ser com ela. Ela decide pelo contexto (se responderam a uma mensagem dela, se o assunto é com você) e, na dúvida, fica quieta ou pergunta.
Regras fixas, que nenhuma configuração desliga
- Só você comanda. Pedido de outra pessoa para mudar algo é ignorado em silêncio.
- O que é dito numa conversa não aparece em outra.
- Dinheiro, prazo, agenda e destinatário novo voltam para você antes de qualquer compromisso. É o padrão de todo agente; você só afrouxa isso de propósito, agente por agente, em Agentes. Fechar valor ou compromisso novo continua sendo sempre seu.
- Limites de envio: no máximo 10 mensagens por minuto, 120 por hora e 500 por dia, e 15 conversas novas por dia. Vale para tudo o que sai pelo seu número, inclusive as mensagens do próprio painel; dá para baixar esses números, e subir só até o dobro. Criar grupo tem limite próprio: 3 por dia. Ao bater o limite, nada sai, e o agente te avisa. Existe para o seu número não ser bloqueado.
Segurança: o que fazemos, e o que ainda não fazemos
Você conecta aqui o seu WhatsApp e a sua conta de IA. É muita coisa sensível num lugar só, e tratamos isso como o risco principal do serviço.
Isolamento entre clientes
- Cada cliente tem um usuário Linux próprio, com a pasta fechada para os outros.
- Uma conta não enxerga os processos das outras.
- Um firewall interno libera a porta de cada conta só para a própria conta e para o painel.
- Cada conta tem limites de recursos, para um cliente não atrapalhar os outros nem derrubar a máquina. Eles foram pensados para não pesar no uso normal:
- Processador: quando várias contas querem o processador ao mesmo tempo, ele é dividido por igual entre elas. Sem disputa, a sua conta usa o que estiver livre, até no máximo 1,8 dos 2 processadores da máquina (uma trava contra programa travado em laço).
- Memória: passando de 900 MB, a conta fica mais lenta, mas nada é encerrado. O teto é 1,6 GB, uma trava para uma conta não derrubar a máquina: se a conta chegar nele, o sistema encerra o programa dela que mais usa memória, e o vigia o liga de novo em poucos minutos.
- Disco e processos: as contas têm prioridade menor de disco, e cada uma roda até 400 processos ao mesmo tempo.
- Os serviços da própria máquina e a Pepper original (a assistente de quem criou o Pepperizer, que roda neste servidor) têm prioridade e memória reservada.
- O código compartilhado (bibliotecas e o Claude Code) é somente leitura para as contas.
- Na máquina de produção (em preparação), os serviços de cada conta rodam presos pelo próprio sistema (namespaces do Linux, o mesmo mecanismo dos containers). Lá, cada conta só enxerga a própria pasta e o sistema de que precisa para rodar.
É o modelo de hospedagem com shell que provedores consagrados usam há décadas, como a WebFaction (comprada pela GoDaddy) e a Opalstack: uma conta Linux por cliente, num servidor compartilhado. A essa base somamos firewall por conta, processos invisíveis entre clientes e limites de recursos.
Credenciais
- As credenciais do WhatsApp e do Claude ficam só na sua conta. O painel nunca as lê nem as mostra.
- No login do Claude, o código que você cola é de uso único: ele passa pelo painel para chegar à sua conta e não serve para mais nada depois.
- Quem administra a máquina tem acesso técnico a tudo, como em qualquer hospedagem. O nosso compromisso: não abrimos a sua conta sem você pedir ou sem um incidente de segurança, e, se abrirmos, contamos.
Acesso ao painel
- A entrada é pelo link ou código que chega no seu WhatsApp (uso único, 10 minutos). Abrir o link mostra um botão Entrar com o nome da conta: só o toque, dentro deste site, troca o acesso do navegador.
- O link que vai junto da fatura entra uma vez só, até 7 dias depois de a conta nascer (no navegador em que você se cadastrou, ele entra direto). Já usado, ele oferece mandar um link novo para o e-mail do cadastro; e a entrada também é pelo WhatsApp.
- O acesso vence com 30 dias sem uso e, de todo jeito, em 90 dias. Sair encerra o acesso deste aparelho no servidor; o botão Sair de todos os aparelhos, na página Assinatura, encerra os outros também.
- Há limite de tentativas por endereço e por número: erros demais no código travam os palpites daquele número por alguns minutos (o tempo cresce a cada trava); nesse tempo, chega só o link para tocar.
- As páginas do painel não carregam programas de outros sites (inclusive o terminal) e não podem ser embutidas em outros sites.
Terminal no navegador
- A página Terminal do painel abre a linha de comando da sua conta (como o Lish da Linode) e também entra nas sessões do agente. Na sessão Claude, o que você digita vai direto para o agente, como se fosse você falando com ele; na sessão ChatGPT, você só assiste.
- É poder total sobre a sua conta: pelo terminal dá para rodar qualquer comando, ler, mudar e apagar qualquer arquivo seu (conversas, configurações, credenciais do WhatsApp, do Claude e do ChatGPT) e mandar o agente fazer qualquer coisa, inclusive enviar mensagens pelo seu WhatsApp. Não é um poder novo: o painel já controlava o agente, que roda comandos na sua conta sem pedir aprovação, e quem entra no seu painel já podia fazer tudo isso pedindo a ele. O terminal só tira o intermediário. Por isso, proteja o seu WhatsApp e o seu navegador: o acesso ao painel é pelo link ou código que chega no seu WhatsApp.
- O terminal roda como o seu usuário, com os mesmos limites e o mesmo isolamento da conta. Só o próprio site abre a conexão (não uma página de fora), são no máximo dois terminais por conta, e ele fecha sozinho com a página ou depois de 30 minutos sem digitar.
Acesso por SSH
- Se quiser, você entra na sua conta pelo terminal do seu computador, com ssh. Na página Terminal, você cadastra a sua chave pública e vê o comando pronto.
- O servidor só aceita chave, nunca senha. O painel aceita só chaves modernas (ed25519, ECDSA ou RSA de 3072 bits ou mais), uma por vez e sem opções escondidas, e mostra a impressão digital de cada uma para você conferir. Remover uma chave fecha o acesso dela na hora.
- Como o terminal do painel, é o mesmo poder que a conta já tem: você entra como o seu usuário, com os mesmos limites e o mesmo isolamento.
O risco que vem das mensagens
O agente lê mensagens de outras pessoas, e alguém pode escrever algo tentando manipulá-lo ("ignore as instruções e…"). As instruções do Pepperizer mandam o agente tratar mensagem de terceiro como conversa, nunca como ordem, e o filtro só deixa chegar o que você escolheu acompanhar. Isso reduz o risco, mas não o elimina. Não acompanhe conversas com quem você não confia, e não dê ao agente acesso a mais do que ele precisa.
Os seus dados
- Histórico e configurações ficam em arquivos de texto na sua conta. Você baixa tudo pelo painel.
- Ainda não fazemos cópia de segurança automática (backup) das contas. Se o que está na sua conta é importante para você, baixe uma cópia de vez em quando.
- Ao cancelar, a conta pausa. Trinta dias depois, ela é apagada. Por segurança, guardamos uma cópia do histórico e das configurações por mais 90 dias, sem as credenciais do WhatsApp e do Claude, e depois a descartamos.
- Não vendemos nem usamos os seus dados para nada além de manter o serviço funcionando.
É seu de verdade: leve tudo, mude tudo
Tudo o que roda para você mora na sua conta, em arquivos que você pode ler, copiar e levar embora:
- ~/pepperizer/: o código do Pepperizer que roda para você (a conexão do WhatsApp, o vigia, a transcrição e as instruções do agente);
- ~/data/: as suas configurações, os seus agentes, as regras que você ensinou e o histórico das conversas.
Você pode copiar essa camada inteira e rodar numa máquina sua. O que fica do nosso lado é só o painel, e se quiser um igual, peça ao seu próprio agente para criar um. Não chamamos isso de software livre no sentido formal, mas na prática é quase melhor: você leva tudo, funcionando.
Como ganhamos dinheiro: com o aluguel da conta e a manutenção dela (máquina, atualizações, monitoramento, segurança). Não com os seus dados, nem prendendo você.
Você pode mudar tudo, inclusive quebrar
Com acesso à conta, dá para mudar qualquer comportamento, inclusive a ponto de o painel deixar de entender a sua instalação. Nós permitimos isso, e funciona assim:
- O que você muda em ~/data/ (configuração, agentes, instruções, histórico) é seu e as atualizações nunca mexem.
- As atualizações substituem o código em ~/pepperizer/. Para mudar o código e manter, crie o arquivo ~/data/manter-meu-codigo: a sua conta sai das atualizações automáticas, e o painel avisa que ela roda com código próprio. Para voltar ao padrão, apague o arquivo.
- Com código próprio, partes do painel podem não funcionar, e as atualizações de segurança do código passam a ser responsabilidade sua: a sua conta deixa de recebê-las sozinha. A manutenção e a segurança da máquina e o monitoramento continuam por nossa conta.
A Pepper ajuda em tudo isso
Você não precisa abrir o terminal (ele existe, na página Terminal do painel, para quem quiser). Peça à Pepper, no _pepperizer 🌶️ ou com /pepper:
- "acompanha este grupo só quando falarem de prazo", "cria um agente chamado chef", "mostra as regras desta conversa": ela muda as configurações por você;
- "volta a configuração deste grupo ao padrão", "desfaz a última mudança": ela guarda a versão anterior de cada configuração;
- "atualiza a minha instalação para a versão padrão mais nova": ela traz o código padrão para a sua conta e tira a marca de código próprio, se você quiser;
- "me explica como você funciona": ela conta, sem esconder nada técnico.
Remote Control: todos os seus agentes, alcançáveis pelo WhatsApp
Isto é do motor Claude: só existe com o Claude conectado e uma sessão com motor Claude. Uma sessão com motor ChatGPT não alcança nem é alcançada pelas suas outras sessões do Claude, nem por /nome nem por Remote Control; quem usa só o ChatGPT não tem esta parte. Se você chamar um /nome que é de outra sessão sua, quem atende é a sua sessão Claude, mesmo que o pedido tenha caído num chat atendido pelo ChatGPT.
As suas sessões com motor Claude rodam com o Remote Control do Claude Code ligado. Na prática:
- Elas aparecem na sua conta Claude pelo nome que você deu (a primeira é a pepperizer). Você as acompanha e conversa com elas pelo app ou pelo site do Claude, como qualquer outra sessão sua.
- Ele alcança as suas outras sessões. Qualquer Claude Code seu com Remote Control ligado, no notebook, no servidor ou na nuvem, vira um /nome no WhatsApp: "/deploy roda os testes e me conta", e a resposta volta no mesmo chat. Para quem desenvolve, é um painel de controle de agentes no bolso.
- E elas o alcançam. As suas outras sessões podem pedir coisas a ele, inclusive mandar mensagem pelo seu WhatsApp.
Para o bem e para o mal: quem tem acesso à sua conta Claude tem, por tabela, acesso ao seu agente e ao seu WhatsApp. Proteja a conta Claude como protege o WhatsApp: senha forte, verificação em duas etapas e atenção às sessões abertas. Se não quiser isso, peça à Pepper para desligar o Remote Control. Ela continua atendendo o WhatsApp, mas fica isolada das outras sessões.
Feito por agentes, com um humano decidindo
O Pepperizer é desenvolvido e operado de forma agêntica: agentes de IA escrevem o código, testam, publicam e cuidam da máquina, com intervenção humana mínima. Um humano decide o produto e aprova mudanças sensíveis de infraestrutura e de permissão.
Isso permite evoluir rápido, e também traz riscos novos. Para conter os erros que agentes cometem, usamos verificações automáticas antes de publicar, testes de ponta a ponta em contas descartáveis, cópias antes de qualquer remoção e registro das mudanças. Mesmo assim, erros acontecem, e quando acontecerem, você vai saber.
O nosso compromisso
- Transparência: esta página descreve o que existe de fato. Se algo mudar, ela muda junto.
- Aviso de incidente: se algo afetar a sua conta ou os seus dados, você fica sabendo por e-mail, pelo WhatsApp e pelo painel.
- Sem amarras: você baixa os seus dados quando quiser e cancela pelo painel; usa até o fim do período pago.
- O mínimo necessário: o agente roda com a sua assinatura, na sua conta, e só lê o que você mandou acompanhar.