Skip to content

Memory Worker (GraphRAG)

Knowledge pipeline — Redis inbox → Qdrant (vektory) + Neo4j (graf) + denní MD soubory.

Owner main / fess
Status running (PM2 memory-worker)
Repo /root/projects/memory-worker (na cerebro)
Stack Python + PM2

Architektura (Libor's design)

  1. Agenti posílají znalosti do Redis fronty memory:inbox (async, neblokující)
  2. Memory worker zpracovává frontu (Claude agent na cerebro):
  3. Extrakce entit a vztahů → Neo4j
  4. Generování embeddingů → Qdrant
  5. Neo4j uzly mají qdrant_id pro deep lookup
  6. Query: agent pošle kontext → dostane relevantní graf + top-k vektory
  7. Daily MD: denní snapshot do /root/projects/memory-worker/daily/<date>.md

Cíl: agenti nemusí držet vše v CLAUDE.md → šetří tokens.

Stores

Store Kde Účel
Qdrant cerebro (100.72.164.58:6333), kolekce memory-workspace (768d) sémantické vyhledávání
Neo4j cerebro (100.72.164.58:7687) graf vztahů
Redis cerebro memory:inbox queue inbox
Daily MD /root/projects/memory-worker/daily/ human-readable snapshot

Posílání zpráv (z libovolného agenta)

/root/projects/memory-worker/memory_client.sh <agent> <type> "<text>" "[tags]" "[context]"
  • Types: decision | note | contact | event | task | deploy
  • Příklad:
    /root/projects/memory-worker/memory_client.sh sentinel deploy \
      "Deploy billit 0c1e2db hub+prod (T-20260427-481), web-only" \
      "billit,deploy"
    

Alternativa — přímý Redis push:

docker exec s60-redis redis-cli -a changeme123 --no-auth-warning LPUSH memory:inbox \
  '{"from":"<agent>","type":"decision","content":"...","entities":[],"relations":[]}'

Stats (z auto-injection při startu sentinel session)

  • Celkem zpracováno: 100+
  • Per agent: pulse (37), billit (14), s60_cms (9), auth (9), cms (7), main (6), badwolf (5), …

Sentinel role

Sentinel konzumuje memory pipeline (poslat zprávy po deployi). Sentinel neudržuje worker (běží na cerebro pod main / fess agentem).

Související