๐ŸŽ Get the FREE AI Skills Starter Guide โ€” Subscribe โ†’
BytesAgainBytesAgain
๐Ÿฆ€ ClawHub

Enhanced Memory

by @fatcatmaofei

An enhanced memory system for OpenClaw agents that replaces the default single-file MEMORY.md with a complete memory architecture: hierarchical directory org...

Versionv1.0.0
Downloads818
Installs2
TERMINAL
clawhub install openclaw-enhanced-memory

๐Ÿ“– About This Skill


name: enhanced-memory description: > An enhanced memory system for OpenClaw agents that replaces the default single-file MEMORY.md with a complete memory architecture: hierarchical directory organization by category, [category:value] tag indexing with multi-tag AND search, automatic lifecycle management (active โ†’ archive, never delete), and intelligent cross-category retrieval that auto-routes queries to the right memory module. Gives your agent structured, searchable, long-lived memory out of the box.

Enhanced Memory

A structured memory system that gives your OpenClaw agent organized, searchable, long-lived memory instead of a single monolithic MEMORY.md.

Why?

The default MEMORY.md approach hits a wall fast:

  • One file grows endlessly โ†’ slow to read, expensive on tokens
  • No categorization โ†’ food logs mixed with project notes mixed with relationship context
  • No retrieval strategy โ†’ agent re-reads everything or misses what matters
  • No lifecycle โ†’ old entries clutter active memory forever
  • Tagged Memory fixes all of this.

    Core Features

    1. Hierarchical Directory Organization

    Memories are stored in purpose-built directories:

    memory/
    โ”œโ”€โ”€ current/          # Active memories (last 6 months)
    โ”œโ”€โ”€ archived/         # Auto-archived older memories (permanent, never deleted)
    โ”‚   โ””โ”€โ”€ YYYY-MM/      # Organized by month
    โ”œโ”€โ”€ RELATION/         # One file per person (relationship context)
    โ”œโ”€โ”€ food/             # Meal and food logs
    โ”œโ”€โ”€ training/         # Exercise and workout records
    โ”œโ”€โ”€ connections.md    # Global relationship graph
    โ”œโ”€โ”€ system/           # System config and logs
    โ””โ”€โ”€ misc/             # Everything else
    

    2. Tag-Based Indexing

    Tag any line in any memory file with [category:value] markers:

    ## 2026-02-20

  • Had lunch with Zhang Hao [ไบบ็‰ฉ:ๅผ ๆตฉไธœ] [็ฑปๅž‹:่š้ค] [ๅœฐ็‚น:campus]
  • Discussed the new project deadline [้กน็›ฎ:openclaw] [็ฑปๅž‹:ไผš่ฎฎ]
  • Yoyo learned a new trick today [ๅฎ ็‰ฉ:ๆ‚ ๆ‚ ] [็ฑปๅž‹:milestone]
  • Tags support multi-tag AND search โ€” find the exact memory you need:

    # Single tag search
    python3 scripts/memory_tag_search.py "ไบบ็‰ฉ:ๅผ ๆตฉไธœ"

    Multi-tag AND search (all tags must match)

    python3 scripts/memory_tag_search.py "ไบบ็‰ฉ:็Ž‹้š†ๅ“ฒ" "็ฑปๅž‹:ๅผ€็ฅจไฟกๆฏ"

    List all tags in the system

    python3 scripts/memory_tag_search.py --list-tags

    List tags under a specific category

    python3 scripts/memory_tag_search.py --list-tags --category ไบบ็‰ฉ

    3. Lifecycle Management

    Memories age gracefully โ€” never lost, always accessible:

    | Age | Location | Status | |-----|----------|--------| | 0โ€“6 months | memory/current/ | Active, auto-retrieved | | 6โ€“12 months | memory/archived/YYYY-MM/ | Archived, searchable on demand | | 12+ months | memory/archived/ | Permanent archive, manual query |

    Run the lifecycle manager manually or via cron:

    # Default: archive memories older than 6 months
    python3 scripts/memory_lifecycle_manager.py

    Custom threshold (e.g., 90 days)

    python3 scripts/memory_lifecycle_manager.py 90

    4. Smart Cross-Category Retrieval

    The retrieval strategy script auto-classifies queries and searches the right directories:

    python3 scripts/memory_retrieval_strategy.py "What did I eat yesterday?"
    

    โ†’ Searches memory/food/ + memory/current/

    python3 scripts/memory_retrieval_strategy.py "How is Yoyo doing?"

    โ†’ Searches memory/RELATION/ๆ‚ ๆ‚ .md + memory/connections.md

    python3 scripts/memory_retrieval_strategy.py "Yang Lingxiao"

    โ†’ Searches memory/RELATION/ + memory/connections.md

    Query type detection covers: food, training, relationships, pets, system, mood, projects, and more.

    Scripts

    | Script | Purpose | |--------|---------| | scripts/memory_tag_search.py | Tag-based indexing and search (single/multi-tag AND queries, tag listing) | | scripts/memory_retrieval_strategy.py | Smart retrieval โ€” auto-classifies queries and routes to relevant memory directories | | scripts/memory_lifecycle_manager.py | Automatic archival of old memories (configurable threshold, never deletes) |

    Integration

    AGENTS.md

    Add the following to your AGENTS.md memory section:

    ## Memory

    Directory Structure

  • memory/current/ โ€” active memories (6 months)
  • memory/archived/ โ€” permanent archive
  • memory/RELATION/ โ€” per-person relationship files
  • memory/food/ โ€” meal logs
  • memory/training/ โ€” workout logs
  • Retrieval Strategy

  • Exact queries (names, dates, codes) โ†’ grep the file system
  • Fuzzy/semantic queries โ†’ python3 scripts/memory_retrieval_strategy.py ""
  • Tag search โ†’ python3 scripts/memory_tag_search.py ":"
  • Tagging Convention

    When writing memory entries, tag important lines: [ไบบ็‰ฉ:name] [็ฑปๅž‹:type] [ๅœฐ็‚น:place] [้กน็›ฎ:project] [ๆƒ…็ปช:mood]

    HEARTBEAT.md

    Add periodic memory maintenance to your heartbeat checklist:

    ## Memory Maintenance (every few days)
    
  • [ ] Run python3 scripts/memory_lifecycle_manager.py to archive old memories
  • [ ] Run python3 scripts/memory_tag_search.py --list-tags to review tag health
  • [ ] Check memory/current/ file count โ€” if growing large, verify archival is running
  • Cron (optional)

    Set up monthly auto-archival:

    # Run on the 1st of every month at 03:00
    0 3 1 * * cd /path/to/workspace && python3 scripts/memory_lifecycle_manager.py
    

    Customization

  • Archive threshold: Edit ARCHIVE_THRESHOLD_DAYS in memory_lifecycle_manager.py (default: 180 days)
  • Query patterns: Add new regex patterns to QUERY_TYPES in memory_retrieval_strategy.py
  • Memory directories: Add new modules to MODULES_TO_ARCHIVE in memory_lifecycle_manager.py
  • Tag categories: Tags are freeform โ€” just use [category:value] in any .md file
  • Requirements

  • Python 3.8+
  • No external dependencies (stdlib only)