RCLL — self-hosted shared memory for a team of AI agents. Canonical repository; pushed out to github.com/Holetron-lab/fleet-memory. Fork of vectorize-io/hindsight (MIT). https://rcll.ai
Find a file
Derek Bouius b0c7bba5a1
fix: upgrade Next.js to 16.0.7 to patch CVE-2025-66478 (#19)
Critical (CVSS 10.0) Remote Code Execution vulnerability in React Server Components.
Affects Next.js 16.x < 16.0.7.

Reference: https://nextjs.org/blog/CVE-2025-66478
2025-12-08 17:01:06 -05:00
.github/workflows docs, packages and quick start 2025-12-04 12:49:01 +01:00
cookbook prepare for release 2025-12-03 11:52:25 +01:00
docker/standalone improve docker and mcp 2025-12-04 15:38:55 +01:00
helm Release v0.0.21 2025-12-05 01:21:40 +01:00
hindsight Release v0.0.21 2025-12-05 01:21:40 +01:00
hindsight-api improve retain performances, caching and tests 2025-12-08 18:21:56 +01:00
hindsight-cli fix entity and migrate memory disposition 2025-12-08 16:14:49 +01:00
hindsight-clients fix entity and migrate memory disposition 2025-12-08 16:14:49 +01:00
hindsight-control-plane fix: upgrade Next.js to 16.0.7 to patch CVE-2025-66478 (#19) 2025-12-08 17:01:06 -05:00
hindsight-dev improve retain performances, caching and tests 2025-12-08 18:21:56 +01:00
hindsight-docs fix: update Docusaurus config for custom domain (#20) 2025-12-08 16:40:36 -05:00
hindsight-integrations rename to hindsight (#2) 2025-11-25 19:28:26 +01:00
scripts fix node build 2025-12-05 01:21:30 +01:00
.dockerignore .dockerignore 2025-12-03 21:11:27 +01:00
.env.example chunks 2025-11-29 16:34:13 +01:00
.gitignore rename bank facts to interactions 2025-12-04 17:16:04 +01:00
.python-version initial commit 2025-10-30 12:53:12 +01:00
.sesskey papers and fixes 2025-11-14 14:07:41 +01:00
CODE_OF_CONDUCT.md add repo files 2025-12-04 10:20:26 +01:00
CONTRIBUTING.md prepare for release 2025-12-03 11:52:25 +01:00
LICENSE Add license (#12) 2025-12-03 23:06:15 +01:00
openapi.json fix entity and migrate memory disposition 2025-12-08 16:14:49 +01:00
pyproject.toml fix: ci and ui improvements (#8) 2025-12-03 15:08:39 +01:00
README.md docs: update documentation URL to custom domain (#21) 2025-12-08 16:59:57 -05:00
SECURITY.md add repo files 2025-12-04 10:20:26 +01:00
uv.lock fix readme 2025-12-05 07:43:19 +01:00

Hindsight

CI License: MIT PyPI - hindsight-client PyPI - hindsight-api PyPI - hindsight-all npm

Long-term memory for AI agents.

Why Hindsight?

AI assistants forget everything between sessions. Every conversation starts from zero—no context about who you are, what you've discussed, or what the memory bank has learned. This isn't just inconvenient; it fundamentally limits what AI memory banks can do.

The problem is harder than it looks:

  • Simple vector search isn't enough — "What did Alice do last spring?" requires temporal reasoning, not just semantic similarity
  • Facts get disconnected — Knowing "Alice works at Google" and "Google is in Mountain View" should let you answer "Where does Alice work?" even if you never stored that directly
  • Memory banks need opinions — A coding assistant that remembers "the user prefers functional programming" should weigh that when making recommendations
  • Context matters — The same information means different things to different memory banks with different personalities

Hindsight solves these problems with a memory system designed specifically for AI memory banks.

Quick Start

Get the full experience with the API and Control Plane UI:

export OPENAI_API_KEY=your-key
docker run -p 8888:8888 -p 9999:9999 \
  -e HINDSIGHT_API_LLM_PROVIDER=openai \
  -e HINDSIGHT_API_LLM_API_KEY=$OPENAI_API_KEY \
  -e HINDSIGHT_API_LLM_MODEL=gpt-4o-mini \
  -v $HOME/.hindsight-docker:/home/hindsight/.pg0 \
  ghcr.io/vectorize-io/hindsight

Then use the Python client:

pip install hindsight-client
from hindsight import HindsightClient

client = HindsightClient(base_url="http://localhost:8888")

# Store memories
client.retain(bank_id="my-agent", content="Alice works at Google as a software engineer")
client.retain(bank_id="my-agent", content="Alice mentioned she loves hiking in the mountains")

# Query with temporal reasoning
results = client.recall(bank_id="my-agent", query="What does Alice do for work?")

# Get a synthesized perspective
response = client.reflect(bank_id="my-agent", query="Tell me about Alice")
print(response.text)

Option 2: Embedded (no docker/server required)

For quick prototyping, run everything in-process:

pip install hindsight-all
export OPENAI_API_KEY=your-key
import os
from hindsight import HindsightServer, HindsightClient

with HindsightServer(llm_provider="openai", llm_model="gpt-4o-mini", llm_api_key=os.environ["OPENAI_API_KEY"]) as server:
    client = HindsightClient(base_url=server.url)

    client.retain(bank_id="my-user", content="User prefers functional programming")
    response = client.reflect(bank_id="my-user", query="What coding style should I use?")
    print(response.text)

Documentation

Full documentation: hindsight.vectorize.io

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

License

MIT