Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Persistent memory for agents. Stores preferences, decisions, facts, and events as a connected knowledge graph. Recalled by who, what, when, or why.
Persistent memory for agents. Stores preferences, decisions, facts, and events as a connected knowledge graph. Recalled by who, what, when, or why.
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. 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. Summarize what changed and any follow-up checks I should run.
Persistent memory for agents. Stores preferences, decisions, facts, and events as a connected knowledge graph. Recalled by who, what, when, or why.
Add the MCP server to your OpenClaw config (~/.openclaw/openclaw.json): { "mcpServers": { "hypabase-memory": { "command": "uvx", "args": ["--from", "hypabase", "hypabase-memory"], "env": { "HYPABASE_DB_PATH": "hypabase.db" } } } } uvx handles all Python dependencies automatically. Requires uv.
Store a memory β one verb, roles for the participants: remember(penman='(prefers :subject Alice :object Python :memory_type semantic)') Recall it: recall(entity="Alice") # everything about Alice recall(entity="Alice", action="assign", role="subject") # what Alice assigned recall(entity=["Alice", "Bob"]) # memories involving both recall(mood="planned") # all plans
Store a memory when the user: Makes a decision or states a preference Shares a fact about themselves, their team, or a project Assigns a task or delegates work Describes an event, meeting, or outcome Explains a procedure or workflow
Every memory is a verb with participants in role slots: (verb :role "entity" :role "entity" ...) Examples: (prefers :subject Alice :object Python :memory_type semantic) (assigned :subject Alice :object "billing task" :recipient Bob :instrument Jira :locus Monday :tense past :memory_type episodic) (has :subject "quick sort" :attribute "time complexity" :value "O(n log n)" :memory_type semantic) Multiple atoms in a single call: (deployed :subject Alice :object API :locus Monday :tense past) (reviewed :subject Bob :object API :locus Tuesday :tense past) One action per memory. When a sentence contains multiple actions, decompose into separate atoms. Shared entities link them in the graph. "Alice told Bob to migrate the database": (told :subject Alice :recipient Bob :object "database migration" :tense past) (migrate :subject Bob :object database :mood planned) Any role slot can hold a nested atom: (believes :subject Alice :object (is :subject deadline :value Friday))
Same string after lowercasing = same entity. Different strings = different entities until consolidate() merges them. Pick one canonical name per entity and reuse it. Use full descriptive names: "machine learning" not "ML", "JavaScript" not "JS". Call consolidate() periodically to merge similar names via semantic similarity.
Store memories as PENMAN atoms. penman (required): One or more PENMAN atoms. source (optional): Provenance source. Default: "memory". confidence (optional): 0.0β1.0. Default: 1.0.
Query memories. At least one parameter required. entity: Name or list of names. action: Filter by verb. role: Filter by role (subject/object/instrument/recipient/source/locus/attribute/value). memory_type: episodic / semantic / procedural. mood: actual / planned / uncertain / normative / conditional. negated: true = only negated, false = only positive. since / before: ISO date strings. limit: Max results (default: 10). min_strength: Minimum memory strength threshold.
Merge similar entities and compress repeated memories.
Expire old or low-strength memories (soft delete).
Eight roles. Fill in what applies, skip what doesn't. PENMAN roleRecall roleMeaningExample:subjectsubjectWho or what it's aboutAlice:objectobjectWhat is acted onthe proposal:instrumentinstrumentTool, method, or meansSlack:recipientrecipientWho receives or benefitsBob:originsourceWhere it came fromthe old system:locuslocusWhere, when, or contextsprint review:attributeattributeA named propertytime complexity:valuevalueThe specific valueO(n log n)
TypeUse forDecay rateepisodicEvents, meetings, conversationsFastsemanticFacts, preferences, definitionsSlowproceduralHow-to, workflows, processesSlowest
MoodWhen to useactualSomething that happened or is true (default)plannedSomething intended to happenuncertainSomething that might be truenormativeSomething that should or shouldn't beconditionalSomething that depends on a condition
ModifierValuesDefault:tensepast, present, future--:negatedtrue, falsefalse:importance0.0 to 1.0--:causeNested atom: why it happened--:purposeNested atom: what for--:conditionNested atom: if/when/unless--
HYPABASE_DB_PATH -- SQLite database path (default: hypabase.db) HYPABASE_EMBEDDER -- Embedder for semantic search: fastembed (default) -- BAAI/bge-small-en-v1.5 via ONNX openai -- text-embedding-3-small (requires OPENAI_API_KEY) sentence-transformers -- all-MiniLM-L6-v2 none -- disable embeddings
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.