RCLL

ai.rcll由 rcll.ai 發布v0.1.0更新於 Nov 3, 2026

Self-hosted shared memory for a team of AI agents. Rooms, L0-L3 depth, no LLM on the read path.

發布方自己的服務:Memory.fit

已驗證STDIO僅桌面知識與記憶AI 與機器學習

概覽

AI 產生的概覽

為 AI 代理團隊打造的自架共享記憶服務,透過 stdio 提供保存、召回、反思、壓縮與橋接工具,連接你自己的後端。

可以做什麼
  • 儲存記憶,並自動歸類到房間與大廳
  • 依房間、大廳與層級範圍進行語意檢索
  • 透過代理式推理迴圈綜合事實並給出附引用的回答
  • 把累積的事實壓縮成帶來源指標的摘要
  • 在記憶庫之間建立隧道,讓一個代理的記憶能被另一個看到
適用情境
當多個代理或工作階段需要共用同一個自架持久記憶庫,並希望依主題限定召回、且召回不消耗模型 token 時使用。適合已執行 RCLL 後端、想讓助理讀寫該記憶庫的情境。
執行需求
需要執行中的自架 RCLL 後端;MCP 伺服器是本地 Node.js 程序,在 mcp-server 目錄執行 npm install 後以 node 啟動。環境變數 FLEET_URL(後端位址,預設 FLEET_BANK(預設記憶庫);舊變數 HINDSIGHT_URL 與舊庫名變數仍作為備援讀取。僅支援桌面用戶端。
安裝前請注意
README 指出 npm 套件尚未發布、也沒有推送容器映像,因此文件中的 npx 安裝方式可能無法使用,需從原始碼建置。memory_reflect 會反覆呼叫模型,不應暴露給不受信任的輸入;memory_retain、memory_compress 與 memory_bridge 會寫入資料。召回雖不消耗模型 token,但會佔用上下文,且目前無法匯出已存記憶。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 RCLL,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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).

[!IMPORTANT] You are looking at a read-only mirror. The canonical repository is godcrm.ai/git/holetron-lab/fleet-memory — self-hosted, public, clonable anonymously with no account anywhere in the chain. Everything here is pushed out from there, so a merge performed on GitHub is overwritten by the next sync, usually within the hour. Issues and stars belong here and are read. A pull request is welcome here as well — it gets merged on the canonical side and arrives back here on the next sync.

RCLL is a fork of vectorize-io/hindsight (MIT). It keeps Hindsight's storage engine and adds rooms — topic scoping over one shared store, which is selectivity rather than isolation — plus a hierarchical depth model (L0–L3). 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.

Its one structural property worth remembering: the read path never invokes a language model. A recall costs CPU and zero model tokens — see architecture.

Status

The source is public and MIT. There is no packaged release yet: fleet-memory-mcp is not published on npm and no container image is pushed. Running RCLL today means building from this tree, which the quick start below does. Don't quote an install command as working until rcll.ai shows one.

Site, measured numbersrcll.ai · benchmarks
Written for an AI agent, not a humanrcll.ai/agents.md
Where we branched from upstream, and how to take the next releaseFORK.md
Architecture specRCLL.md

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 L0–L3 — 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.

What this fork adds

This is a list of our additions relative to our branch point (d054b884, April 2026) — not a claim about what upstream Hindsight does today. Upstream has shipped roughly 1,700 commits and four minor releases since we branched; assume anything below has an upstream answer we have not evaluated, and read FORK.md before treating this as a comparison.

Added hereWhat it is
RoomsTopic scoping on every write and every read — selectivity, not isolation
HallsKnowledge typing within a room (fact, event, decision, procedure, warning)
Layers L0–L3Durability tiers; L0 always recalled, L3 deep-search only
ClassificationKeyword-based, sub-millisecond, no LLM call — the taxonomy costs zero tokens
ClosetsCompressed summaries by room + hall, with pointers back to sources
TunnelsCross-bank bridges
MCP serverStandalone server exposing 5 tools over MCP

Everything is additive: the upstream /retain and /recall contracts as of our branch point still work unchanged, and every new parameter is optional.

Measured

Retrieval quality, our own models on the public LoCoMo dataset, using a third-party harness rather than one we wrote. Full method, the arms that lost, and the caveats: rcll.ai/docs/benchmarks/.

ConfigurationnDCG@10vs BM25
BM250.3885baseline
vector0.4244+0.036
hybrid fusion0.4722+0.084
hybrid fusion + reranker (default)0.5862+0.198

This is retrieval quality, not answer accuracy. It is not comparable to figures of the form "77% on LoCoMo", which measure a reader and a judge on top of a store. We publish no accuracy number because we have not run a reader and a judge.

Two results that go against us are on the benchmarks page rather than left out: on multi-hop questions our default fusion is worse than vector-plus-reranker, and on single-hop BM25 alone beats dense retrieval.

Latency on CPU with no GPU: ~0.29 s for search, ~3.0 s including the cross-encoder reranker. The reranker is 85% of the time and the single largest quality gain we can measure.

Quick start

bash
git clone https://github.com/holetron-lab/fleet-memory.gitcd rcllcp .env.example .env# edit .env with your configdocker compose -f docker-compose.rcll.yml up -d

This builds the image from this tree — there is no published image to pull, so the first run compiles and is not fast. The API then listens on http://localhost:5100.

Clients written against upstream Hindsight's API as of our branch point keep working — the added parameters are optional. It is not a drop-in for current upstream Hindsight, which is several releases ahead of this fork.

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:

bash
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.

Running without an LLM key

LLM_PROVIDER=none is a supported configuration, and it is a smaller product rather than the same one for free: retain drops to chunk mode — chunks stored and embedded whole, with no fact extraction, no entity resolution, no causal links, and consolidation and reflection off. You get a hybrid vector-and-lexical chunk store. Reading is unaffected, because reading never calls a model anyway. Choose this deliberately, or point extraction at a local model — don't arrive here by leaving a field blank.

MCP Server

The mcp-server/ directory contains a standalone MCP server over stdio.

What is actually verified, as of 2026-08-24, against a live backend: protocol version 2025-06-18; initialize, tools/list and tools/call all round-trip; memory_recall returns real results. That is a protocol-level check run directly over stdio — not a client-by-client compatibility matrix.

Any client that speaks MCP over stdio should therefore work, but we have not sat in front of each one. Listed below is the config we run ourselves (Claude Code) and no others. If you get it working with a different client, a PR to this section is the useful kind.

Tools

ToolDescription
memory_retainSave a memory with automatic room/hall classification
memory_recallScoped semantic search with room/hall/layer filters
memory_reflectDeep reasoning — synthesize facts, find patterns, answer with citations
memory_compressCreate closet summaries from accumulated facts
memory_bridgeCross-bank tunnels between related memories

memory_recall is the only one of the five that never calls a model. memory_reflect is an agentic loop with repeated LLM calls — if you expose this server to anything untrusted, expose memory_recall alone.

One thing worth knowing before you budget context: the backend treats limit on recall as a retrieval hint, not a result cap — it returns everything inside its own token budget, around 110 facts. The MCP layer enforces your limit on the way out, so a limit: 2 recall costs about 1 KB instead of 43 KB. Recall spends no model call; it does spend context.

Setup

bash
cd mcp-servernpm installFLEET_URL=http://localhost:5100 node server.js

Claude Code config

Add to ~/.claude/mcp.json:

json
{  "mcpServers": {    "rcll": {      "command": "node",      "args": ["/path/to/mcp-server/server.js"],      "env": {        "FLEET_URL": "http://localhost:5100",        "FLEET_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 backward-compatible with upstream as of our branch point. New parameters are optional.

New parameters

EndpointParameterTypeDescription
/retainroomstringTopic room (auto-classified if omitted)
/retainhallstringKnowledge type (auto-classified if omitted)
/retainlayerintPriority 0-3 (default: 2)
/recallroomstringFilter recall to a specific room
/recallhallstringFilter recall to a specific hall
/recallmax_layerintMaximum layer depth to search

New endpoints

MethodEndpointDescription
POST/bridgeCreate a cross-bank memory bridge
GET/tunnelsList existing tunnels
POST/tunnelsCreate a tunnel between banks
GET/closetsList compressed memory summaries
POST/closetsCompress 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

LayerNameBehavior
L0CriticalAlways recalled
L1ImportantRecalled by default
L2NormalStandard (default for new memories)
L3ArchiveDeep 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

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

Scoped recall

bash
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

bash
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"  }'

Known limits

Honest list, kept here rather than only on the site:

  • You cannot export your memory yet. The upstream export command emits a bank template — config, mental models, directives — and none of your stored content. A full dump that carries rooms, halls, layers and the link graph is the top item on our list, because it is the one thing that should not be missing from a store you self-host.
  • No accuracy benchmark. Retrieval quality is measured and published; a reader-and-judge run is not.
  • Adversarial / unanswerable questions — where the right answer is "I don't know" — are not covered by the retrieval metric we report, and that is the category most likely to embarrass us.
  • Switching MEMORY_MODE later does not migrate what you already stored. Pick before you accumulate.

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. Commit-by-commit account of the fork: FORK.md.

Upstream

This fork branches from d054b884 and its changes are a readable series on top of that commit, so taking a new upstream release is a rebase rather than an excavation:

bash
git remote add upstream https://github.com/vectorize-io/hindsight.gitgit fetch upstream --tagsgit rebase --onto <upstream-tag> d054b884 main

Expect real conflicts: the rooms work touches the same engine files upstream has rewritten most. FORK.md lists which ones and why.

Credits

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

License

MIT — same as upstream Hindsight. See LICENSE.

來源:README.md,提交 81ef52c

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Memory 整合