Skip to main content

Hermes

Hermes uses the UnifiedMemory plugin for pre-turn recall and post-turn writeback. It is especially important to keep Hermes writeback clean because chat crumbs and long assistant answer dumps can otherwise flood review.

Registry contract

This section is generated from integrations/agent_integrations.registry.json. Edit the registry or generator, not this block.

FieldValue
Integration IDhermes
LabelHermes Agent
Tiernative_lifecycle_provider
Setup modenative_provider_and_mcp
Agent IDhermes
App IDhermes
Source app / actorsource_app=hermes, agent_id=hermes; key metadata wins over request body hints
Default scopeown
Config paths~/.hermes/config.yaml, ~/.hermes/unifiedmemory.json
Capabilitiesmemory.read, memory.write, memory.recall, memory.delete, agent.context, agent.writeback, mesh.read, evidence.read, courtroom.read, canary.read
Supported toolsunified_memory_recall, unified_memory_write, unified_memory_context, unified_memory_evidence_bundle, unified_memory_courtroom, unified_memory_mesh_context, unified_memory_trace_show, unified_memory_eval_run, unified_memory_canary_status

Capture policy

Native provider does cache-first prefetch, background context refresh, post-turn writeback, and session-end capture through UnifiedMemory lifecycle gates.

Install command(s)

mkdir -p ~/.hermes/plugins/memory
ln -sfn "$PWD/integrations/hermes-unifiedmemory" ~/.hermes/plugins/memory/unifiedmemory
hermes config set memory.provider unifiedmemory
hermes memory setup

Verify command(s)

hermes memory status
tools/um-hermes auth-check
tools/um-hermes mcp-config-check
tools/um-hermes run-proof --live --confirm-live

Environment

{
"UNIFIED_MEMORY_AGENT_ID": "hermes",
"UNIFIED_MEMORY_AGENT_SCOPE": "own",
"UNIFIED_MEMORY_API_KEY": "{{KEY_ENV_REF}}",
"UNIFIED_MEMORY_APP_ID": "hermes",
"UNIFIED_MEMORY_BASE_URL": "{{EDGE_BASE_URL}}",
"UNIFIED_MEMORY_CONTAINER": "{{CONTAINER_TAG}}",
"UNIFIED_MEMORY_TRUST_POLICY": "{{TRUST_POLICY}}"
}

Risk notes

  • Provider-native CLI commands appear only when Hermes activates memory.provider=unifiedmemory.
  • API keys stay in env or local secret stores; unifiedmemory.json is non-secret.

Official upstream docs

https://hermes-agent.nousresearch.com/docs/developer-guide/memory-provider-plugin

Scope and capabilities

SettingValue
Source apphermes
Default containerjeethendra
Default scopeown
Primary modePlugin-based recall and writeback

Install

From the UnifiedMemory repo checkout:

mkdir -p ~/.hermes/plugins/memory
ln -sfn "$PWD/integrations/hermes-unifiedmemory" ~/.hermes/plugins/memory/unifiedmemory
hermes config set memory.provider unifiedmemory
hermes memory setup

Set the scoped key in the environment expected by the plugin or through the Connections-generated setup bundle.

Verify

Ask Hermes to run its memory setup verification. The check should prove:

  • the scoped key is active;
  • recall works for jeethendra;
  • writeback can store a disposable fact;
  • obvious residue is rejected or quarantined;
  • Courtroom read works for returned memory IDs.

Output controls

Hermes MCP recall/profile/context tools default to compact output so QA and agent loops do not receive 100KB+ JSON blobs for normal queries. Use these optional arguments when debugging:

ArgumentDefaultUse
response_formatcompactSet full only for forensic/debug inspection.
include_rawfalseReturn the uncompressed backend payload.
diagnostics_onlyfalseReturn source counts and status without bulky memory metadata.
max_response_bytes30000Bound compact output for tool consumers.

Compact output preserves memory IDs, content previews, trust bucket, candidate sources, evidence links, Courtroom links, and key diagnostics such as entity_count, profile_count, mesh fallback status, and abstention.

Writeback hygiene

Hermes should retain:

  • decisions made during a session;
  • completed tool outcomes;
  • durable owner preferences;
  • reproducible fixes.

Hermes should not retain:

  • hey, thanks, or emoji-only messages;
  • chatty filler such as lol, totally works great, random emoji spam, or ignore this, even if the client sends high confidence;
  • long assistant explanations as a single memory;
  • generic web summaries with no owner/project tie;
  • proof/test/diag rows as assistant-visible memory.

Hermes confidence defaults are compatibility hints only. UnifiedMemory's server-side writeback admission decides trust, profile eligibility, and recall visibility from content quality, evidence, lifecycle state, and trust gates. High-confidence junk is preserved as forensic residue, not promoted.

For research sessions, Hermes should call agent_writeback with concise observed_facts, decisions, or preferences. If auto_extract=true is used, the runtime extracts candidate research outcomes from the assistant response and stores them as evidence awaiting promotion instead of storing the transcript.

See Bad candidates and residue.