Hermes Agent em USB Portátil: Configuração e Segurança para Profissionais de IT

IA · Hermes Agent · USB Portátil · Nous Research · Ollama · Segurança · API Keys  |  ✎ Duarte Spínola  |  14 de Junho de 2026

O Hermes Agent é um agente de IA autónomo open-source da Nous Research, lançado em Fevereiro de 2026, com memória persistente entre sessões, sistema de skills reutilizáveis e suporte a mais de 100 ferramentas — pesquisa web, automação de browser, execução de código, gestão de ficheiros, integração com Telegram, Discord e muito mais. A versão portátil corre directamente de uma pen USB ou SSD externo, sem instalar nada no computador host e sem direitos de administrador.

Para profissionais de IT, a versão USB tem duas vantagens concretas: o agente e toda a sua memória acumulada viajam consigo entre máquinas de trabalho, e os dados — histórico de sessões, skills, configurações e API keys — nunca ficam armazenados no computador onde está a ser utilizado.

ℹ Requisitos mínimos

Pen USB ou SSD externo com pelo menos 4 GB livres (recomendado 16 GB+ para modelos locais)  ·  Windows 10/11, macOS 12+, ou Linux (Ubuntu 20.04+, Debian 11+)  ·  Ligação à internet na primeira execução (para descarregar dependências)  ·  Python não precisa de estar instalado no host — o launcher descarrega tudo automaticamente

1. O que é o Hermes Agent e o que Faz

Ao contrário de um chatbot que começa do zero em cada sessão, o Hermes Agent mantém um ciclo de aprendizagem fechado: quando resolve uma tarefa, escreve um ficheiro de skill em Markdown, guarda o resultado em memória persistente com SQLite e ajusta a abordagem para a próxima vez — sem configuração manual.

Capacidade O que faz na prática
Memória persistente Recorda contexto, preferências e resultados entre sessões — o agente fica mais eficaz ao longo do tempo
Skills reutilizáveis Aprende workflows e guarda-os como ficheiros Markdown em data/skills/ — pode ser instruído a criar novas skills manualmente
100+ ferramentas built-in Pesquisa web, operações de ficheiros, execução de código, automação de browser, delegação a subagentes, tarefas agendadas (cron)
Múltiplos providers de IA Nous Portal, OpenRouter, OpenAI, Anthropic, ou qualquer endpoint local compatível com a API OpenAI (Ollama, LM Studio)
Mensageiros integrados Telegram, Discord, Slack, WhatsApp — o agente pode ser controlado via mensagem
Offline sem API key Mesmo sem modelo configurado, o agente corre em modo guiado com um manual de 1.054 linhas built-in para ajudar no setup inicial

2. Estrutura de Ficheiros no USB

Entender a estrutura é essencial para saber o que viaja contigo e o que pode ser deixado para trás:

hermes-portable/
├── launch.bat          # Launcher Windows — duplo clique para iniciar
├── launch.sh           # Launcher macOS/Linux
├── scripts/
│   ├── setup-windows.ps1   # Setup automático Windows (primeira execução)
│   └── setup-unix.sh       # Setup automático macOS/Linux
│
├── data/               # ★ A TUA INFORMAÇÃO — move-se sempre com o USB
│   ├── config.yaml     # Configuração do Hermes (provider, modelo, etc.)
│   ├── .env            # API keys e segredos — NUNCA commitar
│   ├── sessions/       # Histórico de conversas
│   ├── memories/       # Memória persistente (SQLite)
│   ├── skills/         # Skills aprendidas e criadas manualmente
│   └── cron/           # Tarefas agendadas
│
├── src/
│   └── hermes-agent/   # Código fonte (descarregado automaticamente)
│
└── .cache/             # Runtimes por plataforma (NÃO precisa de mover)
    └── runtimes/
        ├── windows-x64/    # Python 3.13 + deps Windows
        ├── macos-arm64/    # Python 3.13 + deps Apple Silicon
        ├── macos-x64/
        ├── linux-x64/
        └── linux-arm64/

ℹ O que é essencial e o que pode ser recriado

A pasta data/ é o único conteúdo verdadeiramente seu — memória, skills, configuração e API keys. A pasta .cache/ e a pasta src/ são recriadas automaticamente na primeira execução em cada plataforma — podem ser apagadas para libertar espaço. Num USB de migração de urgência, basta copiar a pasta data/.

3. Passo 1 — Descarregar e Preparar o USB

1
Formatar o USB em exFAT — é o único sistema de ficheiros que Windows, macOS e Linux lêem e escrevem nativamente sem drivers adicionais
2
Descarregar o repositório portátil:

Opção A — GitHub: github.com/Aiworksolutions/hermesAgent-usb-portableCode → Download ZIP
Opção B — Git:

git clone https://github.com/Aiworksolutions/hermesAgent-usb-portable E:\hermes
3
Extrair o conteúdo directamente para a raiz do USB — a estrutura final deve ser E:\launch.bat (não E:\hermes-portable\launch.bat)

⚠ Pen USB lenta = experiência degradada

O Hermes Agent lê e escreve continuamente na pasta data/ durante cada sessão. Uma pen USB 3.0 barata com velocidade de escrita abaixo de 20 MB/s torna a experiência muito lenta. Usar de preferência um SSD externo USB 3.1 ou uma pen com classificação USB 3.2 A2. Em alternativa, pode ser instalado numa pasta normal no disco do computador — perde a portabilidade mas ganha em velocidade.

4. Passo 2 — Primeira Execução e Setup Automático

Na primeira execução, o launcher detecta o sistema operativo e a arquitectura (x64, ARM64) e descarrega automaticamente Python 3.13 e todas as dependências para a pasta .cache/runtimes/ no USB — sem tocar no sistema do computador host.

Windows

# Duplo clique no Explorador de Ficheiros:
E:\launch.bat

# Ou via PowerShell (permite ver output completo do setup):
cd E:\
.\launch.bat

macOS

# Via Terminal:
cd /Volumes/HERMES
chmod +x launch.sh
./launch.sh

# Para duplo clique no Finder, renomear para .command:
mv launch.sh launch.command

Linux

cd /media/$USER/HERMES
chmod +x launch.sh
./launch.sh

O setup demora 2–5 minutos na primeira execução (depende da velocidade da ligação e do USB). No final, o terminal mostra:

✓ Python 3.13 runtime ready
✓ Dependencies installed
✓ Hermes Agent ready

No model configured. Starting in guided mode...
Hermes > Olá! Ainda não tens um modelo configurado. Posso ajudar-te a configurar o OpenRouter, LM Studio ou o Nous Portal. Por onde queres começar?

5. Passo 3 — Configurar o Modelo de IA

A configuração fica em dois ficheiros dentro da pasta data/ — que viaja sempre com o USB.

data/config.yaml — configuração principal

# data/config.yaml
provider: openrouter        # nous_portal | openrouter | openai | anthropic | ollama
model: hermes/hermes-4-70b  # ou qualquer modelo disponível no provider

# Configurações de comportamento
language: pt                # Respostas em português europeu
memory_enabled: true
skills_enabled: true
max_context_tokens: 32768

data/.env — API keys

# data/.env — um por linha, sem espaços
OPENROUTER_API_KEY=sk-or-v1-...

# Alternativas:
OPENAI_API_KEY=sk-proj-...
ANTHROPIC_API_KEY=sk-ant-...
NOUS_API_KEY=nrs-...

# Para modelo local (sem API key necessária):
OLLAMA_BASE_URL=http://localhost:11434
Provider Custo Privacidade Quando usar
Nous Portal Pago por token Cloud Acesso aos modelos Hermes 4 com melhor integração
OpenRouter Pago por token Cloud Acesso a 200+ modelos com uma única API key — mais flexível
OpenAI / Anthropic Pago por token Cloud Quando o modelo específico (GPT-4o, Claude) é necessário
Ollama (local) Gratuito 100% local Dados sensíveis, uso offline, sem custo recorrente

6. Passo 4 — Ligação a Modelo Local via Ollama (Opcional)

Para contextos onde os dados não podem sair da rede — dados de clientes, documentação interna, scripts com credenciais — o Hermes pode ser apontado para um servidor Ollama local. Nenhum dado é enviado para a cloud.

1
Instalar o Ollama no computador local em ollama.com e descarregar um modelo de raciocínio adequado:
# Modelos recomendados por RAM disponível
ollama pull qwen2.5:14b       # 16 GB RAM — bom equilíbrio para agentes
ollama pull qwen2.5:32b       # 32 GB RAM — melhor para raciocínio complexo
ollama pull hermes3:8b        # 8 GB RAM — versão Hermes para hardware mais limitado

# Confirmar que o Ollama está a responder
curl http://localhost:11434/api/tags
2
Configurar o Hermes para usar o Ollama em data/config.yaml:
# data/config.yaml
provider: ollama
model: qwen2.5:14b
base_url: http://localhost:11434

# data/.env (sem API key necessária para Ollama)
OLLAMA_BASE_URL=http://localhost:11434

7. Passo 5 — Segurança: Proteger API Keys e Dados

A pasta data/ contém o ficheiro .env com as API keys em texto claro. Se o USB for perdido ou roubado sem protecção, qualquer pessoa tem acesso imediato a essas chaves — e ao historial de sessões completo. Há três níveis de protecção a considerar.

Nível 1 — Revogar rapidamente (obrigatório)

Independentemente de qualquer encriptação, saber onde revogar cada API key em menos de 5 minutos em caso de perda:

Provider URL de revogação
OpenRouter openrouter.ai/keys
OpenAI platform.openai.com/api-keys
Anthropic console.anthropic.com/settings/keys
Nous Portal portal.nousresearch.com/api-keys

Nível 2 — BitLocker To Go (Windows, sem software adicional)

O BitLocker To Go encripta todo o USB com AES-256 e está disponível no Windows 10/11 Pro e Enterprise sem instalar nada:

1
No Explorador de Ficheiros, clicar com o botão direito na letra do USB → Activar BitLocker
2
Seleccionar “Usar uma palavra-passe para desbloquear a unidade” e definir uma password forte
3
Guardar a chave de recuperação num local seguro (não no mesmo USB)
4
O USB encriptado com BitLocker To Go pode ser lido em qualquer Windows ao inserir — pede a password antes de montar

⚠ BitLocker To Go é só Windows

Um USB com BitLocker To Go não pode ser lido nativamente no macOS ou Linux sem software adicional (Dislocker no Linux, M3 BitLocker no macOS). Se a portabilidade entre sistemas operativos for necessária, usar VeraCrypt (Nível 3).

Nível 3 — VeraCrypt (Windows, macOS e Linux)

O VeraCrypt cria um container encriptado portátil que funciona nos três sistemas operativos. A abordagem recomendada é encriptar apenas a pasta data/ num container VeraCrypt, deixando os launchers acessíveis fora do container:

# Instalar VeraCrypt em veracrypt.fr/en/Downloads.html
# Criar container no USB:

1. VeraCrypt → Criar Volume → Ficheiro de container encriptado
2. Localização: E:\hermes-data.vc (tamanho: 2 GB ou mais)
3. Algoritmo: AES-256 + SHA-512
4. Password forte (mínimo 20 caracteres)
5. Montar como unidade virtual (ex: V:\) e mover a pasta data/ para lá
6. Actualizar config.yaml para apontar para V:\data

ℹ Opção mais simples — encriptar apenas o .env

Se a encriptação total for demasiado complexa para o contexto, uma alternativa aceitável é guardar as API keys num gestor de passwords (Bitwarden, 1Password) e copiar para o .env apenas antes de cada sessão — apagando o ficheiro no fim. É menos conveniente mas mantém as keys protegidas mesmo se o USB for perdido.

8. Sessões Seguintes — Fluxo de Utilização Diária

Após o setup inicial, o fluxo diário é simples:

# Windows — duplo clique ou via PowerShell:
E:\launch.bat

# O agente retoma o contexto da sessão anterior automaticamente
Hermes > Bom dia! Ontem ficámos a meio da análise dos logs do servidor.
         Queres continuar ou tens uma nova tarefa?

Comandos de gestão úteis dentro do agente:

# Ver memórias guardadas
Mostra-me o que recordas sobre os projectos em que trabalhei

# Listar skills disponíveis
Lista todas as skills que tens disponíveis

# Criar uma nova skill manualmente
Cria uma skill chamada "analisar-logs-iis" que lê logs do IIS e resume erros 5xx

# Agendar uma tarefa recorrente
Agenda para todos os dias às 08h00 um resumo dos últimos eventos do Event Viewer

# Verificar a configuração actual
Que modelo estás a usar e qual é a tua configuração actual?

9. Skills Úteis para Profissionais de IT

As skills são ficheiros Markdown em data/skills/ que ensinam ao agente padrões específicos. Podem ser criadas manualmente ou pedidas ao agente. Exemplos prontos a criar:

Skill O que faz Como criar
analisar-logs Lê logs do Event Viewer, nginx, IIS ou syslog e resume erros com causa e sugestão “Cria uma skill para analisar logs de erro e resumir em PT”
gerar-script-ps Gera scripts PowerShell com -WhatIf, try/catch e logging seguindo os padrões kbase.pt “Cria uma skill para gerar scripts PowerShell seguros com logging”
diagnostico-m365 Guia o diagnóstico de problemas no Microsoft 365 — Autodiscover, MFA, licenciamento, etc. “Cria uma skill de diagnóstico para problemas no M365 e Exchange Online”
triagem-ticket Analisa a descrição de um ticket e propõe categorização, prioridade e primeiros passos “Cria uma skill para triagem de tickets de helpdesk IT”
documentar-resolucao A partir de uma conversa de resolução, gera a nota de ticket estruturada (sintoma, causa, solução, confirmação) “Cria uma skill para documentar resoluções de tickets no formato kbase.pt”

10. Problemas Comuns e Como Resolver

Problema Causa Solução
launch.bat não abre nada Windows bloqueou por política de execução ou antivírus Clicar com o botão direito → Executar como administrador. Se o problema persistir, abrir PowerShell e executar Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
Erro “API key inválida” ou “Unauthorized” Chave expirada, revogada, ou nome da variável errado no .env Verificar o nome exacto da variável (OPENROUTER_API_KEY, não OPENROUTER_KEY). Gerar nova chave no portal do provider.
Agente muito lento no USB Pen USB com velocidade de escrita baixa Usar SSD externo USB 3.1 ou copiar o setup completo para uma pasta no disco local e manter apenas a pasta data/ no USB
Memória não persiste entre sessões memory_enabled: false no config.yaml Abrir data/config.yaml e definir memory_enabled: true
macOS recusa executar launch.command Gatekeeper bloqueia executáveis de origens não verificadas No Terminal: xattr -d com.apple.quarantine /Volumes/HERMES/launch.command
Ollama não responde Servidor Ollama não está a correr no host Verificar com curl http://localhost:11434/api/tags. Se não responder, iniciar o Ollama: ollama serve

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário