enhanced-memory

Enhanced memory search with hybrid vector+keyword scoring, temporal routing, filepath scoring, adaptive weighting, pseudo-relevance feedback, salience scoring, and knowledge graph cross-references. Replaces the default memory search with a 4-signal fusion retrieval system. Use when searching memories, indexing memory files, building cross-references, or scoring memory salience. Requires Ollama with nomic-embed-text model.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "enhanced-memory" with this command: npx skills add jameseball/enhanced-memory

Enhanced Memory

Drop-in enhancement for OpenClaw's memory system. Replaces flat vector search with a 4-signal hybrid retrieval pipeline that achieved 0.782 MRR (vs ~0.45 baseline vector-only).

Setup

# Install Ollama and pull the embedding model
ollama pull nomic-embed-text

# Index your memory files (run from workspace root)
python3 skills/enhanced-memory/scripts/embed_memories.py

# Optional: build cross-reference graph
python3 skills/enhanced-memory/scripts/crossref_memories.py build

Re-run embed_memories.py whenever memory files change significantly.

Scripts

scripts/search_memory.py — Primary Search

Hybrid 4-signal retrieval with automatic adaptation:

python3 skills/enhanced-memory/scripts/search_memory.py "query" [top_n]

Signals fused:

  1. Vector similarity (0.4) — cosine similarity via nomic-embed-text embeddings
  2. Keyword matching (0.25) — query term overlap with chunk text
  3. Header matching (0.1) — query terms in section headers
  4. Filepath scoring (0.25) — query terms matching file/directory names

Automatic behaviors:

  • Temporal routing — date references ("yesterday", "Feb 8", "last Monday") get 3x boost on matching files
  • Adaptive weighting — when keyword overlap is low, shifts to 85% vector weight
  • Pseudo-relevance feedback (PRF) — when top score < 0.45, expands query with terms from initial results and re-scores

scripts/enhanced_memory_search.py — JSON-Compatible Search

Same pipeline with JSON output format compatible with OpenClaw's memory_search tool:

python3 skills/enhanced-memory/scripts/enhanced_memory_search.py --json "query"

Returns {results: [{path, startLine, endLine, score, snippet, header}], ...}.

scripts/embed_memories.py — Indexing

Chunks all .md files in memory/ plus core workspace files (MEMORY.md, AGENTS.md, etc.) by markdown headers and embeds them:

python3 skills/enhanced-memory/scripts/embed_memories.py

Outputs memory/vectors.json. Batches embeddings in groups of 20, truncates chunks to 2000 chars.

scripts/memory_salience.py — Salience Scoring

Surfaces stale/important memory items for heartbeat self-prompting:

python3 skills/enhanced-memory/scripts/memory_salience.py          # Human-readable prompts
python3 skills/enhanced-memory/scripts/memory_salience.py --json   # Programmatic output
python3 skills/enhanced-memory/scripts/memory_salience.py --top 5  # More items

Scores importance × staleness considering: file type (topic > core > daily), size, access frequency, and query gap correlation.

scripts/crossref_memories.py — Knowledge Graph

Builds cross-reference links between memory chunks using embedding similarity:

python3 skills/enhanced-memory/scripts/crossref_memories.py build          # Build index
python3 skills/enhanced-memory/scripts/crossref_memories.py show <file>    # Show refs for file
python3 skills/enhanced-memory/scripts/crossref_memories.py graph          # Graph statistics

Uses file-representative approach (top 5 chunks per file) to reduce O(n²) to manageable comparisons. Threshold: 0.75 cosine similarity.

Configuration

All tunable constants are at the top of each script. Key parameters:

ParameterDefaultScriptPurpose
VECTOR_WEIGHT0.4search_memory.pyWeight for vector similarity
KEYWORD_WEIGHT0.25search_memory.pyWeight for keyword overlap
FILEPATH_WEIGHT0.25search_memory.pyWeight for filepath matching
TEMPORAL_BOOST3.0search_memory.pyMultiplier for date-matching files
PRF_THRESHOLD0.45search_memory.pyScore below which PRF activates
SIMILARITY_THRESHOLD0.75crossref_memories.pyMin similarity for cross-ref links
MODELnomic-embed-textallOllama embedding model

To use a different embedding model (e.g., mxbai-embed-large), change MODEL in each script and re-run embed_memories.py.

Integration

To replace the default memory search, point your agent's search tool at these scripts. The scripts expect:

  • memory/ directory relative to workspace root containing .md files
  • memory/vectors.json (created by embed_memories.py)
  • Ollama running locally on port 11434

All scripts use only Python stdlib + Ollama HTTP API. No pip dependencies.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

Autism Spectrum Disorder Behavior Analysis Tool | 孤独症谱系障碍行为分析工具

Performs special video analysis on behavioral characteristics of children with autism, identifies core symptom features, provides structured analysis reports...

Registry SourceRecently Updated
Research

""Mental Health Analysis Tool | 心理健康分析工具""

Analyzes human mental health and psychological behavior, supports identifying common psychological problem tendencies through video analysis, and provides st...

Registry SourceRecently Updated
Research

"""Micro-Expression Recognition & Analysis Tool | 微观情绪识别分析工具"""

Professional discernment of subtle cues! It performs detailed analysis and recognition of facial micro-expressions, outputs precise emotional state reports,...

Registry SourceRecently Updated
840Profile unavailable
Research

媒体广告流量分析

查询广告投放流量分布与趋势的数据分析技能。支持按行业、地域、媒体(OTT/移动端)、目标受众等多维度分析广告曝光数据,适用于媒体策略评估、竞品投放监测、行业广告趋势研究等场景。

Registry SourceRecently Updated
336Profile unavailable