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:
- Prefetches relevant memories before each turn and injects them into the prompt.
- Sends each finished turn to Hindsight so it can extract facts and entities in the background.
- Mirrors writes to Hermes's built-in
MEMORY.md/USER.mdinto the Hindsight bank. - Gives the agent three tools:
hindsight_retain,hindsight_recallandhindsight_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
| Mode | Where memory lives | What you need |
|---|---|---|
cloud (default) | Hindsight Cloud | An API key from ui.hindsight.vectorize.io |
local_embedded | A local Hindsight daemon with its own PostgreSQL, started by the plugin | An LLM API key (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama or another OpenAI-compatible endpoint) |
local_external | A Hindsight server you already run | Its 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 providerThe 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/.envNote 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:
| Key | Default | What it does |
|---|---|---|
mode | cloud | cloud, local_embedded or local_external |
bank_id | hermes | Name of the memory bank |
recall_budget | mid | Recall thoroughness: low, mid or high |
memory_mode | hybrid | hybrid (auto-inject + tools), context (auto-inject only), tools (tools only) |
auto_recall | true | Recall memories before each turn |
auto_retain | true | Save 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:
- Deploy a Hermes bot from openclawlaunch.com/hermes-hosting, or open an existing one on your dashboard.
- Click the Terminal button on the bot card. It opens a shell inside that bot's container.
- Run
hermes plugins install hindsight, thenhermes memory setupand 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. - Restart the bot from the dashboard so the gateway starts with the new memory provider.
- Run
hermes memory statusto 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-in | Hindsight | Honcho | Mem0 | |
|---|---|---|---|---|
| Install | Always on | hermes plugins install hindsight | hermes plugins install honcho | hermes plugins install mem0 |
| Maintained by | Nous Research | Vectorize | Plastic Labs | Mem0 |
| Approach | Curated MEMORY.md / USER.md files | Knowledge graph, entity resolution, multi-strategy recall, reflect synthesis | Per-user modeling with dialectic reasoning | Server-side fact extraction with semantic search and deduplication |
| Agent tools | Built-in memory tool | hindsight_retain, _recall, _reflect | honcho_profile, _search, _context, _reasoning, _conclude | mem0_search, _add, _update, _delete |
| Self-host option | n/a (local files) | Yes (local embedded or external) | Yes | Yes |
| Best for | Small, curated facts about you and your projects | Lots of history with people, projects and events that relate to each other | Bots that need to understand individual users | Hands-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 statusshows no provider — the plugin is installed but not selected. Runhermes memory setuporhermes config set memory.provider hindsight.- Config changes do nothing — check you edited
$HERMES_HOME/hindsight/config.json, notconfig.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?
- Hermes Agent Memory — how the built-in memory works
- Hermes Agent + Honcho — per-user personalization memory
- Mem0 — the Mem0 memory layer explained
- Hermes Agent Plugins — installing and managing plugins
- Hermes Agent CLI — the commands used in this guide