Ointerference
DOCS
Harnesses & Agents

Hermes Agent Integration

Use Interference as the model backend for Nous Research's Hermes Agent.

Hermes Agent × Interference

Hermes Agent is an open-source autonomous agent framework by Nous Research. It operates locally or on your servers, equips agents with 80+ skills (terminal execution, code editing, web search, persistent memory), and connects to OpenAI-compatible inference backends.

Interference provides dedicated integration for Hermes Agent via the hermes_provider_interference plugin, enabling instant discovery and execution.


1. Compatibility Matrix

Interference PluginHermes AgentPythonStatus
0.1.x>=0.16.0, <0.20>=3.11, <3.14Verified & Supported
0.1.x>=0.13.0, <0.16>=3.11Supported (Best-effort)

2. Prerequisites

  1. Hermes Agent installed:
    pip install "hermes-agent>=0.16.0,<0.20"
  2. Python 3.11+
  3. An Interference account with a live API key (sk_live_...) and non-zero credit balance (Console Billing).

3. Install the Provider Plugin

Hermes auto-discovers plugins in its user plugin directory without needing complex packaging or manifest files.

Copy the hermes_provider_interference directory into Hermes's plugin directory:

# Linux / macOS
mkdir -p ~/.hermes/plugins/model-providers/interference
cp -r path/to/hermes_provider_interference/* \
      ~/.hermes/plugins/model-providers/interference/
# Windows (PowerShell)
New-Item -ItemType Directory -Force -Path "$env:LOCALAPPDATA\hermes\plugins\model-providers\interference"
Copy-Item -Recurse -Force "path\to\hermes_provider_interference\*" `
          "$env:LOCALAPPDATA\hermes\plugins\model-providers\interference\"

Hermes automatically discovers user model providers on the next CLI invocation.

Option B: Monorepo Editable Install

If working directly from the Interference repository:

pip install -e packages/hermes-provider-plugin

4. Authentication

Export your live API key to the INTERFERENCE_API_KEY environment variable:

# Linux / macOS
export INTERFERENCE_API_KEY="sk_live_YOUR_ACTUAL_KEY_HERE"
# Windows PowerShell
$env:INTERFERENCE_API_KEY = "sk_live_YOUR_ACTUAL_KEY_HERE"

Confirm Hermes discovers the provider:

python -c "from providers import get_provider_profile; print(get_provider_profile('interference').display_name)"
# Output: Interference (Open Inference Gateway)

5. Usage

Launching Hermes with Interference

Specify Interference as your provider directly from the command line:

hermes --provider interference --model glm-5.3-flash

Running Ad-hoc Prompt Queries

hermes chat -q "Explain how the two-phase credit hold prevents negative balance drift." \
  --provider interference \
  --model kimi-k2.7-code

Built-in Provider Aliases

The Interference plugin registers short convenience aliases:

hermes chat -q "Audit this PR"   --model interference-flash   # Resolves to glm-5.3-flash
hermes chat -q "Generate tests"  --model interference-coder   # Resolves to qwen3-coder
hermes chat -q "Deep reasoning"  --model interference-pro     # Resolves to glm-5.3

Native Autonomous Tool Calling

Hermes relies heavily on tool executions (terminal commands, file reading/writing, git operations, web browsing). Interference translates tool schema and tool-call deltas seamlessly over streaming SSE:

hermes chat -q "Find all instances of unhandled promises in src/ and create unit tests for them." \
  --provider interference \
  --model kimi-k2.7-code

6. Streaming & Credit Safety

Because autonomous agents can run for extended multi-step sessions:

  • Client Disconnect: If you terminate a command with Ctrl+C while Hermes is generating tokens, the gateway cancels upstream execution and immediately releases the reserved credit hold.
  • Failures & Timeouts: If a network glitch occurs, you are only billed for tokens already emitted.
  • Cheapest Auxiliary Default: Background memory flushes and auxiliary agent tasks default to glm-5.3-flash ($0.23/1M input, $0.75/1M output).