Memory Consolidation Plugin (828 -> 465 lines): - Replace SentenceTransformer with cat.embedder.embed_query() for vector consistency - Fix per-user fact isolation: source=user_id instead of global - Add duplicate fact detection (_is_duplicate_fact, score_threshold=0.85) - Remove ~350 lines of dead async run_consolidation() code - Remove duplicate declarative search in before_cat_sends_message - Unify trivial patterns into TRIVIAL_PATTERNS frozenset - Remove all sys.stderr.write debug logging - Remove sentence-transformers from requirements.txt (no external deps) Loguru Fix (cheshire-cat/cat/log.py): - Patch Cat v1.6.2 loguru format to provide default extra fields - Fixes KeyError: 'original_name' from third-party libs (fastembed) - Mounted via docker-compose volume Discord Bridge: - Copy discord_bridge.py to cat-plugins/ (was empty directory) Test Results (6/7 pass, 100% fact recall): - 11 facts extracted, per-user isolation working - Duplicate detection effective (+2 on 2nd run) - 5/5 natural language recall queries correct
61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
services:
|
|
cheshire-cat-core:
|
|
image: ghcr.io/cheshire-cat-ai/core:1.6.2
|
|
container_name: miku_cheshire_cat_test
|
|
depends_on:
|
|
- cheshire-cat-vector-memory
|
|
environment:
|
|
PYTHONUNBUFFERED: "1"
|
|
WATCHFILES_FORCE_POLLING: "true"
|
|
CORE_HOST: ${CORE_HOST:-localhost}
|
|
CORE_PORT: ${CORE_PORT:-1865}
|
|
QDRANT_HOST: ${QDRANT_HOST:-cheshire-cat-vector-memory}
|
|
QDRANT_PORT: ${QDRANT_PORT:-6333}
|
|
CORE_USE_SECURE_PROTOCOLS: ${CORE_USE_SECURE_PROTOCOLS:-false}
|
|
API_KEY: ${API_KEY:-}
|
|
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
|
DEBUG: ${DEBUG:-true}
|
|
SAVE_MEMORY_SNAPSHOTS: ${SAVE_MEMORY_SNAPSHOTS:-false}
|
|
OPENAI_API_BASE: "http://host.docker.internal:8091/v1"
|
|
ports:
|
|
- "${CORE_PORT:-1865}:80"
|
|
# Allow connection to host services (llama-swap)
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ./cat/static:/app/cat/static
|
|
- ./cat/plugins:/app/cat/plugins
|
|
- ./cat/data:/app/cat/data
|
|
- ./cat/log.py:/app/cat/log.py # Patched: fix loguru KeyError for third-party libs
|
|
restart: unless-stopped
|
|
networks:
|
|
- miku-test-network
|
|
- miku-discord_default # Connect to existing miku bot network
|
|
|
|
cheshire-cat-vector-memory:
|
|
image: qdrant/qdrant:v1.9.1
|
|
container_name: miku_qdrant_test
|
|
environment:
|
|
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
|
ports:
|
|
- "6333:6333" # Expose for debugging
|
|
ulimits:
|
|
nofile:
|
|
soft: 65536
|
|
hard: 65536
|
|
volumes:
|
|
- ./cat/long_term_memory/vector:/qdrant/storage
|
|
restart: unless-stopped
|
|
networks:
|
|
- miku-test-network
|
|
|
|
networks:
|
|
miku-test-network:
|
|
driver: bridge
|
|
# Connect to main miku-discord network to access llama-swap
|
|
default:
|
|
external: true
|
|
name: miku-discord_default
|
|
miku-discord_default:
|
|
external: true # Connect to your existing bot's network
|