Nexialismo, a última inteligência
Documentos de campo sobre orquestração entre humanos e agentes, por José Carlos Amorim. Cada um existe em HTML, em markdown puro e em texto, em português e em inglês.
- Como um agente de IA agenda um post no LinkedIn pelo Zernio. Procedimento REST executado contra a API real, as falhas silenciosas e o que o Zernio não faz. (markdown, English)
- Criei um cron com schedule "every sunday 9am" e o Hermes recusou. Por que, se esse exemplo está na documentação oficial?. Não aceita. Na v0.19.0 o parser `parse_schedule` só reconhece 4 formatos: duração one-shot (`30m`, `2h`, `1d`), intervalo (`every <duração>`, ex. `every 2h`), expressão cron de 5+ (markdown, English)
- Por que `@daily` e `0 9 * * MON-FRI` não funcionam como schedule de cron no Hermes?. Não funcionam. Antes de chamar o croniter, `parse_schedule` aplica o pré-filtro `re.match(r'^[\d\*\-,/]+$', p)` nos 5 primeiros campos: só dígito, `*`, `-`, `,` e `/` passam. `MON- (markdown, English)
- Quantos cron jobs o Hermes roda em paralelo por tick? A doc diz 4, mas parece que ele roda tudo de uma vez.. O default real é ILIMITADO, não 4. A cadeia de resolução em `cron/scheduler.py` é: env `HERMES_CRON_MAX_PARALLEL` > `cron.max_parallel_jobs` no config.yaml > unbounded. Se nenhum d (markdown, English)
- Coloquei `cron.max_parallel_jobs: 2` no config.yaml e continua rodando tudo em paralelo. Por que não pegou?. Três causas possíveis, nessa ordem: (1) existe um `HERMES_CRON_MAX_PARALLEL` no ambiente do gateway e ele ganha do config.yaml, sempre; (2) você usou `0`, e `int(_cfg_par) or None` (markdown, English)
- Criei o cron job, o `next_run_at` já passou faz horas e ele nunca rodou. Nenhum erro em lugar nenhum. O que está acontecendo?. O gateway não está rodando. Não existe daemon de cron separado no Hermes: o ticker vive DENTRO do processo do gateway e é o único gatilho do provider built-in. Sem gateway, `next_r (markdown, English)
- Meu cron job não consegue rodar comandos, diz que foi bloqueado. Coloquei `cron_mode: off` no config e continuou bloqueando. Por quê?. Duas coisas. O default de `approvals.cron_mode` é `deny`, e `off` sem aspas é parseado pelo YAML 1.1 como o booleano `False`, cujo `str()` é `"False"`, que não está no conjunto de (markdown, English)
- Por que o `execute_code` não funciona dentro dos meus cron jobs? Funciona normal no chat.. Porque `approvals.cron_mode` vem `deny` por default, e nesse modo o `execute_code` é bloqueado incondicionalmente em sessões de cron. A mensagem é `BLOCKED: execute_code runs arbit (markdown, English)
- Se eu colocar `approvals.cron_mode: approve`, meus cron jobs viram yolo total? Corro risco de um `rm -rf /`?. Não vira yolo total. `cron_mode: approve` auto-aprova comandos classificados como perigosos, mas NÃO fura a hardline blocklist nem as deny rules do usuário. Existe teste explícito (markdown, English)
- Tenho um watchdog que roda a cada 5 minutos. Isso vai me custar caro em tokens? Dá para agendar sem gastar LLM nenhum?. Com `no_agent=True` o custo é zero: nenhuma chamada de inferência, nenhum modelo, nenhum provider. O scheduler roda seu script no horário e entrega o stdout verbatim. O curto-circu (markdown, English)
- Meu script de cron não consegue autenticar. Ele usa GH_TOKEN e a API do Telegram, e dentro do cron os tokens simplesmente não existem. O que houve?. O ambiente do subprocesso passa por `_sanitize_subprocess_env`, que remove credenciais gerenciadas pelo Hermes: chaves de provider, `GH_TOKEN`/`GITHUB_TOKEN`, `TELEGRAM_BOT_TOKEN`, (markdown, English)
- Meu cron job travou numa chamada de API e ficou pendurado. Existe timeout? E ele mata jobs longos legítimos?. `HERMES_CRON_TIMEOUT` é um timeout de INATIVIDADE, não de wall-clock: default 600 segundos SEM nenhuma atividade (tool call, chamada de API, delta de stream). Um job que continua p (markdown, English)
- Meu cron job falha todo dia há uma semana e ninguém desligou ele. Existe alguma coisa tipo desativar automaticamente na décima falha consecutiva?. Não existe. Na v0.19.0 nenhum contador de falhas consecutivas desativa, pausa ou bloqueia um cron job, nem na décima nem em nenhuma outra. Um job recorrente que falha continua tent (markdown, English)
- Como transformo uma skill numa automação agendada? Coloquei `blueprint` no SKILL.md e instalei, mas nenhum cron job apareceu.. O comportamento está correto: instalar uma skill com bloco `blueprint:` registra uma SUGESTÃO de cron job, nunca agenda. Agendamento é opt-in. Rode `/suggestions` numa sessão e `/s (markdown, English)
- Como eu audito o que os meus cron jobs realmente fizeram enquanto eu não estava olhando? O `list` só mostra o último status.. Use `hermes cron runs [job-id] --limit 20` (alias `history`). A v0.19.0 trouxe um ledger durável em `~/.hermes/cron/executions.db` (PR #61791) que registra cada tentativa reivindic (markdown, English)
- O servidor ficou fora do ar 3 dias. Quando o gateway voltar, meu job `every 1h` vai disparar 72 vezes de uma vez?. Não. Para jobs recorrentes, as execuções perdidas são COLAPSADAS: o `next_run_at` é avançado para a próxima ocorrência futura e o job dispara UMA vez agora. Você não toma rajada de (markdown, English)
- Rodei `hermes cron run <id>`, ele disse "Triggered" e eu não sei se rodou de verdade ou se só agendou. Como confirmo?. Desde a correção #41037, `hermes cron run` executa IMEDIATAMENTE, mesmo sem gateway rodando, e imprime `Ran now: succeeded` ou `Ran now: failed`. A frase `It will run on the next s (markdown, English)
- Por que meu Hermes gasta muito mais do que o volume de conversa que eu tenho? Tem chamada de LLM acontecendo sem eu pedir?. Sim. Todo slot `auxiliary.*` vem com `provider: "auto"`, e na v0.19.0 `auto` significa literalmente "use meu modelo principal". Vision, web_extract, compression, title_generation, (markdown, English)
- Configurei auxiliary.vision no config.yaml e não pegou. Não deu erro nenhum, mas continua usando o modelo principal. Por quê?. São três causas, nessa ordem: (1) sessão já aberta não relê config, precisa de sessão nova; (2) o campo ainda está em `auto`, que significa "usa o principal"; (3) o provider que vo (markdown, English)
- Quantos slots auxiliares existem de verdade? Vi uma página falando em 11 e outra listando 9, e no código tem nome que não aparece em lugar nenhum.. O picker (dashboard e CLI) expõe **11 slots canônicos**: vision, web_extract, compression, skills_hub, approval, mcp, title_generation, triage_specifier, kanban_decomposer, profile (markdown, English)
- O cli-config.yaml.example do repositório diz que os modelos auxiliares usam Gemini Flash por padrão. Isso vale na v0.19.0?. Não vale. O `cli-config.yaml.example` do repositório está desatualizado nesse ponto. Na v0.19.0, `auto` usa o **seu modelo principal**, para todo mundo, inclusive quem está em agre (markdown, English)
- Como eu corto o custo dos modelos auxiliares sem trocar meu modelo principal?. Três alavancas, da mais barata para a mais invasiva: `auxiliary.<task>.reasoning_effort` (aceita `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`, `ultra`), `auxiliary.ti (markdown, English)
- Onde eu vejo quanto os modelos auxiliares me custaram? O total da sessão não bate com a fatura.. Desde a v0.19.0 (PR #65537) o uso auxiliar é gravado por task em `session_model_usage`, e aparece em `GET /api/analytics/usage` nos campos `by_task` e `by_model`. O campo `totals` (markdown, English)
- Estou chamando `hermes -z` dentro de um pipeline. Como registro quanto cada invocação custou?. Use `hermes -z "prompt" --usage-file /caminho/uso.json`. Ele escreve um JSON com `estimated_cost_usd`, contagem de tokens (incluindo cache read/write e reasoning), `api_calls`, `mo (markdown, English)
- Meu board Kanban está fazendo chamada de LLM sozinho a cada minuto. Como eu paro isso?. `kanban.auto_decompose` vem **`true` por default**. O dispatcher embutido no gateway roda a cada 60s e dispara o decompositor (uma chamada ao modelo `auxiliary.kanban_decomposer`) (markdown, English)
- Como eu faço os subagentes de delegate_task rodarem num modelo barato em vez de herdarem meu Opus?. Sete `delegation.model` (e opcionalmente `delegation.provider`) no `config.yaml`. Sem isso, o filho herda exatamente o modelo do pai. Para cron desatendido, some `delegation.child_ (markdown, English)
- Se eu aumentar max_spawn_depth, quanto isso pode me custar no pior caso?. A largura da árvore é `max_concurrent_children ^ max_spawn_depth`. Com os dois em 3, chega a 3×3×3 = **27 agentes folha concorrentes**. Não há teto no código para nenhum dos dois: (markdown, English)
- Setei delegation.max_async_children e não mudou nada. Essa chave ainda funciona?. `delegation.max_async_children` está **deprecated** e é removida por migração de config (v32 → v33) na v0.19.0. A chave única passou a ser `delegation.max_concurrent_children`, que (markdown, English)
- Meu state.db está gigante. Apaguei sessões e o arquivo não diminuiu. O que faço?. SQLite não encolhe o arquivo com DELETE. Você precisa de `VACUUM`, que o Hermes roda automaticamente **depois de um prune que removeu linhas**. O auto-prune vem **desligado** por d (markdown, English)
- Rodei `hermes sessions prune --source cron` e apagou sessão de hoje. Eu achava que só pegava coisa velha.. Usar **qualquer** filtro desliga o corte implícito de 90 dias. `hermes sessions prune --source cron` casa com todas as idades. Só o `hermes sessions prune` completamente pelado man (markdown, English)
- Tenho um token velho de OpenRouter que fica aparecendo no picker de modelo. Como sumo com esse provider de vez?. São dois mecanismos diferentes. `model_catalog.excluded_providers` **esconde do picker** (inclusive dos pickers auxiliares), mas o provider continua resolvível em runtime. `provide (markdown, English)
- Vale a pena usar /model --once para mandar só uma pergunta difícil pro modelo caro?. Compensa em sessão curta e na escalada barato→caro. Sai caro no caso oposto: uma pergunta lateral rápida dentro de uma sessão longa e cara. `--once` quebra o prefixo de prompt cach (markdown, English)
- Dá para ver e mudar minha assinatura Nous sem sair do terminal? O que aconteceu com /billing e /credits?. Sim: `/subscription` (ver plano, prever custo da mudança, aplicar) e `/topup` (saldo, adicionar fundos, auto-reload, limites) rodam no terminal na v0.19.0, via PR #51639. `/topup` (markdown, English)
- O Hermes tem quantos sistemas de memória diferentes? Estou confuso porque cada tutorial fala de uma coisa.. São 4 subsistemas independentes na v0.19.0: (1) memória built-in curada em `~/.hermes/memories/` (MEMORY.md 2.200 chars + USER.md 1.375 chars, injetada como snapshot congelado no s (markdown, English)
- Pedi pro agente gravar uma coisa na memória, ele disse que gravou, mas no turno seguinte agiu como se não soubesse. Bug?. Não é bug, é o padrão de snapshot congelado. MEMORY.md e USER.md são lidos do disco e injetados no system prompt **uma vez, no início da sessão**, e nunca mudam no meio dela. O que (markdown, English)
- Qual o limite de tamanho da memória do Hermes e o que acontece quando enche?. MEMORY.md tem 2.200 caracteres (~800 tokens) e USER.md tem 1.375 caracteres (~500 tokens), configuráveis em `memory.memory_char_limit` e `memory.user_char_limit`. A memória **não** (markdown, English)
- Quantos providers de memória externa o Hermes tem e dá pra rodar mais de um ao mesmo tempo?. A v0.19.0 traz 8 plugins de memória bundled (`plugins/memory/`): honcho, openviking, mem0, hindsight, holographic, retaindb, byterover, supermemory. **Apenas um** pode estar ativo (markdown, English)
- Coloquei retention_days: 30 no config pra limpar sessões velhas e o state.db não diminuiu nada. Por quê?. Porque `sessions.auto_prune` é `false` por default, e ele é o interruptor mestre. `retention_days` (default 90), `vacuum_after_prune` (default `true`) e `min_interval_hours` (defau (markdown, English)
- Se eu deixar o agente vasculhar conversas antigas, isso vai me custar caro em tokens?. Não custa nada de contexto fixo. `session_search` roda FTS5 direto no SQLite (`~/.hermes/state.db`), sem nenhuma chamada de LLM e sem sumarização: a doc classifica o custo como *"F (markdown, English)
- Configurei compression.threshold: 0.50 mas a compressão só dispara quando o contexto já está quase estourando. O valor não está sendo lido?. O valor está sendo lido, mas existe um piso não documentado na página de configuração: modelos com janela de contexto **abaixo de 512.000 tokens** têm o threshold elevado para no m (markdown, English)
- Meu bot de Telegram comprime numa hora e o mesmo Hermes no terminal comprime em outra. São dois sistemas diferentes?. Sim, são dois sistemas independentes. O **Agent ContextCompressor** roda dentro do loop do agente com contagem real de tokens da API e dispara no seu `compression.threshold` (defau (markdown, English)
- O que exatamente mudou na compressão de contexto na v0.19.0? Vale atualizar?. Dois fixes entraram na janela da v0.19.0. O PR #67275 (merge 2026-07-19) impede que a compressão invente a tarefa ativa, ancorando o `## Historical Task Snapshot` numa citação dete (markdown, English)
- O agente salvou uma suposição errada sobre mim na memória sem eu pedir. Como faço ele parar de fazer isso?. Set `memory.write_approval: true`. Isso liga um gate on/off aplicado tanto aos turnos em primeiro plano quanto ao review de auto-melhoria que roda em background depois de cada turn (markdown, English)
- Quero rodar a compressão num modelo mais barato pra não queimar meu modelo principal. Tem risco?. Dá, via `auxiliary.compression.provider` e `auxiliary.compression.model`, e o risco é sério e silencioso: o modelo sumarizador **precisa** ter janela de contexto igual ou maior que (markdown, English)
- Quando o Hermes comprime, o que ele garante que NÃO vai perder? Meu pedido original sempre some.. Sobrevivem sempre: o system prompt (incondicional), as `protect_first_n` mensagens não-sistema do início (default 3, a troca de abertura), as `protect_last_n` mensagens recentes (d (markdown, English)
- Mudei as configurações de compressão com o gateway rodando. Preciso reiniciar tudo e perder as sessões?. Não precisa reiniciar. Editar `model.context_length` ou **qualquer** chave `compression.*` no `config.yaml` de um gateway rodando passa a valer **na próxima mensagem**, sem restart (markdown, English)
- Qual a diferença real entre delegate_task e o Kanban? Quando eu uso cada um?. delegate_task é uma chamada de função (fork/join, filho anônimo, pai bloqueia, sem retomada). Kanban é uma fila durável em SQLite (`~/.hermes/kanban.db`) onde o filho é um profile (markdown, English)
- Meu subagente falhou dizendo que não tem a tool. O que exatamente um subagente leaf NÃO pode chamar?. O código da v0.19.0 (`tools/delegate_tool.py`, `DELEGATE_BLOCKED_TOOLS`) bloqueia **seis** tools para filhos leaf: `delegate_task`, `clarify`, `memory`, `send_message`, `execute_co (markdown, English)
- Passei role="orchestrator" no delegate_task e o filho continua sem conseguir delegar. Por que não deu erro mas também não funcionou?. Porque `delegation.max_spawn_depth` tem default **1**, que significa árvore plana. Nesse default `role="orchestrator"` degrada silenciosamente para `leaf` e vira no-op. Suba para ` (markdown, English)
- max_spawn_depth tem teto? Posso botar 5 ou o Hermes vai me limitar em 3?. Não tem teto. `_get_max_spawn_depth()` na v0.19.0 aplica **só um piso de 1** (`floored = max(_MIN_SPAWN_DEPTH, ival)`), sem nenhum `min()`. Você pode botar 5. A página de configura (markdown, English)
- Isso vai me custar caro? Quantos agentes rodam ao mesmo tempo se eu subir os limites de delegação?. Default: **3** filhos concorrentes por batch (`delegation.max_concurrent_children`, piso 1, sem teto, também via env `DELEGATION_MAX_CONCURRENT_CHILDREN`). Com `max_spawn_depth: 3` (markdown, English)
- Criei um card no Kanban e ele nunca sai de ready. Não deu erro nenhum. O que aconteceu?. As duas causas são: (1) o **gateway não está no ar** (o dispatcher roda dentro dele por default, `kanban.dispatch_in_gateway: true`, tick de 60s), ou (2) o `assignee` não resolve p (markdown, English)
- Como eu declaro que uma task do Kanban depende de outras? Crio tudo e ligo depois?. Declare na **criação**, com `parents=[...]` no `kanban_create` do filho. O filho com pais não concluídos nasce em `todo` e o dispatcher promove para `ready` só quando **todos** os (markdown, English)
- Coloquei toolsets: all no profile e as tools kanban_* continuam não aparecendo. Por que configurei e não pegou?. O toolset `kanban` é workflow-gated: `all` e `*` **não** o habilitam. Você precisa listar `kanban` explicitamente nos toolsets do profile, ou ser um worker spawnado pelo dispatcher (markdown, English)
- Meus subagentes paralelos estão se atropelando no diretório. Cada um não roda no próprio container?. Não. Com `terminal.backend: docker` existe **um único container persistente** e todos os subagentes de `delegate_task(tasks=[...])` compartilham ele. `cd` concorrente, mutação de e (markdown, English)
- Como faço pro subagente ter uma tool que o agente pai não tem? Passo toolsets no delegate_task?. Não dá, e é proposital. `delegate_task` **não aceita** parâmetro `toolsets` voltado ao modelo: cada subagente herda os toolsets habilitados do pai, para que o modelo não consiga da (markdown, English)
- Preciso que UMA task específica use uma skill que o profile do assignee não tem. Como faço sem editar o profile?. Use o array `skills` no `kanban_create` (agente) ou repita `--skill <nome>` no `hermes kanban create` (CLI). O nome precisa bater com uma skill **já instalada no profile do assigne (markdown, English)
- Como eu desligo delegação aninhada de vez, para o modelo não conseguir montar árvore de agente nenhuma?. Ponha `delegation.orchestrator_enabled: false` no `~/.hermes/config.yaml`. É um kill switch global: força **todo** filho a `leaf` independentemente do parâmetro `role` e independen (markdown, English)
- Ainda uso max_async_children pra limitar delegação em background. Isso ainda funciona na v0.19.0?. Não funciona mais. `delegation.max_async_children` está **deprecated e é ignorada** na v0.19.0 (PR #56955): `delegation.max_concurrent_children` agora governa tanto a paralelização (markdown, English)
- O Hermes suporta A2A? Quero que ele descubra e converse com agentes remotos de outros frameworks.. Não existe na v0.19.0. Suporte a A2A (Agent-to-Agent Protocol) é a issue **#514, ainda OPEN**, com labels `type/feature`, `comp/agent`, `comp/plugins`, `P3`. Não há módulo, toolset (markdown, English)
- Consigo usar o Hermes dentro do Zed ou do VS Code como agente de código? Ele fala ACP?. Sim, ACP **server mode existe e ships na v0.19.0**. Rode `hermes acp` (ou `hermes-acp`, ou `python -m acp_adapter`) depois de instalar o extra: `pip install -e '.[acp]'`. A issue # (markdown, English)
- Quero o contrário: o Hermes como CLIENTE, orquestrando outros CLIs de agente (Claude Code, Codex, Copilot) via ACP. Dá?. Não de forma genérica. Um cliente ACP generalizado para orquestração multi-agente é a issue **#5257, OPEN**, com labels `needs-decision` e `P4`. A única direção cliente que existe (markdown, English)
- Meu subagente chamou uma tool e nada aconteceu, sem erro e sem pergunta. O que é delegation.subagent_auto_approve?. `delegation.subagent_auto_approve` é uma chave de configuração que **não aparece em nenhuma página da documentação** e cujo default é `False`. Com o default, toda aprovação pedida (markdown, English)
- Criei uma skill nova, ela aparece em `hermes skills list`, mas o agente nunca carrega ela sozinho. Por quê?. Quase sempre é a `description`. O índice de skills do system prompt corta a description em 60 caracteres (`SKILL_PROMPT_DESC_LIMIT = 60`), e o que passa disso vira `desc[:57] + ".. (markdown, English)
- Minha skill precisa de uma API key e de um caminho de pasta. Ponho os dois em `metadata.hermes.config`?. Não. A regra de roteamento é: segredo vai em `required_environment_variables` (grava em `~/.hermes/.env`, nunca é mostrado ao modelo); valor não sensível como caminho ou preferênci (markdown, English)
- Setei `skills.config.minha.pasta` no config.yaml, `hermes config get` mostra o valor, mas o agente diz que não sabe onde é a pasta. Por quê?. A injeção do bloco `[Skill config (from ~/.hermes/config.yaml): ...]` acontece em `agent/skill_commands.py::_build_skill_message`, que é o caminho do **slash command** (`/minha-ski (markdown, English)
- Qual a diferença entre `skills.write_approval` e `skills.guard_agent_created`? Preciso ligar os dois?. São independentes e ambos vêm `false` por padrão. `skills.write_approval: true` é o **gate de aprovação**: toda escrita do `skill_manage` fica em staging sob `~/.hermes/pending/ski (markdown, English)
- Quais ações o `skill_manage` aceita e qual eu uso para uma correção pequena?. Seis ações e só seis: `create`, `patch`, `edit`, `delete`, `write_file`, `remove_file`. Para correção pontual use `patch` (`old_string`/`new_string`), que é mais barato em token po (markdown, English)
- Minha skill sumiu do índice depois que eu mexi no frontmatter. O que faz uma skill ficar invisível?. Quatro campos de ativação condicional em `metadata.hermes` escondem skill: `requires_toolsets` e `requires_tools` escondem quando o item **não** está disponível; `fallback_for_tool (markdown, English)
- Como faço a SKILL.md apontar para um script dela mesma sem o agente ter que adivinhar o caminho?. Use `${HERMES_SKILL_DIR}` no corpo da SKILL.md. Ele é substituído pelo caminho absoluto do diretório da skill antes do agente ler. Existe um segundo token, `${HERMES_SESSION_ID}`. (markdown, English)
- Dá para uma SKILL.md rodar um comando e injetar a saída no contexto? Isso é seguro?. Dá, com a sintaxe `` !`cmd` `` no corpo da SKILL.md, mas vem **desligada por padrão** e por bom motivo: o snippet roda no host **sem passar por aprovação nenhuma**. Liga com `skill (markdown, English)
- Apontei `skills.external_dirs` para uma pasta compartilhada. Isso protege as skills de lá contra escrita do agente?. Não protege. `external_dirs` não é fronteira de escrita: se o processo do Hermes tem permissão de escrita na pasta, o agente pode alterar arquivos lá via `skill_manage` (`patch`, ` (markdown, English)
- Quero um profile sem nenhuma skill bundled e que continue vazio depois dos updates. Como faço?. Três caminhos, todos gravam o marcador `.no-bundled-skills` no diretório do profile: `install.sh --no-skills` na instalação, `hermes profile create <nome> --no-skills` no create, o (markdown, English)
- Instalei uma skill do hub e ela ficou bloqueada. `--force` resolve?. `--force` só derruba bloqueio de política para achado não perigoso. Ele **não** vence um veredito `dangerous`, em nenhuma fonte. O bundle fica em `~/.hermes/skills/.hub/quarantine/ (markdown, English)
- Qual é a ordem canônica das seções do corpo de uma SKILL.md? Vi duas versões diferentes.. As duas fontes divergem e o repositório decide. A página pública mostra 5 seções (When to Use, Quick Reference, Procedure, Pitfalls, Verification). O padrão HARDLINE do repo, que é (markdown, English)
- Como escrever a seção `## Verification` de um jeito que realmente funcione? A minha diz "confirme que o resultado está correto" e o agente sempre declara sucesso.. A regra do repo é uma frase: `## Verification` é **um único comando ou check que prova que a skill funcionou**. "Confirme que está correto" não é check, é opinião, e nada no Hermes (markdown, English)
- O que é progressive disclosure nas skills e quanto de contexto isso me custa por sessão?. Três níveis: `skills_list()` devolve só nome/description/categoria (~3k tokens), `skill_view(name)` traz o conteúdo completo, e `skill_view(name, path)` traz um arquivo de referênc (markdown, English)
- Posso invocar duas skills no mesmo comando? E se eu uso sempre o mesmo trio junto?. Sim: encadeie os slash commands no começo da mensagem, até 5 tokens `/skill`, e o resto vira sua instrução. Para combinação recorrente, prefira um **skill bundle**, um YAML em `~/. (markdown, English)
- Instalei o Hermes com pip install hermes-agent e está funcionando, mas apareceu um aviso amarelo no banner. Isso é problema de verdade ou posso ignorar?. É problema, só que futuro. Na v0.19.0 `pypi` e `brew` estão na lista **Unsupported** da página de platform support (nem Tier 1 nem Tier 2), e o PR #57225 declara em texto do time q (markdown, English)
- Por que o instalador do Hermes reclamou de versão de Python? Eu tenho o 3.14 instalado e é a mais nova.. O `pyproject.toml` da v0.19.0 declara `requires-python = ">=3.11,<3.14"`. Python 3.13 é o teto: 3.14 é rejeitado de propósito porque transitivas com backend Rust (pydantic-core) ai (markdown, English)
- Qual a diferença real entre hermes profile create --clone e --clone-all? Qual dos dois eu uso pra fazer backup?. `--clone` copia só `config.yaml`, `.env`, `SOUL.md` e skills (sessões e memória nascem vazias). `--clone-all` copia tudo mais memórias, cron jobs e plugins, mas **exclui o históric (markdown, English)
- Clonei meu profile com --clone e agora o gateway do profile novo se recusa a subir, dando erro sobre outro profile. O que aconteceu?. `--clone` copia o `.env` inteiro, e o `.env` é onde moram os bot tokens. Os dois profiles ficaram com o mesmo `TELEGRAM_BOT_TOKEN`, e o token lock bloqueia o segundo gateway com er (markdown, English)
- Meu gateway morreu de forma feia e agora não sobe mais, dizendo que o token já está em uso, mas não tem processo nenhum rodando. Como limpo esse lock?. Os locks ficam em `$XDG_STATE_HOME/hermes/gateway-locks/`, ou seja, `~/.local/state/hermes/gateway-locks/` por padrão, com nome `<scope>-<sha256(token)[:16]>.lock`. Na maioria dos (markdown, English)
- Se eu criar um profile separado pro agente mexer num projeto, ele fica preso naquela pasta? Isso é seguro pra rodar coisa arriscada?. Não. A doc é literal: "Profiles do **not** sandbox the agent." No backend `local` (default) o agente tem exatamente o mesmo acesso ao filesystem que a sua conta de usuário. Profile (markdown, English)
- Criei profiles separados justamente pra ter identidades de git e gh diferentes, e os dois continuam commitando com a mesma conta. Por quê?. Porque em host install o Hermes mantém o `HOME` real do usuário nos subprocessos de propósito, para que `git`, `ssh`, `gh`, `az`, `npm`, Claude Code e Codex achem as credenciais de (markdown, English)
- Criei um profile pra ser worker do Kanban e o decompositor nunca manda task pra ele. Ele aparece na lista normalmente. O que falta?. Falta a **descrição**. O decompositor do Kanban lê os profiles instalados **e as descrições deles** para produzir o grafo de tasks. Profile sem descrição continua no roster e é rot (markdown, English)
- Editei o config.yaml, salvei, reiniciei, e o valor não pegou. Não deu erro nenhum. O que está sobrescrevendo?. Provavelmente há um **Managed Scope** ativo: um diretório de sistema, `/etc/hermes` por padrão, com `config.yaml` e/ou `.env` que **ganham** do seu `~/.hermes/config.yaml`, do seu (markdown, English)
- No Hermes, quem ganha: variável de ambiente ou config.yaml? Estou com valores diferentes nos dois e não sei qual vale.. A ordem oficial em `user-guide/configuration` é: (1) argumentos de CLI, (2) `~/.hermes/config.yaml`, (3) `~/.hermes/.env`, (4) defaults embutidos. Para valores não-secretos, **`con (markdown, English)
- Botei ${MINHA_CHAVE} no config.yaml e não deu erro nenhum, mas também não funcionou. Como descubro se a substituição rodou?. Se a variável referenciada não existe, o Hermes **mantém o placeholder verbatim**: `${UNDEFINED_VAR}` continua a string literal `${UNDEFINED_VAR}`. Não há erro. E só a sintaxe `${V (markdown, English)
- O hermes doctor começou a reclamar de max_async_children depois que eu atualizei. Isso vai parar de funcionar? Troco por quê?. `delegation.max_async_children` está deprecated. O substituto exato reportado pelo `hermes doctor` é `delegation.max_concurrent_children` (default 3, piso 1, sem teto rígido). O av (markdown, English)
- Tenho cinco profiles e cinco gateways rodando. Dá pra ter um processo só servindo todos? O que eu perco?. Dá: `hermes config set gateway.multiplex_profiles true` **no profile default** (ele é o dono do multiplexer) e reinicie o gateway dele. É opt-in e off por default. Você perde isola (markdown, English)
- Instalei o Hermes com sudo numa VPS compartilhada e agora não acho os arquivos. Onde o instalador coloca cada coisa?. Per-user (git installer): código em `~/.hermes/hermes-agent/`, binário em `~/.local/bin/hermes` (symlink), dados em `~/.hermes/`. Root-mode (`sudo curl … | sudo bash`): código em ` (markdown, English)
- Vou rodar o Hermes num MacBook Intel antigo e num Arch com pacote da AUR. Isso é suportado?. Nenhum dos dois. macOS em processadores x86 (Intel) e instalação via AUR estão na lista **Unsupported** da v0.19.0, junto com `pypi` e `brew`. Tier 1 é macOS Apple Silicon, Windows (markdown, English)
Índice legível por máquina em llms.txt.