Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Provides persistent, searchable, context-aware memory storage for AI agents to retain user preferences, corrections, and project context across sessions.
Provides persistent, searchable, context-aware memory storage for AI agents to retain user preferences, corrections, and project context across sessions.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Persistent, searchable, context-aware memory for AI agents. Store what matters. Never lose context again. Free and open-source (MIT License) โข Zero dependencies โข Works locally โข No API keys required
AI agents forget everything between sessions. Every time you start a new conversation, you repeat the same context: your preferences, your project setup, corrections to previous mistakes, procedures you've documented. This skill solves that permanently.
Agents forget user preferences between sessions Same mistakes repeated because corrections aren't persisted Project context has to be re-explained every time No way to build up a team knowledge base over time
TypeUse ForExamplefactFactual information"Database is PostgreSQL 16"preferenceUser preferences"User prefers concise responses"procedureHow-to steps"Run migrations with: poetry run alembic upgrade head"correctionMistakes + fixes"Never use wildcard imports โ CI will fail"contextBackground info"This is a B2B SaaS product for HR teams"relationshipHow things relate"AuthService depends on UserRepository"reminderNotes for later"Check with team before changing DB schema"
ScopePersistsUse ForglobalAlwaysCross-project preferences, universal rulesprojectWithin projectProject-specific facts, procedures, correctionssessionCurrent session onlyTemporary working notes
from persistentmind import PersistentMind, MemoryType, MemoryScope mm = PersistentMind(project="my-app") # Critical correction โ will always surface first in context mm.remember( "Never use wildcard imports โ the linter will fail CI", memory_type=MemoryType.CORRECTION, scope=MemoryScope.PROJECT, importance=10.0, tags=["linting", "ci", "imports"] ) # Global preference โ applies everywhere mm.remember( "User prefers code examples over long explanations", memory_type=MemoryType.PREFERENCE, scope=MemoryScope.GLOBAL, importance=8.0 ) # Auto-tags extracted from content automatically if you don't specify mm.remember( "The Stripe API key is in .env as STRIPE_SECRET_KEY", memory_type=MemoryType.FACT, scope=MemoryScope.PROJECT, importance=9.0 )
# Full-text search with relevance scoring results = mm.recall("database migrations") for r in results: print(f"[{r.relevance_score:.2f}] [{r.memory.memory_type}] {r.memory.content}") # Search with filters results = mm.recall("imports", type_filter="correction", min_importance=7.0) # Get by type corrections = mm.recall_by_type(MemoryType.CORRECTION) # Get by tag db_memories = mm.recall_by_tag("database")
# Get a formatted context block to prepend to any prompt context = mm.get_context(project="my-app", max_tokens_estimate=1500) prompt = f""" {context} --- User request: {user_input} """ Output: # Relevant Memory Context โ ๏ธ [CORRECTION] Never use wildcard imports โ the linter will fail CI โ๏ธ [PREFERENCE] User prefers code examples over long explanations ๐ [FACT] The Stripe API key is in .env as STRIPE_SECRET_KEY ๐ [PROCEDURE] Run migrations with: poetry run alembic upgrade head Corrections always surface first. Importance score determines ranking.
# Update an existing memory mm.update_memory(memory_id="mem_abc123", importance=9.0, tags=["critical"]) # Archive a memory (soft delete) mm.forget("mem_abc123") # Permanently delete mm.forget("mem_abc123", permanent=True) # Expire automatically after N days mm.remember("Temp token: abc...", expires_in_days=7)
# Find near-duplicate memories (dry run โ just report) groups = mm.consolidate(dry_run=True) for g in groups: print(f"Found {g['count']} similar memories:") for m in g['memories']: print(f" - {m['content']}") # Actually merge them mm.consolidate(dry_run=False)
# Export your memory set mm.export_memories("team_memories.json") # Import a colleague's memories mm.import_memories("team_memories.json")
print(mm.format_summary()) ๐ง Total Active Memories: 24 | Archived: 3 Avg Importance: 7.4/10 ๐ BY TYPE โข correction 4 โข fact 8 โข preference 5 โข procedure 4 โข context 3
ScoreUse When10Critical โ never violate (e.g. security rules, CI requirements)8-9Important โ strong preference or key fact5-7Useful but not critical1-4Nice to know, low priority
Initialize. Data stored in .persistentmind/ by default.
Store a new memory. Returns Memory object.
Search memories. Returns List[MemorySearchResult] sorted by relevance.
Get all memories of a specific type, sorted by importance.
Get all memories with a specific tag.
Get formatted context block for prompt injection. Corrections surfaced first.
Update an existing memory's fields.
Archive (default) or permanently delete a memory.
Find near-duplicate memories. Set dry_run=False to merge them.
Return memory statistics dictionary.
Human-readable memory summary.
Export to JSON for backup or team sharing.
Import from JSON export file.
โ Zero telemetry โ No data sent anywhere โ Local-only storage โ Everything in .persistentmind/ on your machine โ No API keys required โ Zero credentials needed โ No authentication โ No accounts or logins โ Full transparency โ MIT licensed, source code included
โจ Initial release โ PersistentMind โจ 7 memory types: fact, preference, procedure, context, correction, relationship, reminder โจ 3 scopes: global, project, session โจ Full-text search with relevance scoring, importance boosting, recency decay โจ Prompt context injection via get_context() โจ Automatic tag extraction from content โจ Memory consolidation for deduplication โจ Export/import for team sharing โจ Auto-expiry and stale session cleanup โจ Zero dependencies, local-only storage, MIT licensed Last Updated: February 16, 2026 Current Version: 1.0.0 Status: Active & Community-Maintained ยฉ 2026 UnisAI Community
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.