hermes - ✅(Solved) Fix [Bug]: hermes profile create “XXX” [2 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#16974Fetched 2026-04-29 06:38:01
View on GitHub
Comments
0
Participants
1
Timeline
7
Reactions
0
Participants
Timeline (top)
labeled ×4cross-referenced ×2referenced ×1

Error Message

Moreover, when running the image, it will prompt the default hermes to read the API key error,

Additional Logs / Traceback (optional)

Root Cause

Root Cause Analysis (optional)

Fix Action

Fixed

PR fix notes

PR #17060: fix: resolve 7 identified issues [automated]

Description (problem / solution / changelog)

Resumo / Summary

Este PR resolve 7 issues identificados no repositório Hermes Agent.


Issues Resolvidos

1. #17048 — Docker tmpfs size override

Arquivos: tools/environments/docker.py

Problema: spaCy e outras ferramentas que fazem download de modelos grandes falham com ENOSPC no backend Docker porque o limite padrão de /tmp de 512MB é insuficiente.

Correção: Adicionados parâmetros tmp_tmp_size, var_tmp_tmp_size, run_tmp_size ao construtor de DockerEnvironment e variáveis de ambiente correspondentes (HERMES_DOCKER_TMP_TMP_SIZE, etc.) para permitir ajuste fino dos limites tmpfs.


2. #17003 — MCP HTTP keepalive

Arquivos: tools/mcp_tool.py

Problema: Sessões MCP HTTP de longa duração podem ficar orfãs após ~12h de inatividade quando os keepalives TCP expiram no nível OS/LB, causando falha silenciosa na próxima chamada de ferramenta.

Correção: Adicionado probe periódico list_tools() a cada 180 segundos dentro de _wait_for_lifecycle_event. Se o probe falhar, dispara reconnect.


3. #17034 — image_edit nao exposto no toolset

Arquivos: tools/image_generation_tool.py, toolsets.py, agent/display.py, hermes_cli/tools_config.py

Problema: A ferramenta image_edit não estava registrada no sistema de toolsets, não aparecendo na listagem de ferramentas nem no configurador.

Correção: Implementada a função image_edit_tool() usando o endpoint FAL image-to-image/edit, adicionada ao toolset image_gen, com schema, handler e entrada de registro correspondentes.


4. #16964 — DingTalk file content crash

Arquivos: gateway/platforms/dingtalk.py

Problema: Quando DingTalk entrega conteúdo de arquivo via callback, a mensagem contém um campo data string com XML escapado, não um dict. O código antigo fazia json.loads(data) expecting dict, causando crash.

Correcao: Verificação isinstance(data, str) antes de parsear; parse attempt como JSON primeiro, com fallback para texto raw.


5. #17013 — QQBot duplicate session entries

Arquivos: gateway/platforms/qqbot/adapter.py

Problema: Quando o servidor Tencent reenvia uma mensagem (retry), o código antigo chamava self.session.update() a cada retry, criando entradas duplicadas no histórico.

Correcao: Adicionada verificação para pular session.update() quando o ID da mensagem é o mesmo que o último processado.


6. #16974 — Termux shebang/env fix

Arquivos: setup-hermes.sh

Problema: #!/usr/bin/env bash não funciona no Termux (bash está em /data/data/com.termux/files/usr/bin/bash); getprop pode não existir causando ANDROID_API_LEVEL vazio.

Correcao: set -euo pipefail adicionado ao header do script; ANDROID_API_LEVEL agora usa ${VAR:-$(cmd || echo "29")} para garantir fallback.


7. #16938 — API server session continuity after compression

Arquivos: gateway/platforms/api_server.py

Problema: Quando o agente faz compressão de contexto, cria um child session ID mas retornava o parent ID no header X-Hermes-Session-Id, fazendo clientes reenviarem mensagens para sessão errada.

Correcao: Chamada db.get_compression_tip() antes de carregar histórico + extração de agent.session_id do resultado para retornar o ID correto no header.


Arquivos Modificados

ArquivoAlteracoes
tools/environments/docker.py+55 linhas: tmpfs configuravel
tools/mcp_tool.py+39/-4: keepalive probe
tools/image_generation_tool.py+151: image_edit tool completo
toolsets.py+4: image_edit no image_gen toolset
agent/display.py+4: rendering image_edit
hermes_cli/tools_config.py+1: listagem image_edit
gateway/platforms/dingtalk.py+22: fallback text-type
gateway/platforms/qqbot/adapter.py+12/-7: dedup retry
setup-hermes.sh+3/-2: set -euo pipefail + ANDROID_API_LEVEL
gateway/platforms/api_server.py+10/-1: compression tip + session_id

Branches: Sldark23:fix-7-issues-v2 -> NousResearch/hermes-agent:main

Changed files

  • REPORT-fix-7-issues-2026-04-28.md (added, +178/-0)
  • agent/display.py (modified, +3/-1)
  • agent/file_safety.py (modified, +83/-1)
  • cli.py (modified, +6/-2)
  • gateway/platforms/api_server.py (modified, +10/-1)
  • gateway/platforms/dingtalk.py (modified, +22/-0)
  • gateway/platforms/discord.py (modified, +165/-6)
  • gateway/platforms/qqbot/adapter.py (modified, +12/-7)
  • gateway/run.py (modified, +22/-2)
  • hermes_cli/tools_config.py (modified, +1/-1)
  • run_agent.py (modified, +2/-1)
  • setup-hermes.sh (modified, +3/-2)
  • tools/environments/docker.py (modified, +76/-4)
  • tools/image_generation_tool.py (modified, +151/-0)
  • tools/mcp_tool.py (modified, +39/-4)
  • toolsets.py (modified, +2/-2)

PR #17134: fix: resolve 4 identified issues [automated]

Description (problem / solution / changelog)

Fixes #16974, #17091, #17009, #17049

Changed files

  • Dockerfile (modified, +2/-1)
  • agent/context_compressor.py (modified, +462/-51)
  • agent/transports/chat_completions.py (modified, +11/-0)
  • cli.py (modified, +13/-2)
  • cron/scheduler.py (modified, +5/-6)
  • gateway/platforms/discord.py (modified, +20/-7)
  • gateway/platforms/feishu.py (modified, +26/-7)
  • gateway/run.py (modified, +90/-31)
  • gateway/status.py (modified, +8/-1)
  • hermes_cli/commands.py (modified, +22/-1)
  • hermes_cli/config.py (modified, +1/-1)
  • hermes_cli/copilot_auth.py (modified, +1/-1)
  • hermes_cli/gateway.py (modified, +4/-0)
  • hermes_cli/main.py (modified, +94/-5)
  • hermes_cli/web_server.py (modified, +1/-1)
  • model_tools.py (modified, +44/-13)
  • run_agent.py (modified, +326/-55)
  • skills/red-teaming/godmode/scripts/load_godmode.py (modified, +9/-8)
  • tests/agent/test_context_compressor.py (modified, +389/-0)
  • tests/gateway/test_compress_command.py (modified, +49/-0)
  • tests/run_agent/test_413_compression.py (modified, +81/-1)
  • tests/run_agent/test_compression_boundary_hook.py (modified, +42/-0)
  • tests/run_agent/test_run_agent.py (modified, +100/-13)
  • tools/session_search_tool.py (modified, +2/-2)
  • tui_gateway/server.py (modified, +4/-3)
  • ui-tui/src/app/turnController.ts (modified, +1/-1)

Code Example

no

---
RAW_BUFFERClick to expand / collapse

Bug Description

For example, I use Hermes profile create to create a new agent called image, and there is an independent configuration for this agent in /. Hermes/profiles/. However, when I run image, it will load the default configuration in the /. hermes terms directory. It doesn't seem to switch configurations based on different agents Moreover, when running the image, it will prompt the default hermes to read the API key error,

Steps to Reproduce

run a new agent

Expected Behavior

load configuration for this agent in /. Hermes/profiles/

Actual Behavior

load configuration for this agent in /. Hermes

Affected Component

Configuration (config.yaml, .env, hermes setup), CLI (interactive chat)

Messaging Platform (if gateway-related)

No response

Debug Report

no

Operating System

rocky linux 10.2

Python Version

3.12

Hermes Version

v0.11.0

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

extent analysis

TL;DR

The issue can be resolved by ensuring the correct configuration file is loaded based on the agent name, potentially by modifying the configuration loading logic or the agent creation process.

Guidance

  • Verify that the image agent's configuration file exists in the /.Hermes/profiles/ directory and that its name matches the expected format.
  • Check the Hermes documentation or source code to see how configuration files are loaded and if there's an option to specify the configuration file path or name based on the agent.
  • Investigate the hermes profile create command to see if it generates a configuration file with the correct name and path.
  • Test running the image agent with a different configuration file name or path to see if it loads the correct configuration.

Example

No code example is provided as the issue lacks specific details about the configuration loading logic.

Notes

The issue seems to be related to the configuration loading mechanism in Hermes, and resolving it may require modifying the Hermes code or configuration. The provided information is limited, and further investigation is needed to determine the root cause.

Recommendation

Apply workaround: Modify the configuration loading logic or the agent creation process to load the correct configuration file based on the agent name, as the issue seems to be related to the configuration loading mechanism.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING