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
RCLL eea8d0f2a0 brand: Hindsight-MemPalace -> RCLL
Recovered from the 2026-06-27 snapshot import by classifying the base..snapshot delta at line granularity. Upstream base: d054b884 (2026-04-10).
2026-08-23 23:50:04 +03:00
.claude/skills/code-review fix(mcp): validate UUID inputs and add sync_retain tool (#906) 2026-04-07 11:59:59 +02:00
.claude-plugin doc: Claude Code + Telegram + Hindsight blog post (#656) 2026-03-23 15:44:07 +01:00
.githooks feat: support for gemini-3-pro and gpt-5.2 (#30) 2025-12-16 11:00:27 +01:00
.github ci: replace upstream release pipeline with npm Trusted Publishing 2026-08-23 23:50:01 +03:00
cookbook prepare for release 2025-12-03 11:52:25 +01:00
docker ops: standalone compose and env template for the RCLL distribution 2026-08-23 23:50:01 +03:00
helm/hindsight Release v0.5.0 2026-04-08 17:56:47 +02:00
hindsight-all fix: add PEP 561 py.typed marker to all Python packages (#973) 2026-04-10 23:24:46 +02:00
hindsight-all-npm feat: add @vectorize-io/hindsight-all daemon lifecycle package (#949) 2026-04-10 15:51:44 +02:00
hindsight-all-slim Release v0.5.0 2026-04-08 17:56:47 +02:00
hindsight-api Release v0.5.0 2026-04-08 17:56:47 +02:00
hindsight-api-slim fix(engine): sync migration URL and assorted engine fixes 2026-08-23 23:50:03 +03:00
hindsight-cli feat(cli): cover every OpenAPI endpoint and request-body param (#968) 2026-04-10 16:44:56 +02:00
hindsight-clients fix: add PEP 561 py.typed marker to all Python packages (#973) 2026-04-10 23:24:46 +02:00
hindsight-control-plane Release v0.5.0 2026-04-08 17:56:47 +02:00
hindsight-dev chore: drop committed session keys and .DS_Store from the tree 2026-08-23 23:50:00 +03:00
hindsight-docs blog: Hindsight 0.5.0 Templates Hub (#971) 2026-04-10 15:42:46 -04:00
hindsight-embed fix: add PEP 561 py.typed marker to all Python packages (#973) 2026-04-10 23:24:46 +02:00
hindsight-integration-tests fix: resolve remaining Dependabot security alerts (#833) 2026-04-01 17:22:38 +02:00
hindsight-integrations fix: add PEP 561 py.typed marker to all Python packages (#973) 2026-04-10 23:24:46 +02:00
mcp-server feat(mcp): RCLL MCP server and MCP-registry manifest 2026-08-23 23:50:03 +03:00
monitoring/grafana/dashboards feat: add tenant to metrics labels (#151) 2026-01-13 15:31:58 +01:00
scripts fix: add PEP 561 py.typed marker to all Python packages (#973) 2026-04-10 23:24:46 +02:00
skills refactor(openclaw)!: read config from plugin config instead of process.env (#974) 2026-04-10 18:27:28 +02:00
.dockerignore .dockerignore 2025-12-03 21:11:27 +01:00
.env.example ops: standalone compose and env template for the RCLL distribution 2026-08-23 23:50:01 +03:00
.gitignore ci: replace upstream release pipeline with npm Trusted Publishing 2026-08-23 23:50:01 +03:00
.python-version initial commit 2025-10-30 12:53:12 +01:00
AGENTS.md chore: unify agents.md and claude.md (#173) 2026-01-19 14:18:33 +01:00
CLAUDE.md breaking: remove BFS and MPFP graph retrieval strategies (#767) 2026-04-01 12:44:40 +02:00
CODE_OF_CONDUCT.md add repo files 2025-12-04 10:20:26 +01:00
CONTRIBUTING.md doc: show embed page (#255) 2026-01-30 17:34:56 +01:00
deno.lock feat(typescript-client): Deno compatibility (#607) 2026-03-18 14:25:35 +01:00
docker-compose.rcll.yml ops: standalone compose and env template for the RCLL distribution 2026-08-23 23:50:01 +03:00
hindsight-favicon.png brandind and misc fixes 2025-12-11 12:46:48 +01:00
LICENSE Add license (#12) 2025-12-03 23:06:15 +01:00
package-lock.json feat: add @vectorize-io/hindsight-all daemon lifecycle package (#949) 2026-04-10 15:51:44 +02:00
package.json feat: add @vectorize-io/hindsight-all daemon lifecycle package (#949) 2026-04-10 15:51:44 +02:00
pyproject.toml feat: introduce hindsight-api-slim and hindsight-all-slim packages (#560) 2026-03-13 13:50:03 +01:00
RCLL.md brand: Hindsight-MemPalace -> RCLL 2026-08-23 23:50:04 +03:00
README.md brand: Hindsight-MemPalace -> RCLL 2026-08-23 23:50:04 +03:00
SECURITY.md add repo files 2025-12-04 10:20:26 +01:00
server.json feat(mcp): RCLL MCP server and MCP-registry manifest 2026-08-23 23:50:03 +03:00
uv.lock feat: add @vectorize-io/hindsight-all daemon lifecycle package (#949) 2026-04-10 15:51:44 +02:00

RCLL

Self-hosted shared memory for a team of AI agents. Storage + structure in one system.

RCLL — team memory for agent fleets. Built on Hindsight (github.com/vectorize-io/hindsight, MIT).

RCLL is a fork of vectorize-io/hindsight (MIT). It keeps Hindsight's storage engine and adds rooms — shared, isolated memory across a team of agents — plus a hierarchical depth model (L0L3). The room/hall/layer taxonomy is prior art in the hierarchical-memory space; the implementation here is our own.

RCLL is recall with the vowels dropped — the one operation every agent in the fleet performs before it does anything else. The tool is literally called memory_recall; the product is named after the call.


How it works

┌──────────────────────────────────────────────────────┐
│                         RCLL                         │
│                                                      │
│  ┌─── Room: auth ───┐  ┌─── Room: pipeline ──┐       │
│  │ Hall: facts      │  │ Hall: decisions     │       │
│  │ Hall: procedures │  │ Hall: events        │       │
│  │ Hall: warnings   │  │ Hall: facts         │       │
│  │                  │  │                     │       │
│  │  L0 ████ always  │  │  L0 ████ always     │       │
│  │  L1 ███░ warm    │  │  L1 ███░ warm       │       │
│  │  L2 ██░░ cold    │  │  L2 ██░░ cold       │       │
│  │  L3 █░░░ archive │  │  L3 █░░░ archive    │       │
│  └──────────────────┘  └─────────────────────┘       │
│           │                      │                   │
│           └──── Tunnel ──────────┘                   │
│                (cross-bank bridge)                   │
│                                                      │
│  Closets: compressed summaries + source pointers     │
└──────────────────────┬───────────────────────────────┘
                       │
              Hindsight vector store
              (embeddings + semantic search)

Rooms — topic isolation. Auth, pipeline, infrastructure, schema — each topic in its own room. An agent searching for auth facts won't wade through 500 deploy memories.

Halls — knowledge typing within a room. Fact, event, decision, procedure, warning. The system knows what it's looking at before reading — like Content-Type for memory.

Layers L0L3 — four priority tiers. L0 (core) is always loaded. L3 (archive) is deep-search only. Same idea as CPU cache hierarchy: L1 is fast and small, RAM is slow but holds everything.

Closets — AI-compressed summaries with source pointers. Deduplication at the knowledge level: 10 related facts → 1 paragraph + references.

Tunnels — cross-bank bridges between agents. Agent A discovers an insight — Agent B sees it through a tunnel without data duplication.

Comparison

Hindsight (upstream) RCLL
What it is Long-term memory store Storage + taxonomy hybrid
Storage Vector store + embeddings Vector store + embeddings
Memory structure Flat (all memories equal) Rooms → Halls → Layers + embeddings
Retrieval Semantic search Room-scoped semantic search
Classification None Keyword-based, <1ms, zero LLM cost
Priority tiers All memories equal L0L3 (implemented)
Compression None Closets with source pointers
Multi-agent Shared bank Tunnels (cross-bank bridges)
MCP integration API only 5 tools via MCP protocol
Setup Docker Docker (drop-in upgrade)

Quick start

git clone https://github.com/holetron-lab/rcll.git
cd rcll
cp .env.example .env
# edit .env with your config
docker compose -f docker-compose.rcll.yml up -d

API available at http://localhost:5100. Drop-in replacement for vanilla Hindsight — same API, same clients, new brain.

Embeddings

Ships with BAAI/bge-small-en-v1.5 (384-dim) — fast, CPU-friendly, baked into the image so first run needs no network download. It's English-optimized; recall quality on other languages degrades.

For multilingual memory (e.g. RU, multi-script), point it at a multilingual model:

HINDSIGHT_API_EMBEDDINGS_LOCAL_MODEL=BAAI/bge-m3   # 1024-dim, multilingual

Dimension is detected automatically. ⚠️ Switching models changes the vector dimension — do it on an empty memory store, or wipe + re-embed, since existing vectors can't be mixed across dimensions.

MCP Server

The mcp-server/ directory contains a standalone MCP server. Any MCP-compatible client (Claude Code, OpenClaw, Cursor, etc.) connects and gets structured long-term memory.

Tools

Tool Description
memory_retain Save a memory with automatic room/hall classification
memory_recall Scoped semantic search with room/hall/layer filters
memory_reflect Deep reasoning — synthesize facts, find patterns, answer with citations
memory_compress Create closet summaries from accumulated facts
memory_bridge Cross-bank tunnels between related memories

Setup

cd mcp-server
npm install
RCLL_URL=http://localhost:5100 node server.js

Claude Code config

Add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "rcll": {
      "command": "node",
      "args": ["/path/to/mcp-server/server.js"],
      "env": {
        "RCLL_URL": "http://localhost:5100",
        "RCLL_BANK": "my-agent-bank"
      }
    }
  }
}

Upgrading from the old package name? HINDSIGHT_URL and the legacy bank variable are still read as a fallback, so an existing config keeps working — it just prints a deprecation notice on start.

See mcp-server/README.md for full docs and environment variables.

API changes from upstream

The base /retain and /recall endpoints are fully backward-compatible. New parameters are optional.

New parameters

Endpoint Parameter Type Description
/retain room string Topic room (auto-classified if omitted)
/retain hall string Knowledge type (auto-classified if omitted)
/retain layer int Priority 0-3 (default: 2)
/recall room string Filter recall to a specific room
/recall hall string Filter recall to a specific hall
/recall max_layer int Maximum layer depth to search

New endpoints

Method Endpoint Description
POST /bridge Create a cross-bank memory bridge
GET /tunnels List existing tunnels
POST /tunnels Create a tunnel between banks
GET /closets List compressed memory summaries
POST /closets Compress L3 memories into a closet

Room/Hall taxonomy

Rooms (topics)

auth · pipeline · infrastructure · deployment · schema · api · ui · tax · hr · legal · compliance · monitoring · agent · general

Halls (knowledge types)

warning · decision · procedure · event · preference · discovery · fact

Layers

Layer Name Behavior
L0 Critical Always recalled
L1 Important Recalled by default
L2 Normal Standard (default for new memories)
L3 Archive Deep search only, compressed into closets

Auto-classification

RCLL includes a keyword-based classifier (room_hall_classifier.py) that assigns room and hall automatically when not provided. No LLM call — classification is instant and free.

Extensible: add keywords to ROOM_KEYWORDS / HALL_KEYWORDS dictionaries.

Examples

Store a memory

curl -X POST http://localhost:5100/retain \
  -H "Content-Type: application/json" \
  -d '{
    "bank": "project-alpha",
    "text": "Never restart PROD PM2 without confirming DEV works first.",
    "room": "deployment",
    "hall": "warning",
    "layer": 0
  }'

Scoped recall

curl -X POST http://localhost:5100/recall \
  -H "Content-Type: application/json" \
  -d '{
    "bank": "project-alpha",
    "query": "deployment safety rules",
    "room": "deployment",
    "hall": "warning",
    "max_layer": 1
  }'

Cross-bank bridge

curl -X POST http://localhost:5100/bridge \
  -H "Content-Type: application/json" \
  -d '{
    "source_bank": "project-alpha",
    "target_bank": "project-beta",
    "room": "infrastructure",
    "hall": "procedure"
  }'

What we changed

A taxonomy layer over Hindsight's vector store, plus a standalone MCP server.

Key additions:

  • room_hall_classifier.py — keyword-based taxonomy engine (new)
  • aa1_add_room_hall_to_memory_units.py — DB migration: flat → hierarchical, adds room/hall + layer column (new)
  • mcp-server/ — standalone MCP server with 5 tools (new)
  • Storage layer — room/hall/layer metadata on every write
  • Retrieval — room-scoped search with hall filtering
  • Compression — closet generation with source linking
  • Tunnels — cross-bank memory sharing protocol

Full architectural spec: RCLL.md

Upstream compatibility

This fork tracks vectorize-io/hindsight as upstream. To pull updates:

git remote add upstream https://github.com/vectorize-io/hindsight.git
git fetch upstream
git merge upstream/main

All changes are additive — existing Hindsight behavior is preserved.

Credits

  • Hindsight by vectorize-io — the memory storage engine
  • Holetron — fork maintainers, MCP server, integration

License

MIT — same as upstream Hindsight. See LICENSE.