Няма описание

Lukas Goldschmidt ef24a14b11 Document v1.0.0 release преди 1 месец
.gitignore e7e680afa5 Init memory compactor преди 1 месец
PROJECT.md eec04b2e39 Embed facts inline and tighten summaries преди 1 месец
README.md ef24a14b11 Document v1.0.0 release преди 1 месец
compactor.py eec04b2e39 Embed facts inline and tighten summaries преди 1 месец

README.md

memory-compactor

Version: v1.0.0

Temporal conversational memory compactor for your custom mem0-python-server.

What it does

  • pulls conversational memories for one user_id
  • clusters by time windows
  • extracts a compact summary + structured facts per segment (Groq)
  • writes summaries verbatim to POST /memories/raw
  • appends extracted facts into the summary text (non-empty only)
  • preserves full extracted facts in metadata alongside the summary
  • injects metadata.created_at so summaries sort correctly without date prefixes
  • optionally deletes older intermediate entries (safe budget + dry-run first)

Safety defaults

  • dry-run by default (no writes/deletes)
  • keeps recent memories (--min-age-days)
  • delete cap per run (--max-deletes)

Run

cd /home/lucky/.openclaw/workspace/memory-compactor
python3 compactor.py --user-id main

Apply changes:

python3 compactor.py --user-id main --apply

Environment

The compactor auto-loads .env from this directory (useful for cron). At minimum set:

GROQ_API_KEY=your_key_here

Useful options

  • --base-url http://192.168.0.200:8420
  • --gap-minutes 45
  • --min-age-days 2
  • --max-deletes 50
  • --segment-max-items 15
  • --max-summaries 1 (limit created summaries for testing)
  • --skip-ephemeral (skip obvious weather-like chatter)

Next improvements

  • semantic clustering (embeddings) beyond time windows
  • better resolution detection (state machine)
  • reversible snapshots before apply
  • cron wrapper + run history logging
  • future milestone: capture a pre-change snapshot + restore option before deleting memories