Chroma Memory

Data & APIs

Stores and semantically retrieves per-turn customer conversation data with auto-tagging and customer isolation using ChromaDB.

Install

openclaw skills install chroma-memory

chroma-memory — Per-Turn Conversation Memory with ChromaDB

Long-term vector memory for customer conversations. Stores every turn with customer isolation, auto-tags quotes and commitments, enables semantic retrieval across sessions.

Commands

CommandDescription
chroma:storeStore a conversation turn (auto-called after each turn)
chroma:search <query>Semantic search across conversation history
chroma:recall <customer_id>Recall recent history for a returning customer
chroma:snapshotStore daily CRM snapshot as fallback (L4)
chroma:statsShow storage statistics

Usage

# Store a turn (normally auto-triggered by hook)
chroma:store --customer "+971501234567" --turn 5 --user "What's the price for 500 units?" --agent "Let me prepare a detailed quote..." --stage qualifying --topic pricing

# Search history
chroma:search "Dubai customer pricing discussion" --customer "+971501234567" --limit 5

# Recall for returning customer (auto-triggered when gap > 7 days)
chroma:recall "+971501234567" --limit 10

# Daily CRM snapshot (triggered by HEARTBEAT #12)
chroma:snapshot

# Stats
chroma:stats

Architecture

This skill implements Layer 3 (L3) and Layer 4 (L4) of the 4-layer Anti-Amnesia system:

  • L3: Every conversation turn → ChromaDB with customer_id isolation + auto-tagging
  • L4: Daily CRM snapshot → ChromaDB as disaster recovery fallback

Auto-Tagging

Turns are automatically tagged based on content analysis:

TagTrigger
has_quotePrice/cost/quote discussed
has_commitmentPromise made by either party
has_objectionCustomer objection detected
has_orderOrder/purchase confirmed
has_sampleSample request discussed

Customer Isolation

All data is partitioned by customer_id (phone number). Queries always include where={"customer_id": ...} to ensure strict tenant isolation.

Dependencies

  • chromadb skill (vector database, install via ClawHub)
  • OpenClaw Gateway with session-memory hook enabled