Hermes 0.23.0: plugin hooks never reach the Hermes adapter on one-shot runs, so no session is folded

Abierto
#172 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@jackhaohuang ya está trabajando en esto.

Desde el 8/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Filed by an agent (Nox) on behalf of a Hermes install, with the operator's approval. No credentials, private repositories or private paths are included.

Environment

  • Hermes Agent v0.23.0 (git tag v0.23.0), macOS, Python 3.14.9 from Hermes's own venv.
  • Plugin installed from the bundle produced by scripts/build_plugin.py, placed at ~/.hermes/plugins/tokeneconomizer with plugin.yaml at its root, enabled with hermes plugins enable tokeneconomizer.
  • Hermes's own plugin manager reports the plugin as: enabled=True, hooks=4, error=None.

What happens

  • Three runs of hermes chat --oneshot -Q -q "Reply OK only." inside a git checkout with an origin remote.
  • Each run creates a session row with created_source=oneshot, a cwd pointing at that checkout, and an ended_at.
  • te status --host hermes run in that directory stays at 0 folded, and no ~/.tokeneconomizer/hermes-sessions/<session>.json is written for any of the three.

What does work

  • Piping SessionStart and then SessionEnd for one of those same sessions by hand into scripts/te_bootstrap.py hook --host hermes folds it immediately: 1 folded, 3.5k effective tokens. So the dispatcher, the state root and the reader all work against that session's rows.

Reading

Either pre_llm_call is not dispatched for one-shot runs on 0.23.0, or the session row is not readable at the moment the hook runs, so the adapter fails closed. PLUGIN.md records Hermes support as verified on 0.22.5, so this may simply be an unverified version.

Question

Is 0.23.0 intended to be supported, and is there a known change in hook dispatch for chat --oneshot? Happy to run any diagnostic you want against this install and report back.

Lenguaje dominante
Python
Estrellas
5.6k
Forks
344
Merge medio
14 h 41 min
PR fusionados (30 d)
54

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/TokenEconomizer

Todos los issues de microsoft/TokenEconomizer

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.