Agent Skills
› EverClaw/EverClaw
› memory-upgrade
memory-upgrade
GitHub诊断并修复OpenClaw中因缺少嵌入配置导致的记忆搜索失效问题。通过本地推理启用混合搜索、会话索引等功能,无需API密钥,提升跨会话回忆能力。
Trigger Scenarios
memory_search返回空结果
代理跨会话回忆效果差
用户希望升级记忆系统
全新安装OpenClaw后
Install
npx skills add EverClaw/EverClaw --skill memory-upgrade -g -y
SKILL.md
Frontmatter
{
"name": "memory-upgrade",
"description": "Diagnose and fix broken memory search in OpenClaw. Enables local embeddings, hybrid search (BM25+vector), session transcript indexing, MMR diversity, and temporal decay — all running locally with zero API keys. Use when: memory_search returns empty results, agent has poor cross-session recall, user wants to upgrade their memory system, or after a fresh OpenClaw install."
}
Memory Upgrade
Most OpenClaw installs have broken memory search — the memory_search tool returns empty results because no embedding provider is configured. OpenClaw auto-detects OpenAI → Google → Voyage keys; if none exist, embeddings stay disabled silently.
This skill fixes it with fully local inference. No API keys. No data leaves the machine.
Quick Start
# 1. Diagnose
bash scripts/diagnose.sh
# 2. Fix (patches openclaw.json, restart [REDACTED] after)
bash scripts/configure.sh
# 3. Restart [REDACTED]
openclaw [REDACTED] restart
# 4. Verify (waits for indexing, runs test query)
bash scripts/verify.sh
Optional Enhancements
# Organize memory files into clean directory structure
bash scripts/organize.sh
# Add YAML frontmatter tags to untagged files
bash scripts/tag.sh
What Gets Enabled
| Feature | Details |
|---|---|
| Local embeddings | embeddinggemma-300m (~328MB GGUF, auto-downloads) |
| Hybrid search | BM25 keyword + vector semantic (70/30 weight) |
| Session transcripts | Past conversations become searchable |
| MMR diversity | Reduces duplicate/overlapping results (λ=0.7) |
| Temporal decay | Recent memories rank higher (30-day half-life) |
| Embedding cache | 50k entries, avoids re-embedding unchanged text |
| File watcher | Auto-reindexes when memory files change |
How It Works
- Patches
agents.defaults.memorySearchinopenclaw.json - Uses
node-llama-cpp(ships with OpenClaw) for local embeddings - Vector search via
sqlite-vec(ships with OpenClaw) - No external dependencies required
Notes
- First search after restart may be slow (model loads into memory)
- Initial indexing takes 30-120s depending on file count
- Embedding model runs on CPU (ARM/x86), ~768-dim vectors
- Compatible with existing memory files — no migration needed
Version History
- f580bc4 Current 2026-07-25 11:17


