Continuous learning system. Every failure, correction, and pattern gets logged so the same mistakes aren't repeated. Uses its own MeiliSearch index for fast recall.
~/.openclaw/workspace/.env — never hardcoded in scripts--dry-run; use --apply to writemktemp with chmod 600 and are cleaned up on exitmemory/*.md (daily notes, for auto-extraction)learnings index, LEARNINGS.md (distillation only with --apply)curl to localhost MeiliSearch, python3 for document processingCategoryDescriptionExamplefailureScript/command errors"npm install fails with permission error"correctionFix applied after a mistake"Use --prefix flag for global installs"approachRight way to do something"Use full-text search over vector DB for local memory"version_ruleHow versions should increment"1.1.0 → 1.2.0 for new features"preferenceUser preferences discovered"Prefers local/no-cloud solutions"recurring_failureSame thing failing repeatedly"Auth token expires on every deploy"ruleExplicit "don't do X" rules"Don't commit secrets to repositories"learningGeneral lessons learned"Always check file exists before copying"
Requires ~/.openclaw/workspace/.env:
bash
MEILI_HOST=http://127.0.0.1:7700
MEILI_KEY=your-master-key-here
LEARNINGS.md — Human-readable summary (auto-generated, use --apply to write)scripts/setup_index.sh — Create/configure MeiliSearch indexscripts/log_learning.sh — Log a new learning entryscripts/search_learnings.sh — Search past learnings before actingscripts/auto_extract.sh — Auto-extract learnings from daily notesscripts/distill_learnings.sh — Summarize raw logs into LEARNINGS.mdbash
# Log a learning
bash scripts/log_learning.sh \
--category failure \
--what "deployment fails with auth token expiry" \
--fix "Refresh token before each deploy" \
--importance 0.9 \
--tags "deploy,auth,token"
# Search before acting
bash scripts/search_learnings.sh "github push" 5
# Auto-extract from daily notes (dry-run by default)
bash scripts/auto_extract.sh --days 7 --apply
# Distill into readable summary (dry-run by default)
bash scripts/distill_learnings.sh --apply
Before taking any action, I search the learnings index: