Skip to main content

hermes-ao

Agent Orchestrator (AO) plugin for Hermes. Gives your Hermes bot 17 tools to spawn, monitor, and manage parallel AI coding agents from chat.

What it does

Once installed, your Hermes bot (Discord, Slack, CLI, etc.) can:

  • Spawn agents on GitHub/Linear issues (ao_spawn)
  • List active sessions and their status (ao_sessions)
  • Send messages to running agents (ao_send)
  • Kill sessions (ao_kill)
  • Check health of the AO server (ao_doctor)
  • Review and verify agent work (ao_review_check, ao_verify)
  • Manage issues — create, list backlog (ao_create_issue, ao_backlog)
  • Merge PRs created by agents (ao_merge_pr)
  • Monitor system observability (ao_observability)
  • ...and more (17 tools total)

It also includes a pre_llm_call hook that automatically injects live AO context (active sessions, open issues) into conversations when the user mentions work-related topics.

Prerequisites

Install

pip install hermes-ao

Configuration

Set these environment variables before starting Hermes:

Required

Variable Description Example
AO_CWD Path to your project directory (where agent-orchestrator.yaml lives) /home/user/my-project

Optional

Variable Default Description
AO_API_URL http://127.0.0.1:3000 AO server URL
AO_PUBLIC_URL (empty) Public URL for dashboard links shown to users (e.g. http://your-server:3000)
AO_PATH ao Path to the ao CLI binary
GH_PATH gh Path to the gh CLI binary
AO_API_TIMEOUT 10 API request timeout (seconds)
AO_SPAWN_TIMEOUT 30 Agent spawn timeout (seconds)
AO_CLI_TIMEOUT 15 CLI command timeout (seconds)

Example setup

# Add to your shell profile (~/.bashrc, ~/.zshrc) or systemd service file
export AO_CWD=/home/user/my-project
export AO_API_URL=http://localhost:3000
export AO_PUBLIC_URL=http://your-server:3000

Then restart Hermes:

hermes restart
# or start a new session

Verify it works

hermes chat -q "What AO sessions are running?"

Or in Discord, ask your bot: "What agents are running?"

Alternative install: directory-based

If you prefer not to use pip, copy the plugin directly:

mkdir -p ~/.hermes/plugins/
cp -r hermes_ao ~/.hermes/plugins/hermes-ao

Set the environment variables and restart Hermes.

Tools reference

Tool Description
ao_sessions List active agent sessions
ao_issues List open issues from the tracker
ao_spawn Spawn a new coding agent (single, batch, or orchestrator mode)
ao_send Send a message to a running agent session
ao_kill Terminate an agent session
ao_doctor Run AO health diagnostics
ao_review_check Check for PRs needing review
ao_verify Verify agent work on an issue
ao_session_cleanup Clean up sessions with merged/closed PRs
ao_session_restore Restore a stopped session
ao_session_claim_pr Link a PR to a session
ao_create_issue Create a new issue in the tracker
ao_list_projects List configured AO projects
ao_backlog Show the issue backlog
ao_merge_pr Merge a PR
ao_observability Get system metrics and health data
ao_session_output Get recent output from a session

Architecture

Discord/Slack/CLI → Hermes → LLM → ao_* tools → AO HTTP API → coding agents

The plugin talks to AO's REST API. If the API is unreachable, it falls back to shelling out to the ao CLI. A circuit breaker prevents hammering a down server.

License

MIT

Metadata

Release files for hermes-ao 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hermes-ao 1.0.0
File Size Uploaded
hermes_ao-1.0.0.tar.gz 21.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hermes-ao 1.0.0
File Interpreter ABI Platform
hermes_ao-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.0 kB

Release files / hermes_ao-1.0.0.tar.gz

Download URL hermes_ao-1.0.0.tar.gz
Size 21.5 kB
Tags Source
SHA-256 checksum
How to use checksums
331a81bb653fde93b15f10dd7cde2079e15a44d05f6c82285443fcf2c633ce49
BLAKE2b-256 checksum
How to use checksums
7a179bd202b4e12e2e5ca1c05b1df5be70d9f258dce18623c3fd45a600794c3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release files / hermes_ao-1.0.0-py3-none-any.whl

Download URL hermes_ao-1.0.0-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22990c51be3dd0436812a40fa88945b90d2fad7b5c0108f6e81174631f75110f
BLAKE2b-256 checksum
How to use checksums
98d3e2d8daf717d34398b6a50556d21cc4e57f42e52e30668470cfa604da2ec7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.0

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page