Recurso

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çãoPadrãoPor quê
Que conta escolheMais quota disponívelLida 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 trocaLimite de utilização, autenticação expirada, conta alteradaUma renovação de token falhada não desencadeia, porque uma renovação costuma falhar por um motivo que outra conta não resolve.
Troca preventivaAbaixo de 15% restantesApenas quando outro membro tiver quota utilizável mais fresca. Defina-o como 0 e o Happier espera pelo limite real.
Trocas por turno1Um 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ão3Um teto, não um objetivo.
Intervalo entre trocas30 segundosImpede que uma resposta instável de um fornecedor produza uma rajada de mudanças de conta.
Horas de reposição do fornecedorRespeitadosUm 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 ligaAgentes que a podem usarTroca a meio da sessãoMedidor de quota
Subscrição ClaudeClaude Code, OpenCode, PiClaude CodeSim
Chave de API da AnthropicClaude Code, OpenCode, PiClaude CodeNo
Subscrição CodexCodex, OpenCode, PiCodexSim
Chave de API da OpenAICodex, OpenCode, PiCodexNo
GeminiGeminiNenhumSim

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.