Plugin not loaded by gateway — lives at profile level, not global plugins dir #1

Closed
opened 2026-06-10 10:28:27 +00:00 by glow · 0 comments
Owner

Problem

The gateway systemd unit sets HERMES_HOME=/root/.hermes, so discover_plugins() in hermes_cli/plugins.py scans /root/.hermes/plugins/ for user plugins. That directory contains hermes-lcm and sibyl but not agenda.

The agenda plugin lives at /root/.hermes/profiles/canal1/plugins/agenda/ — the profile-level plugins directory.

The gateway never loads it. All three hooks (pre_llm_call, post_tool_call, on_session_start) are dead code that never executes.

Evidence

  • hermes plugins list shows agenda as enabled (CLI runs with HERMES_HOME=/root/.hermes/profiles/canal1)
  • journalctl -u hermes-gateway | grep -i agenda returns nothing — confirmed no plugin activity
  • Gateway discovers user plugins from get_hermes_home() / "plugins" which is /root/.hermes/plugins/

Fix options

  1. Symlink: ln -s /root/.hermes/profiles/canal1/plugins/agenda /root/.hermes/plugins/agenda
  2. Copy: Copy the plugin directory to /root/.hermes/plugins/agenda/
  3. Profile-aware loading: Add profile-level plugin scanning to discover_plugins() (requires Hermes core changes)
  4. Gateway config: Set HERMES_HOME=/root/.hermes/profiles/canal1 in the gateway systemd unit (but this may break other things)

Option 1 (symlink) is simplest and safest.

## Problem The gateway systemd unit sets `HERMES_HOME=/root/.hermes`, so `discover_plugins()` in `hermes_cli/plugins.py` scans `/root/.hermes/plugins/` for user plugins. That directory contains `hermes-lcm` and `sibyl` but **not** `agenda`. The agenda plugin lives at `/root/.hermes/profiles/canal1/plugins/agenda/` — the profile-level plugins directory. The gateway never loads it. All three hooks (`pre_llm_call`, `post_tool_call`, `on_session_start`) are dead code that never executes. ## Evidence - `hermes plugins list` shows agenda as enabled (CLI runs with `HERMES_HOME=/root/.hermes/profiles/canal1`) - `journalctl -u hermes-gateway | grep -i agenda` returns nothing — confirmed no plugin activity - Gateway discovers user plugins from `get_hermes_home() / "plugins"` which is `/root/.hermes/plugins/` ## Fix options 1. **Symlink**: `ln -s /root/.hermes/profiles/canal1/plugins/agenda /root/.hermes/plugins/agenda` 2. **Copy**: Copy the plugin directory to `/root/.hermes/plugins/agenda/` 3. **Profile-aware loading**: Add profile-level plugin scanning to `discover_plugins()` (requires Hermes core changes) 4. **Gateway config**: Set `HERMES_HOME=/root/.hermes/profiles/canal1` in the gateway systemd unit (but this may break other things) Option 1 (symlink) is simplest and safest.
glow closed this issue 2026-06-10 10:31:06 +00:00
Sign in to join this conversation.
No labels
bug
feature
improvement
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
glow-all/agenda-plugin#1
No description provided.