Skip to content

feat: Hermes Agent connector — route events to Hermes gateway as alternative actor #122

@c-h-

Description

@c-h-

Summary

Add a Hermes Agent connector that allows OrgLoop to route events to a running Hermes gateway instance as an alternative to OpenClaw actors.

Why

Hermes Agent (NousResearch, MIT) includes a messaging gateway that could serve as an event-processing actor alongside OpenClaw. This matters because:

  • Hermes has auto-managed persistent memory — the actor remembers context across events
  • Autonomous skill creation — the actor builds reusable skills from repeated task patterns
  • Multi-model runtime — dynamically selects models per task complexity
  • If Hermes exposes a webhook/HTTP API, OrgLoop can deliver events to it just like it delivers to OpenClaw today

Architecture

Currently OrgLoop routes events to OpenClaw actors:

GitHub webhook → OrgLoop source → route match → OpenClaw actor → agent session

With Hermes connector:

GitHub webhook → OrgLoop source → route match → Hermes actor → Hermes gateway

The Hermes gateway would be a long-running process that receives events, processes them with its own agent loop, and can call back via webhook or API.

What to build

1. @orgloop/connector-hermes source + actor package

A new connector package that can:

  • As actor: Deliver OrgLoop events to a Hermes gateway endpoint
    • HTTP POST to Hermes gateway with event payload
    • Map OrgLoop event format to Hermes message format
    • Handle Hermes responses/callbacks
  • As source (stretch): Receive events FROM Hermes (if it emits lifecycle events)

2. Actor config

actors:
  - id: hermes-personal
    connector: "@orgloop/connector-hermes"
    config:
      gateway_url: "http://localhost:7878"
      # or however Hermes gateway exposes its API
      workspace: ~/personal/orgloop
      memory_persistence: true

3. Route config

routes:
  - name: pr-review-via-hermes
    when:
      source: github-webhook
      events: [resource.changed]
      filter:
        provenance.platform_event: "pull_request.review_submitted"
    then:
      actor: hermes-personal
      config:
        wake_mode: now
        deliver: true
    with:
      prompt_file: ../sops/pr-review.md

Key unknowns (investigate first)

  • Does Hermes gateway expose an HTTP API for receiving tasks?
  • What is the message format? (REST JSON? WebSocket? Something else?)
  • Does it support webhook callbacks on task completion?
  • How does it handle concurrent events? (queue? parallel? reject?)
  • Can we pass SOP context (prompt files) alongside the event payload?
  • How does Hermes memory interact with OrgLoop event context?

Implementation plan

  1. Phase 0: Install Hermes, start gateway, probe the API surface
  2. Phase 1: Build minimal actor connector (HTTP POST events to gateway)
  3. Phase 2: Add callback support (Hermes → OrgLoop completion events)
  4. Phase 3: Test with real event routing (PR reviews, CI failures)
  5. Phase 4: Compare quality/speed vs OpenClaw actor on same events

Value proposition

If Hermes gateway works well as an OrgLoop actor, we get:

  • Memory accumulation — the actor gets smarter over time (remembers past PR patterns, common fixes)
  • Skill creation — the actor builds reusable skills from repeated event types
  • Model flexibility — Hermes picks the right model per event complexity
  • Optionality — not locked into OpenClaw as the only actor runtime

This is NOT about replacing OpenClaw — it is about OrgLoop being runtime-agnostic for actors, which is already its design philosophy.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions