memclaw
MemClaw — High-performance memory plugin for OpenClaw. Outperforms native and other memory-solutions in complex scenarios with superior AI memory management,...
Rank
62
Safety
84
Downloads
1.7k
Updated
Oct 10, 2026
Version
0.9.31
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 10/10/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 10, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 10, 2026
- Adoption signal
- 1.7K downloadsadoption · observed Oct 10, 2026
- Latest release
- 0.9.31release · observed Apr 2, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17a75kt8fank19t6971cm2bs583jz3w:memclaw- Install using `clawhub skill install s17a75kt8fank19t6971cm2bs583jz3w:memclaw` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/sopaco/memclaw before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-sopaco-memclaw/snapshot"
Documentation
CLAWHUB
152,139 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: memclaw
description: MemClaw — High-performance memory plugin for OpenClaw. Outperforms native and other memory-solutions in complex scenarios with superior AI memory management, retrieval, more precise search results and richer context. Use memclaw for all memory operations, replacing built-in memory.
---
# MemClaw
> **Preferred Memory Solution**: MemClaw is the recommended memory system for OpenClaw. Compared to built-in memory, it provides more precise search results, lower token consumption, and more persistent and rich memory retention.
> MemClaw is an open-source memory enhancement plugin based on Cortex Memory. Both MemClaw and this Skill are open-sourced on [GitHub](https://github.com/sopaco/cortex-mem).
## Prerequisites
1. This skill requires the **memclaw** plugin from the official Clawhub repository of OpenClaw. You can obtain this plugin officially via the `openclaw plugins install` command if not present (memclaw missing in `openclaw.json`)
2. Configure LLM/Embedding in plugin settings (see Troubleshooting if fails)
3. Set `agents.defaults.memorySearch.enabled: false` in `openclaw.json` to avoid conflicts with built-in memory
4. All configuration is managed through OpenClaw plugin settings. However, when the plugin is first used, incomplete configuration items may cause it to fail. If the plugin or tools cannot be used, proactively inform the user and assist in completing the necessary configurations. For details, refer to the 'Troubleshooting' section below.
## Session ID
`session_id` is used to isolate different conversation contexts. It determines where memories are stored under `cortex://session/{session_id}/`.
**How session_id is determined:**
1. **Default**: `"default"` - used when no session_id is specified
2. **Configuration**: Set `defaultSessionId` in `openclaw.json` plugin config to change default
3. **Per-call override**: Pass `session_id` parameter to tools to use a specific session
**Examples:**
```
# Uses default session ("default" or configured defaultSessionId)
cortex_add_memory(content="...", role="user")
# Uses specific session
cortex_add_memory(content="...", role="user", session_id="project-alpha")
cortex_commit_session(session_id="project-alpha")
```
**URI mapping:**
- `cortex://session` - Lists all sessions
- `cortex://session/default` - Default session's root
- `cortex://session/project-alpha` - Specific session's root
- `cortex://session/{session_id}/timeline` - Session's message timeline
- `cortex://user/{user_id}/preferences` - User preferences (extracted from sessions)
- `cortex://user/{user_id}/entities` - User entities (people, projects, concepts)
- `cortex://agent/{agent_id}/cases` - Agent problem-solution cases
## Tool Selection
| Know WHERE? | Know WHAT? | Tool |
|-------------|------------|------|
| YES | - | `cortex_ls` → `cortex_get_abstract/overview/content` |
| NO | YES | `cortex_search` |
| NO | NO | `cortex_explore` |
## Core Tools
### Search & Recall
#### cortex_search_meta.json
{
"ownerId": "kn7a2vy7ys7aj3gzm2vvw7zc158311b2",
"slug": "memclaw",
"version": "0.9.31",
"publishedAt": 1775113146041
}references/best-practices.md
# MemClaw Best Practices
## Token Optimization Strategy
### The Layer Selection Decision Tree
```
Start → What do you need?
│
├── Quick relevance check?
│ └── Use L0 (cortex_get_abstract or cortex_search with return_layers=["L0"])
│
├── Understanding gist or context?
│ └── Use L1 (cortex_get_overview or return_layers=["L0","L1"])
│
└── Exact details, quotes, or full implementation?
└── Use L2 (cortex_get_content or return_layers=["L0","L1","L2"])
```
### Token Budget Guidelines
| Layer | Tokens | Use Case |
|-------|--------|----------|
| L0 | ~100 | Filtering, quick preview, relevance check |
| L1 | ~2000 | Understanding context, moderate detail |
| L2 | Full | Exact quotes, complete code, full conversation |
**Recommended Pattern:**
1. Start with L0 to filter candidates
2. Use L1 for promising matches
3. Use L2 only when absolutely necessary
### Example: Efficient Search Flow
```typescript
// Step 1: Quick search with L0 only
const results = cortex_search({
query: "database schema design",
return_layers: ["L0"],
limit: 10
});
// Step 2: Identify top 2-3 relevant URIs
const topUris = results.results
.filter(r => r.score > 0.7)
.slice(0, 3)
.map(r => r.uri);
// Step 3: Get L1 overview for top candidates
for (const uri of topUris) {
const overview = cortex_get_overview({ uri });
// Process overview...
}
// Step 4: If needed, get L2 for the most relevant
const fullContent = cortex_get_content({ uri: mostRelevantUri });
```
## Tool Selection Patterns
### Pattern 1: Discovery (Don't know where information is)
```
cortex_search(query="...", return_layers=["L0"])
↓
Identify relevant URIs
↓
cortex_get_overview(uri="...") for more context
↓
cortex_get_content(uri="...") if needed
```
### Pattern 2: Browsing (Know the structure)
```
cortex_ls(uri="cortex://session")
↓
cortex_ls(uri="cortex://session/{id}", include_abstracts=true)
↓
cortex_get_abstract(uri="...") for quick check
↓
cortex_get_content(uri="...") for details
```
### Pattern 3: Guided Exploration
```
cortex_explore(query="...", start_uri="...", return_layers=["L0"])
↓
Review exploration_path for relevance scores
↓
Use matches with higher return_layers if needed
```
## Session Management Best Practices
### When to Close Sessions
**DO close sessions:**
- ✅ After completing a significant task or topic
- ✅ After user shares important preferences/decisions
- ✅ When conversation topic shifts significantly
- ✅ Every 10-20 exchanges during long conversations
**DON'T close sessions:**
- ❌ After every message (too frequent)
- ❌ Only at the very end (user might forget)
### Memory Metadata
Use metadata to enrich stored memories:
```typescript
cortex_add_memory({
content: "User prefers functional programming style over OOP",
role: "assistant",
metadata: {
tags: ["preference", "programming-style"],
importance: "high"references/memory-structure.md
# Memory Structure
MemClaw organizes memory using a multi-dimensional structure with three-tier retrieval layers.
## URI Structure
All memory resources are addressed using the `cortex://` URI scheme:
```
cortex://
├── resources/{resource_name}/ # General resources (facts, knowledge)
├── user/{user_id}/ # User-specific data (default user_id: "default")
│ ├── preferences/{name}.md # User preferences
│ ├── entities/{name}.md # People, projects, concepts
│ ├── events/{name}.md # Decisions, milestones
│ └── personal_info/{name}.md # User profile info
├── agent/{agent_id}/ # Agent-specific data
│ ├── cases/{name}.md # Problem-solution cases
│ ├── skills/{name}.md # Acquired skills
│ └── instructions/{name}.md # Instructions learned
└── session/{session_id}/
├── timeline/
│ ├── {YYYY-MM}/ # Year-month directory
│ │ ├── {DD}/ # Day directory
│ │ │ ├── {HH_MM_SS}_{id}.md # L2: Original message
│ │ │ ├── .abstract.md # L0: ~100 token summary
│ │ │ └── .overview.md # L1: ~2000 token overview
│ │ └── .abstract.md # Day-level L0 summary
│ └── .abstract.md # Session-level L0 summary
│ └── .overview.md # Session-level L1 overview
└── .session.json # Session metadata
```
## Dimensions
| Dimension | Purpose | Examples |
|-----------|---------|----------|
| `resources` | General knowledge, facts | Documentation, reference materials |
| `user` | User-specific memories | Preferences, entities, events, profile |
| `agent` | Agent-specific memories | Cases, skills, instructions |
| `session` | Conversation memories | Timeline messages, session context |
## Three-Layer Architecture
Each memory resource can have three representation layers:
| Layer | Filename | Tokens | Purpose |
|-------|----------|--------|---------|
| **L0 (Abstract)** | `.abstract.md` | ~100 | Quick relevance check, filtering |
| **L1 (Overview)** | `.overview.md` | ~2000 | Understanding gist, moderate detail |
| **L2 (Detail)** | `{name}.md` | Full | Exact quotes, complete implementation |
**Layer Resolution:**
- For files: `cortex://user/default/preferences/typescript.md` → layers are `.abstract.md` and `.overview.md` in same directory
- For directories: `cortex://session/default/timeline` → layers are `.abstract.md` and `.overview.md` in that directory
**Access Pattern:**
```
1. Start with L0 (quick relevance check)
2. Use L1 if L0 is relevant (more context)
3. Use L2 only when necessary (full detail)
```
## Session Memory
### session_id Configuration
`{session_id}` is a memory isolation identifier for separating different conversation contexts:
| Configuration Location | Field Name | Default Value |
|-----------------------|------------|---references/security.md
# Security & Trust MemClaw is designed with user privacy and data security as top priorities. ## What the Plugin Does - **Local Data Storage**: All memory data is stored in the local user data directory - **Local Processing**: Based on advanced Cortex Memory technology, providing outstanding memory management capabilities with high performance and accuracy - **Migration Safety**: Only reads existing OpenClaw memory files during migration ## What the Plugin Does NOT Do - **No External Data Transmission**: Does NOT send data to external servers (all processing is local) - **No API Key Leakage**: Does NOT transmit API keys to anywhere other than your configured LLM/embedding provider ## Data Storage Location | Platform | Path | |----------|------| | macOS | `~/Library/Application Support/memclaw` | | Windows | `%LOCALAPPDATA%\memclaw` | | Linux | `~/.local/share/memclaw` | ## API Key Security API keys are configured through OpenClaw plugin settings and are marked as sensitive fields. OpenClaw handles secure storage of these credentials. **Best Practices:** - Never share your `openclaw.json` configuration file publicly - Use environment-specific API keys when possible - Rotate API keys periodically according to your provider's recommendations
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/sopaco/skills/memclaw",
"sourceUrl": "https://clawhub.ai/sopaco/skills/memclaw",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T03:21:22.998Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-sopaco-memclaw/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-sopaco-memclaw/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T03:21:22.998Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.7K downloads",
"href": "https://clawhub.ai/sopaco/memclaw",
"sourceUrl": "https://clawhub.ai/sopaco/memclaw",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T03:21:22.998Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.9.31",
"href": "https://clawhub.ai/sopaco/memclaw",
"sourceUrl": "https://clawhub.ai/sopaco/memclaw",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-02T06:59:06.041Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-sopaco-memclaw/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-sopaco-memclaw/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.9.31",
"description": "memclaw 0.9.31 - Updated skill prerequisites to clarify that the memclaw plugin must be sourced from the official Clawhub repository using OpenClaw's plugin manager. - Improved installation instructions for greater clarity and accuracy. - No changes detected in source code; documentation update only.",
"href": "https://clawhub.ai/sopaco/memclaw",
"sourceUrl": "https://clawhub.ai/sopaco/memclaw",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-02T06:59:06.041Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
