Hermes: trocar de OpenAI Codex para OpenAI API
Como sair do login Codex da assinatura do ChatGPT Plus e passar a usar a chave da OpenAI API no modelo principal — e, se quiser, também nos auxiliares.
A mudança que você quer fazer é conceitualmente simples: trocar o provider do Hermes de openai-codex para openai-api. O modelo pode continuar sendo o mesmo se ele existir na rota da API. Nesta instância, isso já foi verificado em execução real com gpt-5.4 e gpt-5.4-mini via openai-api.
model.provider para openai-api e manter model.default em gpt-5.4. Para trocar também os auxiliares, ajuste os blocos em auxiliary.*.provider. A mudança vale para novas sessões; conversas já abertas continuam no provider com que nasceram, a menos que você faça um hot-swap explícito.
Estado atual desta instalação
Antes de propor qualquer passo, vale olhar o que está realmente configurado hoje.
model:
default: gpt-5.4
provider: openai-codex
base_url: https://chatgpt.com/backend-api/codex
auxiliary:
vision:
provider: openai-codex
model: gpt-5.4-mini
web_extract:
provider: openai-codex
model: gpt-5.4-mini
compression:
provider: openai-codex
model: gpt-5.4-mini
approval:
provider: openai-codex
model: gpt-5.4-mini
title_generation:
provider: openai-codex
model: gpt-5.4-mini
OPENAI_API_KEY: set
OPENAI_BASE_URL: missing
Isso significa duas coisas importantes.
- O seu Hermes está hoje com o principal em
openai-codex. - A OpenAI API já está pronta para uso, porque a
OPENAI_API_KEYestá configurada.
O que muda de fato
Esses dois providers têm papéis diferentes no Hermes:
openai-codex: usa o login/OAuth da experiência Codex vinculada à sua conta ChatGPT.openai-api: usa aOPENAI_API_KEYe fala com a API da OpenAI.
openai-api evita depender do provider openai-codex para as novas conversas. O Hermes continua funcionando; só muda a rota de inferência.
Validação real: o mesmo modelo funciona na OpenAI API?
Aqui eu não quis assumir. Testei de verdade os modelos alvo pela linha de comando, sem alterar a sua configuração persistente.
$ hermes -z 'Responda apenas OK.' --provider openai-api -m gpt-5.4 --ignore-rules --ignore-user-config
OK.
$ hermes -z 'Responda apenas OK.' --provider openai-api -m gpt-5.4-mini --ignore-rules --ignore-user-config
OK
Então, nesta instalação, faz sentido sugerir a troca mantendo gpt-5.4 no principal e gpt-5.4-mini em auxiliares leves.
Como trocar só o chat principal
Você tem dois caminhos bons: interativo e direto por config.
Caminho 1 — interativo com hermes model
Esse é o caminho mais seguro quando você quer deixar o Hermes escrever a configuração por você.
- Saia de qualquer sessão do Hermes que você queira encerrar.
- Rode
hermes model. - Escolha o provider OpenAI API (direct).
- Escolha o modelo
gpt-5.4. - Salve.
Conceitualmente, o resultado esperado no YAML é este:
model:
default: gpt-5.4
provider: openai-api
base_url: ''
Caminho 2 — direto com hermes config set
Se você já sabe exatamente o que quer, dá para ir reto nos campos.
hermes config set model.provider openai-api
hermes config set model.default gpt-5.4
hermes config set model.base_url ''
base_url?
Hoje ele aponta para https://chatgpt.com/backend-api/codex, que é a rota do provider antigo. Ao migrar para openai-api, o mais limpo é deixar o base_url vazio para o Hermes usar o endpoint padrão da OpenAI API.
Quando a mudança passa a valer
A regra prática é esta:
- CLI / chat principal: a troca vale para a próxima sessão nova.
- Conversa já aberta: continua no provider antigo até você abrir outra ou fazer hot-swap explícito.
- Gateway: novas sessões passam a usar a nova configuração; se quiser forçar releitura global, reinicie o gateway.
hermes config
hermes status
hermes gateway restart # só se você quiser forçar releitura no gateway
E se eu quiser trocar a conversa atual?
Para a sessão corrente, a documentação do Hermes indica o uso de /model dentro do chat. Isso faz o hot-swap da conversa atual; se você usar a variante global, também persiste em config.yaml.
/model gpt-5.4 --provider openai-api
/model gpt-5.4 --provider openai-api --global
Se a sua intenção for trocar só para as próximas conversas, eu prefiro o ajuste por hermes model ou hermes config set, porque fica mais claro e menos acoplado à sessão aberta no momento.
Como ajustar também os auxiliares
Os auxiliares ficam em blocos independentes dentro de auxiliary.*. Se você quiser alinhar tudo na OpenAI API, basta mudar o provider de cada tarefa relevante.
Exemplo prático para as tarefas mais comuns desta instalação:
hermes config set auxiliary.vision.provider openai-api
hermes config set auxiliary.vision.model gpt-5.4-mini
hermes config set auxiliary.web_extract.provider openai-api
hermes config set auxiliary.web_extract.model gpt-5.4-mini
hermes config set auxiliary.compression.provider openai-api
hermes config set auxiliary.compression.model gpt-5.4-mini
hermes config set auxiliary.approval.provider openai-api
hermes config set auxiliary.approval.model gpt-5.4-mini
hermes config set auxiliary.title_generation.provider openai-api
hermes config set auxiliary.title_generation.model gpt-5.4-mini
Se quiser ir além e deixar todos os slots auxiliares no mesmo provider, o mesmo padrão se aplica a:
auxiliary.skills_hubauxiliary.mcpauxiliary.triage_specifierauxiliary.kanban_decomposerauxiliary.profile_describerauxiliary.curator
auxiliary:
vision:
provider: openai-api
model: gpt-5.4-mini
web_extract:
provider: openai-api
model: gpt-5.4-mini
compression:
provider: openai-api
model: gpt-5.4-mini
approval:
provider: openai-api
model: gpt-5.4-mini
title_generation:
provider: openai-api
model: gpt-5.4-mini
auto ou em outro provider, isso pode ser intencional. Só alinhe tudo se a sua meta for mesmo centralizar custo e roteamento.
Estratégia recomendada para o seu caso
Como a sua motivação é econômica e temporária — os créditos do Plus estão perto do fim e o reset vem em dois dias — eu faria assim:
- Trocar primeiro só o principal para
openai-api. - Abrir uma nova conversa e validar se o fluxo diário continua normal.
- Se ficar bom, decidir se vale migrar também vision, web_extract, compression, approval e title_generation.
- Quando os créditos do Codex resetarem, escolher conscientemente se você quer voltar o principal para
openai-codexou manter a OpenAI API.
Essa abordagem preserva clareza operacional: uma mudança por vez.
Checklist curto de execução
- Confirmar que a
OPENAI_API_KEYestá configurada — nesta instalação, ela já está. - Trocar
model.providerparaopenai-api. - Manter
model.defaultemgpt-5.4. - Limpar
model.base_url. - Abrir uma nova sessão do Hermes.
- Rodar uma pergunta simples e checar
hermes statusouhermes config. - Se quiser, repetir o processo nos blocos
auxiliary.*.
Fontes e base desta página
- Configuração real em
~/.hermes/config.yaml. - Checagem real de
OPENAI_API_KEYno ambiente. - Ajuda dos comandos
hermes,hermes modelehermes config set. - Documentação local do Hermes em
website/docs/user-guide/configuring-models.md,website/docs/integrations/providers.mdewebsite/docs/reference/environment-variables.md. - Testes reais com override temporário via
hermes -zemopenai-apicomgpt-5.4egpt-5.4-mini.