What’s new here
Hindsight sorts what it stores into world facts, the agent’s own experiences, observations and mental models. In the background it merges related facts into observations, each with its supporting quotes and a proof count. New evidence refines a belief instead of overwriting it.
What it does
The API is three calls. retain sends content to an LLM that extracts facts, entities, relationships and time data. recall runs semantic, keyword (BM25), graph and temporal retrieval in parallel, merges the results with reciprocal rank fusion and a cross-encoder reranker, then trims to a token limit. reflect reasons over the stored memories to answer harder questions.
Memory lives in banks, one isolated store per user, agent or project. Banks can carry disposition traits such as skepticism and empathy that shape how reflect reasons. Mental models are standing answers to a question, rewritten in the background, so reading one is a database read with no LLM call. An opt-in Memory Defense policy scans each retain for secrets and PII and redacts or blocks matches.
It can also be added with little change to agent code. A LiteLLM-based wrapper (wrap_openai, wrap_anthropic) replaces your LLM client and recalls and retains on every call. Each server exposes an MCP endpoint per bank, and the README lists 60+ integrations plus a package that gives CLI coding agents per-repo project memory built from git history and past sessions.
Who it’s for
Developers building agents that should change behavior over time, such as support, sales or project-manager agents, or anyone wanting long-term project memory in a coding agent. The README itself says it may be overkill for simple n8n-style workflows. You need an LLM provider, though local ones such as ollama are supported. You also need a running server, the embedded Python package or Hindsight Cloud.
Try it
You need Docker and an LLM API key. The server stores data in PostgreSQL with pgvector. The command below keeps it in a hindsight-data volume, and the README also gives a Docker Compose setup with an external PostgreSQL. The README says 25+ LLM providers work through HINDSIGHT_API_LLM_PROVIDER.
export OPENAI_API_KEY=sk-xxx
docker run -it --pull always --name hindsight --restart unless-stopped -p 8888:8888 -p 9999:9999 \
-e HINDSIGHT_API_LLM_API_KEY=$OPENAI_API_KEY \
-v hindsight-data:/home/hindsight/.pg0 \
ghcr.io/vectorize-io/hindsight:latestThe API is at http://localhost:8888 and the UI at http://localhost:9999. Then connect a client:
pip install hindsight-client -Ufrom hindsight_client import Hindsight
client = Hindsight(base_url="http://localhost:8888")
client.retain(bank_id="my-bank", content="Alice works at Google as a software engineer")
client.recall(bank_id="my-bank", query="What does Alice do?")
client.reflect(bank_id="my-bank", query="Tell me about Alice")Prebuilt release assets also exist for v1.1.0: Python wheels and binaries for macOS and Linux (amd64 and arm64). A pip install (pip install hindsight-api, then hindsight-api), a Helm chart and a hosted Hindsight Cloud are also covered in the README.
How mature is it
It has 53,963 stars, 6,263 forks and an MIT license. The repo was created on 2025-10-30 and last pushed on 2026-10-26. There are 74 releases, the latest being v1.1.0 on 2026-10-21. The contributor count and the 90-day commit count both hit the API cap of 100, so activity is high. There are 145 open issues and 11 open PRs. The README says its LongMemEval results were reproduced by Virginia Tech researchers and The Washington Post, and that other vendors’ scores are self-reported. It also says the system runs in production at Fortune 500 companies, which I could not check.