Modelo local no Hermes Agent: Ollama, Qwen e troca explícita para a nuvem
Guia prático com foco em privacidade: configure Qwen local via Ollama, teste a cadeia com uma tarefa pequena, adicione um provedor em nuvem, troque por sessão ou por uma rodada e revise ferramentas, modelos auxiliares e fallback.
Conteúdo

Você pode deixar o Hermes Agent em um modelo local para arquivos e comandos do dia a dia e usar a nuvem apenas quando a tarefa realmente exigir. A política mais previsível é comprovar primeiro a rota local e transformar cada escalada para a nuvem em uma decisão explícita, em vez de depender de um fallback invisível.
Este guia segue a documentação atual do Hermes e do Ollama. Ele conecta um Qwen local, executa uma tarefa verificável, configura um provedor cloud, explica três escopos de troca e mostra quais etapas podem tirar dados da máquina. Os passos foram conferidos na documentação; não representam um benchmark próprio neste hardware.
Política recomendada: local por padrão, nuvem por escolha consciente
| Situação | Prioridade | Motivo |
|---|---|---|
| Arquivos locais, pequenas alterações de código e tarefas rotineiras | Ollama/Qwen local | A chamada do modelo vai para 127.0.0.1, deixando a fronteira clara |
| Falhas repetidas em tool calls | Diagnosticar modelo, runtime e contexto | O erro pode estar no formato, parser ou contexto, não na dificuldade da tarefa |
| Contexto longo, raciocínio complexo, visão ou urgência | Abrir uma sessão limpa e trocar explicitamente para cloud | Você ganha capacidade sem enviar uma conversa privada antiga por acidente |
| Nada pode sair do dispositivo | Modelo e ferramentas locais, sem auxiliares cloud nem fallback | Um main model local não torna o fluxo inteiro offline |
Separe a fronteira do modelo, das ferramentas e dos serviços auxiliares
| Etapa | Destino usual | O que verificar |
|---|---|---|
Hermes chama http://127.0.0.1:11434/v1 | Ollama local | O tag não termina em :cloud e a URL é loopback |
| Próxima rodada após trocar para cloud | Provedor cloud | Contexto, instruções do sistema e esquemas de ferramentas podem ser enviados |
| Arquivos e terminal locais | Em geral ficam na máquina | O comando pode fazer upload, download ou chamar uma API remota |
| Web, browser, search, MCP remoto ou mensageria | Serviço acessado | Consulta, conteúdo, argumentos e resultados |
| Whisper local com TTS cloud | Reconhecimento local; texto de síntese vai para cloud | A cadeia de voz é híbrida, não totalmente offline |
fallback_providers ou slots auxiliares cloud | Cloud quando acionado | Erro, limite, autenticação ou capacidade podem mudar a rota automaticamente |
O seletor Ollama para Hermes lista modelos locais e cloud. Um nome terminado em :cloud continua usando inferência remota.
Caminho rápido com ollama launch hermes
ollama launch hermes
A integração oficial pode instalar o Hermes, apresentar o seletor e configurar http://127.0.0.1:11434/v1. Escolha uma entrada local; qwen3.5:cloud, por exemplo, é cloud.
Confira a configuração efetiva:
hermes config get model --json
hermes status
Se o launcher não encontrar seu modelo ou você quiser inspecionar cada ação, faça a configuração manual.
Configuração manual do Qwen local
1. Baixe um Qwen com suporte a tools
O Ollama marca a família Qwen 3.5 como compatível com tools. Usaremos qwen3.5:4b como exemplo leve de conectividade, não como garantia de desempenho agente em qualquer tarefa. Escolha uma variante maior se sua RAM ou VRAM permitir.
ollama --version
ollama pull qwen3.5:4b
Inicie o serviço apenas se ele ainda não estiver ativo:
ollama serve
Em outro terminal:
curl http://127.0.0.1:11434/api/tags
Teste o endpoint compatível com OpenAI antes de envolver o Hermes:
curl http://127.0.0.1:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5:4b",
"messages": [{"role": "user", "content": "Reply with LOCAL_OK"}],
"max_tokens": 16
}'
Um JSON com a resposta do modelo comprova que o Ollama está servindo localmente. Se ocorrer Connection refused, corrija o serviço antes de alterar o Hermes.
2. Aponte o Hermes para o endpoint local
hermes model
Escolha Custom endpoint e informe:
- API Base URL:
http://127.0.0.1:11434/v1 - API Key: deixe vazio
- Model:
qwen3.5:4b - Context length: deixe vazio quando a integração atual oferecer auto-detect
Verifique:
hermes config get model --json
hermes status
O resultado deve mostrar o modelo local, o provedor custom e a URL loopback. Para trabalho pesado com ferramentas, o Hermes recomenda contexto amplo. Se houver erro de contexto, siga a orientação da sua versão e veja o valor carregado de fato:
ollama ps
Não force um contexto que cause falta de memória ou swap constante.
Execute uma tarefa pequena e valide o arquivo
mkdir -p ~/hermes-local-check
cd ~/hermes-local-check
printf 'alpha\nbeta\ngamma\n' > input.txt
hermes
No Hermes, digite:
Leia input.txt. Crie summary.md com a contagem de linhas e um resumo de uma frase. Não use Web, browser, network, messaging nem ferramentas cloud. Ao final, informe o caminho exato gravado.
Confira:
cd ~/hermes-local-check
cat summary.md
A prova passa se summary.md existir, reconhecer três linhas, o Hermes executar a ação em vez de apenas imprimir JSON, hermes status continuar mostrando Qwen local e não houver fallback ou auxiliar cloud indesejado.
Isso comprova endpoint, tool loop e escrita de arquivo. Não mede tarefas complexas nem garante que toda ferramenta opcional seja offline.
Configure a nuvem sem esconder a troca
hermes model
Escolha o provedor cloud, conclua OAuth ou a entrada interativa do segredo e selecione um modelo. Não cole chaves em chat nem em comandos salvos no histórico.
Como hermes model altera o padrão, volte para o local na sessão atual e nas próximas:
/model qwen3.5:4b --provider custom --global
Os três escopos são:
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER --once
/model YOUR_CLOUD_MODEL --provider YOUR_CLOUD_PROVIDER --global
- A primeira muda apenas a sessão atual.
--onceusa cloud na próxima rodada e restaura o modelo anterior.--globaltambém muda o padrão das novas sessões.
Para voltar ao local:
/model qwen3.5:4b --provider custom
Se o provedor não aparecer em /model, configure-o com hermes model. O comando da sessão não cria credenciais.
Quando vale a pena mudar para cloud
Mantenha local código não publicado, documentos pessoais, logs internos e tarefas delimitadas. Se as ferramentas funcionam e a velocidade é aceitável, uma melhoria teórica de qualidade não exige enviar a sessão para fora.
Use cloud quando o modelo local continuar falhando após a verificação de endpoint, contexto e tool support; quando precisar de contexto muito maior, visão, raciocínio multietapas ou menor latência.
Para dados sensíveis, abra uma nova sessão cloud e envie somente o mínimo necessário. O Hermes documenta que a troca no meio da sessão reinicia a prompt cache e a próxima requisição relê a conversa. Para privacidade, presuma que o contexto relevante será enviado ao provedor cloud.
Audite modelos auxiliares e fallback
Se toda chamada externa precisa da sua decisão, não configure fallback_providers. Ele pode ativar por erro, rate limit, autenticação ou capacidade; isso não equivale a uma decisão humana de que a tarefa é difícil.
O Hermes também pode usar modelos auxiliares para compression, vision e web extraction. Um main model local não prova que esses slots são locais.
Em Bash, macOS ou Linux:
grep -nE 'fallback|auxiliary|base_url|provider|default' ~/.hermes/config.yaml
No Windows, examine %USERPROFILE%\.hermes\config.yaml. Revise o endpoint principal, auxiliares, fallback_providers e Base URL remotas desconhecidas.
Para evidência mais forte, use logs de firewall, DNS ou proxy de saída. Um selo “local” na interface não prova o tráfego de toda a cadeia.
Resolução de problemas
Connection refused
curl http://127.0.0.1:11434/api/tags
Se falhar, inicie ollama serve ou o serviço desktop.
O modelo imprime JSON de ferramenta, mas não age
Confirme que o tag Qwen suporta tools e que Hermes e Ollama estão atualizados. Modelos pequenos podem falhar em argumentos complexos. Repita o teste de um arquivo e depois tente um modelo local maior ou uma troca cloud explícita.
Modelo ou provedor ausente
Use hermes model. /model mostra apenas rotas já configuradas.
O chat atual continua no modelo antigo
A mudança de padrão costuma valer para sessões novas. Use /model na sessão ativa ou abra outra.
Lentidão ou erro de contexto
ollama ps
Confira tamanho, GPU offload e contexto. Contexto maior ajuda com esquemas de ferramentas, mas usa mais memória e aumenta o prefill.
Uma pilha híbrida pode ser útil sem ser totalmente offline
Um usuário do X descreveu um protótipo pessoal com Gemma via Ollama Cloud, Qwen cloud, Qwen local, Whisper local e TTS cloud. É um exemplo de roteamento por tarefa, mas continua sendo um relato individual sem configuração reproduzível, logs de rede ou benchmark independente.
Modelos, voz e ferramentas têm fronteiras próprias. Whisper local não torna local o TTS cloud, e um main model local não torna privadas as chamadas para calendário, gestão de projetos, busca ou MCP remoto.
Checklist final
- O tag local não termina em
:cloude a Base URL éhttp://127.0.0.1:11434/v1. - O
curldireto funciona ehermes statusmostra a rota esperada. - A tarefa de teste cria
summary.mdde verdade. - O provedor cloud está configurado, mas toda troca usa
/modelexplicitamente. - Trabalho sensível em cloud começa em uma sessão nova com contexto mínimo.
- Ferramentas remotas, auxiliares e
fallback_providersforam revisados. - Para uma exigência offline, todas as ferramentas de rede e serviços cloud ficam desativados.