Hindsight is an open-source (MIT-licensed) long-term memory system for AI agents from Vectorize, designed to solve the problem of AI agents forgetting everything between sessions. It lets agents store what they see and do through the retain API, then retrieve it through recall, or use reflect to let the system reason over memories, thereby maintaining memory across sessions, users, and projects.
Purpose
Hindsight provides AI agents with persistent, learnable long-term memory. Traditional agents start from scratch in every conversation, with no context about who the user is, what was discussed, or what has been learned. Hindsight solves this problem with a memory system designed specifically for agents, supporting memory retention across sessions, users, and projects.
Key Capabilities
- Memory Types: Hindsight does not store conversations; instead, it extracts what is said into typed facts and builds on them, including world facts (objective statements), experience facts (the memory bank's own behavior), observations (beliefs consolidated from multiple facts, with evidence and history), mental models (curated summaries written by users for common questions), and knowledge pages (living documents written by the memory bank about itself). Facts are linked to one another through entities, so that two facts that were never stored together can still answer questions like "Where does Alice work?"
- Multi-Strategy Retrieval: recall() runs four searches in parallel—semantic search (by meaning rather than wording), keyword search (BM25, supporting five pluggable Postgres backends, including Citus clusters), graph search (entity links, where facts reachable in two hops can be returned even if they share no words with the query), and temporal search (parsing time expressions into windows, filling by relevance and distributing across ranges). Results are fused by rank rather than score, reranked by a cross-encoder, and truncated by token budget rather than top-k.
- Observation Consolidation: A background worker continuously turns raw facts into persistent beliefs, including deduplication, evidence support (each observation points to the memories that support it, with exact citations and proof counts), refinement rather than overwriting (new evidence updates observations while preserving history), and freshness awareness (unconsolidated memories are treated as stale and checked against raw facts).
- Knowledge Pages: Living documents written by the memory bank about itself, organized as a folder tree, browsable and searchable, with each page answering one question. Pages are synthesized from observations rather than raw conversations, and never self-reference to avoid feedback loops. They can be accessed via hindsight fs mount projects the tree as plain markdown files on disk.
- reflect() reasoning: returns answers rather than memories, running through an agent loop. It gathers evidence on its own (up to ten rounds, and cannot answer before retrieving content), checks sources by priority (first mental models and knowledge pages, then observations, and finally raw facts), and cites the IDs actually retrieved.
- Memory bank configuration: mission (describing the memory bank's identity and priorities in plain language), instructions (hard rules that must not be violated), and tendencies (skepticism, literalness, empathy on a 1-5 scale) shape reflect's behavior, but do not affect the memories returned by recall.
How to use
Hindsight offers three deployment methods: fully managed Hindsight Cloud, embedded zero-configuration local operation, and your own cluster (with a connection string provided). Registering with GitHub gives $5 in free credit. Quick start can be installed and running within 60 seconds. For integrations, coding agents can connect more than 20 tools (Claude Code, Codex CLI, Cursor CLI, opencode, Copilot CLI, etc.) to per-repository memory banks with a single installation; personal agents such as Hermes and OpenClaw can install Hindsight as a memory provider, and the Hermes desktop app can be configured in settings without a terminal. For other frameworks, MCP servers, and tools, see the integration center.
Applicable scenarios
- Coding agents: provide a memory bank for each repository, remembering user preferences and project conventions.
- Personal agents: retrieve important memories before each round of answering, and retain what was said after answering.
- Various AI agent applications that need to maintain context across sessions.
Limitations
The materials do not provide complete information about pricing, specific performance metrics, platform compatibility details, or usage restrictions. Specific data such as retrieval accuracy is not yet provided.