← Home

Guide

Hermes Agent + Hindsight: Long-Term Memory for Hermes

Hindsight is one of the external memory providers Hermes Agent supports. It gives a Hermes bot a long-term memory bank with entity extraction and a reflect step that reasons across everything it has stored. This guide covers what it is, how to switch it on, and when it is the right pick over Honcho, Mem0 or the built-in memory.

What Is Hindsight?

Hindsight is an open-source agent memory system from Vectorize, released under the MIT license on GitHub. It is built around three operations:

  • Retain — turns raw conversation into structured, time-aware memory, using an LLM to pull out facts, entities and relationships.
  • Recall — searches the memory bank with several retrieval strategies at once and returns what is relevant to the current turn.
  • Reflect — asks an LLM to synthesize an answer across many stored memories instead of returning individual snippets.

The design is described in the paper “Hindsight is 20/20: Building Agent Memory that Retains, Recalls, and Reflects”, which reports results on the LongMemEval and LoCoMo long-conversation memory benchmarks.

Does Hermes Agent Support Hindsight?

Yes. Hindsight is listed as a memory provider in the Hermes Agent docs. It used to ship inside the Hermes source tree; it now lives in the Hermes plugin catalog and is maintained by the Hindsight team, so you install it with one command before selecting it.

When Hindsight is the active provider, Hermes automatically:

  1. Prefetches relevant memories before each turn and injects them into the prompt.
  2. Sends each finished turn to Hindsight so it can extract facts and entities in the background.
  3. Mirrors writes to Hermes's built-in MEMORY.md / USER.md into the Hindsight bank.
  4. Gives the agent three tools: hindsight_retain, hindsight_recall and hindsight_reflect.

Only one external memory provider can be active at a time. The built-in memory stays on alongside it — Hindsight is additive, not a replacement.

Step 1: Pick a Mode

ModeWhere memory livesWhat you need
cloud (default)Hindsight CloudAn API key from ui.hindsight.vectorize.io
local_embeddedA local Hindsight daemon with its own PostgreSQL, started by the pluginAn LLM API key (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama or another OpenAI-compatible endpoint)
local_externalA Hindsight server you already runIts URL, plus an API key if you set one

Cloud is the least work. Local embedded is free to run but uses your LLM key for every retain and reflect call, and runs an extra database process next to the agent.

Step 2: Install and Enable the Plugin

hermes plugins install hindsight   # from the plugin catalog
hermes memory setup                # choose "hindsight", then follow the wizard
hermes memory status               # confirm hindsight is the active provider

The install prompt asks whether to use Hindsight as the memory provider now; saying yes sets it. If you prefer to configure cloud mode by hand:

hermes config set memory.provider hindsight
echo "HINDSIGHT_API_KEY=your-key" >> ~/.hermes/.env

Note that hermes plugins enable hindsight does not make it the memory provider — the switch is memory.provider in config.yaml.

Step 3: Tune the Config

Hindsight reads its own file at $HERMES_HOME/hindsight/config.json (a memory.hindsight section in config.yaml is ignored). The keys you are most likely to change:

KeyDefaultWhat it does
modecloudcloud, local_embedded or local_external
bank_idhermesName of the memory bank
recall_budgetmidRecall thoroughness: low, mid or high
memory_modehybridhybrid (auto-inject + tools), context (auto-inject only), tools (tools only)
auto_recalltrueRecall memories before each turn
auto_retaintrueSave conversation turns automatically

Example for cloud mode with a dedicated bank:

{
  "mode": "cloud",
  "bank_id": "support-bot",
  "recall_budget": "mid",
  "memory_mode": "hybrid"
}

The plugin is updated separately from Hermes: run hermes plugins update hindsight to get a newer version. See the Hindsight Hermes integration docs for the full key list.

Using Hindsight With a Hosted Hermes Bot on OpenClaw Launch

On OpenClaw Launch Hermes hosting the same commands work, because every bot has its own container with hermes on the PATH:

  1. Deploy a Hermes bot from openclawlaunch.com/hermes-hosting, or open an existing one on your dashboard.
  2. Click the Terminal button on the bot card. It opens a shell inside that bot's container.
  3. Run hermes plugins install hindsight, then hermes memory setup and choose Hindsight. Cloud mode is the simplest fit for a hosted bot: paste the API key from ui.hindsight.vectorize.io when the wizard asks.
  4. Restart the bot from the dashboard so the gateway starts with the new memory provider.
  5. Run hermes memory status to confirm, then chat with the bot on Telegram, Discord or web chat as usual.

Your memory bank lives in your own Hindsight account (cloud mode), so it is separate from the bot's container and from your OpenClaw Launch plan. To turn it off later, run hermes memory off; the built-in memory keeps working.

Privacy Note

In cloud and local external mode, every conversation turn — and every entry the agent adds to its built-in memory — is sent to Hindsight's API (or the URL you configure). Hermes passes this data through its secret scrubber first, which masks recognisable keys and tokens, but it cannot detect every password. If a bot handles sensitive data, use local embedded mode or keep that bot on built-in memory only.

Hindsight vs Honcho vs Mem0 vs Built-In Memory

Built-inHindsightHonchoMem0
InstallAlways onhermes plugins install hindsighthermes plugins install honchohermes plugins install mem0
Maintained byNous ResearchVectorizePlastic LabsMem0
ApproachCurated MEMORY.md / USER.md filesKnowledge graph, entity resolution, multi-strategy recall, reflect synthesisPer-user modeling with dialectic reasoningServer-side fact extraction with semantic search and deduplication
Agent toolsBuilt-in memory toolhindsight_retain, _recall, _reflecthoncho_profile, _search, _context, _reasoning, _concludemem0_search, _add, _update, _delete
Self-host optionn/a (local files)Yes (local embedded or external)YesYes
Best forSmall, curated facts about you and your projectsLots of history with people, projects and events that relate to each otherBots that need to understand individual usersHands-off fact memory

A simple rule: start with built-in memory. Add Hindsight when the bot has months of history and you want it to connect facts across conversations (“what did we decide about the Q3 launch, and who was involved?”). Pick Honcho when the goal is modeling each user, or Mem0 when you just want facts saved and searched without tuning.

Troubleshooting

  • hermes memory status shows no provider — the plugin is installed but not selected. Run hermes memory setup or hermes config set memory.provider hindsight.
  • Config changes do nothing — check you edited $HERMES_HOME/hindsight/config.json, not config.yaml, and restart the bot.
  • Upgraded from an older Hermes that bundled Hindsight — existing setups migrate to the catalog plugin automatically on update or first start; your bank data and API key are unchanged.

What's Next?

Run Hermes With Long-Term Memory

Deploy a hosted Hermes bot on OpenClaw Launch, then add Hindsight from the bot's Terminal.

Deploy Hermes