Um limite de utilização não devia acabar com a sua sessão.
Todos os fornecedores acabam por o travar, e o Happier não pode mudar isso. O que pode fazer é manter a sessão no limite, mostrar-lhe quando é reposto, e recomeçar o trabalho de onde parou. Ligue “Esperar e retomar sempre” e ele faz a coisa toda sem ninguém a ver — uma definição, e volta a encontrar uma sessão que continuou em vez de uma que parou. Isso é com uma conta. Se tiver várias subscrições, há uma resposta melhor abaixo: junte-as numa pool, e uma sessão que esgote uma passa para a seguinte.
Com uma conta, o Happier espera pela reposição e retoma a sessão
Um fornecedor recusa um turno e o Happier mostra “Limite de utilização atingido”, com a hora de reposição quando o fornecedor a fornecer. A partir daí: esperar — “Retomar quando o limite for reposto” mantém a sessão e retoma-a sozinho — ou “Verificar o limite agora” para sondar de novo, ou deixar de esperar. Esperar é a opção que salva a sua tarde: o Happier guarda a hora de reposição, volta a verificá-la por si, inicia a sessão de novo se ela tiver saído entretanto, e envia um prompt para continuar a partir do contexto interrompido. Marque “Esperar e retomar sempre” uma vez e deixa de lhe ser perguntado — todos os limites a partir daí são tratados da mesma forma sem ninguém a ver. Uma sessão do Codex vai um passo mais longe e arma a espera sozinha assim que “Continuar automaticamente” estiver definido.
Esse aviso aparece para o Claude Code, o Codex, o OpenCode, o Gemini e o Pi. Nenhum outro agente do registo reporta limites de utilização ao Happier num formato sobre o qual ele possa agir, por isso o que obtém nesses casos é aquilo que a CLI do próprio fornecedor imprimir.
Junte numa pool as subscrições que tem, e a sessão continua através delas
Uma pool pertence a um serviço ligado, não a um agente. Um serviço ligado é um tipo de credencial — uma subscrição do Claude, uma subscrição do Codex, uma chave da Anthropic ou da OpenAI, um início de sessão do Gemini — e uma pool é um conjunto das suas próprias contas num deles. Que agente corre é uma escolha separada, feita quando inicia uma sessão.
Por isso a mesma pool serve mais do que um agente. As subscrições do Claude e as chaves da Anthropic são consumidas pelo Claude Code, pelo OpenCode e pelo Pi; as subscrições do Codex e as chaves da OpenAI pelo Codex, pelo OpenCode e pelo Pi; os inícios de sessão do Gemini pelo Gemini. Construa uma pool com as suas duas contas do Claude e ela está lá quer abra o Claude Code, o OpenCode ou o Pi nessa tarde.
Nada muda até construir uma pool, e uma pool é algo que se faz de propósito: Definições → Serviços ligados, abra o serviço a que essas contas pertencem, depois Pools → Criar pool, dê-lhe um nome, e acrescente as contas que quer nela. Até isso existir, todas as sessões usam a única conta que escolheu e param quando essa conta parar.
Depois de a pool existir, ela começa com a alternativa automática ligada, para os serviços que conseguem mudar de conta dentro de uma sessão em curso. Há um interruptor na pool — "Alternativa automática" — e desligá-lo deixa-lhe uma pool que troca à mão, o que é uma forma razoável de a gerir se preferir decidir de cada vez.
As predefinições são deliberadamente pouco ambiciosas. O Happier recorre a outro membro, preferindo aquele que tiver mais quota disponível, no máximo uma vez por turno e três vezes por hora de sessão, com um intervalo de trinta segundos entre elas. Quando um fornecedor diz que um limite é reposto a determinada hora, o Happier acredita nele e não trata essa conta como candidata até lá. Uma pool serve para não perder vinte minutos com um novo início de sessão; não é um serviço de rotação, e o teto por hora está lá para que não se torne um sem se dar por isso.
Há quem chame a isto balanceamento de carga. O que o Happier faz é mais estreito, e vale a pena sabê-lo antes de pagar uma segunda subscrição: ele não distribui trabalho pelas suas contas para as manter equilibradas. Nada se move enquanto a conta em que está ainda tiver espaço. A pool existe para o momento em que uma se esgota — o produto chama-lhe alternativa automática, e é exatamente isso que é.
Como uma pool recorre a outro membro: que conta escolhe, e com que frequência
As predefinições com que uma pool nova começa. Todas elas são editáveis por pool.
| Configuração | Padrão | Por quê |
|---|---|---|
| Que conta escolhe | Mais quota disponível | Lida a partir do último instantâneo de utilização. Uma ordem de prioridade fixa e totalmente manual são as alternativas. |
| O que desencadeia uma troca | Limite de utilização, autenticação expirada, conta alterada | Uma renovação de token falhada não desencadeia, porque uma renovação costuma falhar por um motivo que outra conta não resolve. |
| Troca preventiva | Abaixo de 15% restantes | Apenas quando outro membro tiver quota utilizável mais fresca. Defina-o como 0 e o Happier espera pelo limite real. |
| Trocas por turno | 1 | Um turno não pode percorrer a sua pool inteira. Se a conta seguinte também estiver esgotada, a sessão para e di-lo. |
| Trocas por hora de sessão | 3 | Um teto, não um objetivo. |
| Intervalo entre trocas | 30 segundos | Impede que uma resposta instável de um fornecedor produza uma rajada de mudanças de conta. |
| Horas de reposição do fornecedor | Respeitados | Um membro que um fornecedor diz estar esgotado até às 16h não é candidato até às 16h. |
Que contas pode juntar numa pool, e que agentes as podem usar
Uma linha por cada conta que pode ligar. Poder usar uma pool e poder mudar de conta dentro de um turno em curso são duas capacidades diferentes, e a segunda é mais rara.
| Conta que liga | Agentes que a podem usar | Troca a meio da sessão | Medidor de quota |
|---|---|---|---|
| Subscrição Claude | Claude Code, OpenCode, Pi | Claude Code | Sim |
| Chave de API da Anthropic | Claude Code, OpenCode, Pi | Claude Code | No |
| Subscrição Codex | Codex, OpenCode, Pi | Codex | Sim |
| Chave de API da OpenAI | Codex, OpenCode, Pi | Codex | No |
| Gemini | Gemini | Nenhum | Sim |
O OpenCode, o Pi e o Gemini podem todos ser apontados a uma conta agrupada e podem mudar entre os membros dela, mas não sem que a sessão reinicie — por isso, nesses casos, está a escolher a conta antes de a sessão começar em vez de durante. Todos os outros agentes que o Happier corre iniciam sessão pela CLI deles e não fazem parte disto de todo.
O GitHub também é uma conta ligada, e é a que não está aqui: nenhum agente corre com um token do GitHub. O Happier usa-o para publicar um repositório ou abrir um pull request, por isso não tem pool nem medidor de quota.
As suas próprias contas, e o que os termos do seu fornecedor permitem
Uma pool de contas é para contas que lhe pertencem. O formato da funcionalidade é uma pessoa com vários inícios de sessão seus — uma subscrição Max pessoal e um lugar Claude de trabalho, uma subscrição do Codex e uma chave da OpenAI — mantidos visíveis e comutáveis num só sítio, em vez de reautenticar uma CLI de cada vez que se esgota.
Não é uma forma de pôr várias pessoas numa subscrição. Os termos dos fornecedores — os da Anthropic e os da OpenAI por igual — proíbem partilhar uma única subscrição entre pessoas, e juntar contas não muda isso: se a usar dessa maneira está fora dos termos do seu fornecedor, e nenhum cliente pode resolver isso por si.
Não somos advogados, não damos garantia nenhuma, e os termos dos fornecedores mudam. Leia-os. Se a sua organização tiver um acordo com um fornecedor, verifique-o antes de ligar uma conta de trabalho.
Construa uma pool na aplicação, inicie uma sessão sobre ela a partir da CLI
Duas contas ligadas no mesmo serviço, uma pool, e uma verificação de que o medidor está a ler. Construir a pool é um trabalho para a aplicação — Definições → Serviços ligados, escolha o serviço, Pools — porque nenhum comando cria uma; happier connect inicia a sessão de uma conta a partir de uma shell e fica por aí. Iniciar uma sessão numa pool que já construiu é a metade que está na CLI: happier --auth cs:<id> recebe o id de um perfil ou de uma pool. Existe uma forma mais longa, cs:group:<id>, para o caso em que um perfil e uma pool partilham um id e a forma curta não os consegue distinguir.
Ligar as contas vem primeiro, e essa parte tem uma referência de configuração: como funciona o início de sessão de cada fornecedor, que agente pode consumir que credencial, e de onde vêm os instantâneos de quota.
Um relay auto-alojado pode desligar isto, e pode desligar os medidores de quota separadamente do agrupamento em pools. Se estiver no servidor de outra pessoa e o ecrã de Pools não aparecer, isso é a resposta do servidor e não um erro.

