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

Aperta
#172 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@jackhaohuang ci sta già lavorando.

Dal 8/11/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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.

Lingua principale
Python
Stelle
5.6k
Fork
344
Merge medio
14h 41m
PR unite (30g)
54

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/TokenEconomizer

Tutte le issue di microsoft/TokenEconomizer

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.