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
2025-12-03 23:43:47 +01:00
.github/workflows fix docker cp image build on ci (#10) 2025-12-03 21:10:46 +01:00
cookbook prepare for release 2025-12-03 11:52:25 +01:00
docker fix docker cp image build on ci (#10) 2025-12-03 21:10:46 +01:00
helm Release v0.0.15 2025-12-03 21:11:38 +01:00
hindsight prepare for release 2025-12-03 11:52:25 +01:00
hindsight-api Release v0.0.15 2025-12-03 21:11:38 +01:00
hindsight-cli Release v0.0.15 2025-12-03 21:11:38 +01:00
hindsight-clients Release v0.0.15 2025-12-03 21:11:38 +01:00
hindsight-control-plane Release v0.0.15 2025-12-03 21:11:38 +01:00
hindsight-dev Release v0.0.15 2025-12-03 21:11:38 +01:00
hindsight-docs fix docker cp image build on ci (#10) 2025-12-03 21:10:46 +01:00
hindsight-integrations rename to hindsight (#2) 2025-11-25 19:28:26 +01:00
scripts control plane and api issues 2025-12-02 18:28:57 +01:00
.dockerignore .dockerignore 2025-12-03 21:11:27 +01:00
.env.example chunks 2025-11-29 16:34:13 +01:00
.gitignore fix regressions and bunch of issues 2025-12-01 18:44:49 +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
CONTRIBUTING.md prepare for release 2025-12-03 11:52:25 +01:00
HINDSIGHT_PAPER.md fix paper 2025-12-03 16:07:08 +01:00
LICENSE Add license (#12) 2025-12-03 23:06:15 +01:00
openapi.json control plane and api issues 2025-12-02 18:28:57 +01:00
pyproject.toml fix: ci and ui improvements (#8) 2025-12-03 15:08:39 +01:00
README.md Fix architecture link (#13) 2025-12-03 23:43:47 +01:00
uv.lock fix docker cp image build on ci (#10) 2025-12-03 21:10:46 +01:00

Hindsight

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 \
  vectorize/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: vectorize-io.github.io/hindsight

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

License

MIT