@memclaw/memclaw 0.9.17 → 0.9.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +23 -23
- package/dist/plugin-impl.d.ts +4 -1
- package/dist/plugin-impl.d.ts.map +1 -1
- package/dist/plugin-impl.js +396 -77
- package/dist/plugin-impl.js.map +1 -1
- package/dist/src/client.d.ts +85 -42
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +138 -80
- package/dist/src/client.js.map +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +260 -272
- package/dist/src/config.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +3 -3
- package/skills/memclaw/SKILL.md +197 -47
- package/skills/memclaw/references/best-practices.md +195 -272
- package/skills/memclaw/references/memory-structure.md +160 -0
- package/skills/memclaw/references/security.md +31 -0
- package/skills/memclaw/references/tools.md +243 -122
- package/skills/memclaw-maintance/SKILL.md +73 -46
- package/skills/memclaw-maintance/references/tools.md +10 -148
- package/skills/memclaw-maintance/references/troubleshooting.md +7 -4
- package/skills/lagacy/SKILL.md +0 -239
- package/skills/lagacy/references/maintenance.md +0 -110
- package/skills/lagacy/references/setup.md +0 -279
- package/skills/lagacy/references/tools.md +0 -170
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memclaw/memclaw",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.19",
|
|
4
4
|
"description": "MemClaw - The Cortex Memory plugin for OpenClaw. Layered semantic memory for OpenClaw with easy setup and migration",
|
|
5
5
|
"homepage": "https://github.com/sopaco/cortex-mem",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/sopaco/cortex-mem.git",
|
|
8
|
+
"url": "git+https://github.com/sopaco/cortex-mem.git",
|
|
9
9
|
"directory": "examples/@memclaw/plugin"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"glob": "^11.0.0"
|
|
49
49
|
},
|
|
50
50
|
"optionalDependencies": {
|
|
51
|
-
"@memclaw/bin-darwin-arm64": "0.1.
|
|
51
|
+
"@memclaw/bin-darwin-arm64": "0.1.2",
|
|
52
52
|
"@memclaw/bin-win-x64": "0.1.0"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
package/skills/memclaw/SKILL.md
CHANGED
|
@@ -7,70 +7,212 @@ description: MemClaw — Advanced Semantic Memory System for OpenClaw. Uses L0/L
|
|
|
7
7
|
|
|
8
8
|
> **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.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## Overview
|
|
11
|
+
> 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).
|
|
12
|
+
|
|
13
|
+
MemClaw provides OpenClaw with a powerful memory system that goes beyond simple storage:
|
|
14
|
+
|
|
15
|
+
- **Three-Layer Architecture**: L0 (Abstract ~100 tokens) → L1 (Overview ~2000 tokens) → L2 (Full Content)
|
|
16
|
+
- **Dual Access Paradigm**: Semantic search + Direct memory virtual-filesystem(in security sandbox) browsing
|
|
17
|
+
- **Token Efficiency**: Retrieve only what you need, when you need it
|
|
18
|
+
- **Automatic Processing**: Memory extraction and layer generation happens automatically
|
|
11
19
|
|
|
12
20
|
## Security & Trust
|
|
13
21
|
|
|
14
|
-
|
|
15
|
-
- Stores memory data in the local user data directory
|
|
16
|
-
- Based on advanced Cortex Memory technology, providing outstanding memory management capabilities with high performance and accuracy.
|
|
17
|
-
- Only reads existing OpenClaw memory files during migration
|
|
22
|
+
See [security.md](./references/security.md) for details on data handling, storage locations, and API key security.
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
- Does NOT send data to external servers (all processing is local)
|
|
21
|
-
- Does NOT transmit API keys to anywhere other than your configured LLM/embedding provider
|
|
24
|
+
## Configuration
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
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.
|
|
24
27
|
|
|
25
|
-
|
|
28
|
+
## Tool Selection Guide
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
```
|
|
31
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
32
|
+
│ How to Access Memories │
|
|
33
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
34
|
+
│ │
|
|
35
|
+
│ Do you know WHERE the information is? │
|
|
36
|
+
│ │ │
|
|
37
|
+
│ ├── YES ──► Use Direct Tiered Access │
|
|
38
|
+
│ │ cortex_ls → cortex_get_abstract/overview/content│
|
|
39
|
+
│ │ │
|
|
40
|
+
│ └── NO ──► Do you know WHAT you're looking for? │
|
|
41
|
+
│ │ │
|
|
42
|
+
│ ├── YES ──► Use Semantic Search │
|
|
43
|
+
│ │ cortex_search │
|
|
44
|
+
│ │ │
|
|
45
|
+
│ └── NO ──► Use Exploration │
|
|
46
|
+
│ cortex_explore │
|
|
47
|
+
│ │
|
|
48
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
49
|
+
```
|
|
32
50
|
|
|
33
|
-
|
|
51
|
+
## Core Tools
|
|
34
52
|
|
|
35
|
-
|
|
53
|
+
### 1. Semantic Search
|
|
36
54
|
|
|
37
|
-
|
|
55
|
+
#### `cortex_search`
|
|
56
|
+
Layered semantic search with fine-grained control over returned content.
|
|
38
57
|
|
|
39
|
-
|
|
58
|
+
**Key Parameters:**
|
|
59
|
+
- `return_layers`: `["L0"]` (default, ~100 tokens), `["L0","L1"]` (~2100 tokens), `["L0","L1","L2"]` (full)
|
|
40
60
|
|
|
41
|
-
|
|
61
|
+
**Examples:**
|
|
62
|
+
```
|
|
63
|
+
# Quick search, minimal tokens
|
|
64
|
+
cortex_search(query="project decisions", return_layers=["L0"])
|
|
42
65
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
| Need to find information | `cortex_search` |
|
|
46
|
-
| Need more context | `cortex_recall` |
|
|
47
|
-
| Save important information | `cortex_add_memory` |
|
|
48
|
-
| Complete a task/topic | `cortex_close_session` |
|
|
49
|
-
| First-time use with existing memories | `cortex_migrate` |
|
|
66
|
+
# Need more context
|
|
67
|
+
cortex_search(query="API design preferences", return_layers=["L0","L1"])
|
|
50
68
|
|
|
51
|
-
|
|
69
|
+
# Full content retrieval
|
|
70
|
+
cortex_search(query="exact code implementation", return_layers=["L0","L1","L2"])
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
#### `cortex_recall`
|
|
74
|
+
Convenience wrapper that returns both abstract and full content.
|
|
75
|
+
Equivalent to `cortex_search(return_layers=["L0","L2"])`.
|
|
52
76
|
|
|
53
|
-
###
|
|
77
|
+
### 2. Memory Virtual Filesystem Browsing
|
|
54
78
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
3. **Suggested rhythm**: Once after each major topic is completed
|
|
79
|
+
#### `cortex_ls`
|
|
80
|
+
List directory contents to explore memory structure.
|
|
58
81
|
|
|
59
|
-
|
|
82
|
+
**Key Parameters:**
|
|
83
|
+
- `recursive`: Recursively list subdirectories
|
|
84
|
+
- `include_abstracts`: Show L0 abstracts for quick preview
|
|
60
85
|
|
|
61
|
-
**
|
|
62
|
-
```json
|
|
63
|
-
{ "query": "database architecture decisions", "limit": 5 }
|
|
86
|
+
**Examples:**
|
|
64
87
|
```
|
|
88
|
+
# List all sessions
|
|
89
|
+
cortex_ls(uri="cortex://session")
|
|
90
|
+
|
|
91
|
+
# Browse a specific session
|
|
92
|
+
cortex_ls(uri="cortex://session/abc123")
|
|
65
93
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
{ "query": "user code style preferences" }
|
|
94
|
+
# Recursive listing with abstracts
|
|
95
|
+
cortex_ls(uri="cortex://session", recursive=true, include_abstracts=true)
|
|
69
96
|
```
|
|
70
97
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
98
|
+
### 3. Tiered Access
|
|
99
|
+
|
|
100
|
+
#### `cortex_get_abstract` (L0)
|
|
101
|
+
Get ~100 token summary for quick relevance check.
|
|
102
|
+
|
|
103
|
+
#### `cortex_get_overview` (L1)
|
|
104
|
+
Get ~2000 token overview with key information.
|
|
105
|
+
|
|
106
|
+
#### `cortex_get_content` (L2)
|
|
107
|
+
Get full original content.
|
|
108
|
+
|
|
109
|
+
**Workflow:**
|
|
110
|
+
```
|
|
111
|
+
1. cortex_ls("cortex://session/{session_id}/timeline")
|
|
112
|
+
2. cortex_get_abstract("cortex://session/{session_id}/timeline/2024-01-15_001.md") # Quick check
|
|
113
|
+
3. If relevant → cortex_get_overview(...) # More context
|
|
114
|
+
4. If needed → cortex_get_content(...) # Full details
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 4. Smart Exploration
|
|
118
|
+
|
|
119
|
+
#### `cortex_explore`
|
|
120
|
+
Combines search and browsing for guided discovery.
|
|
121
|
+
|
|
122
|
+
**Example:**
|
|
123
|
+
```
|
|
124
|
+
cortex_explore(
|
|
125
|
+
query="authentication flow",
|
|
126
|
+
start_uri="cortex://session/{session_id}",
|
|
127
|
+
return_layers=["L0"]
|
|
128
|
+
)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Returns both an exploration path (showing relevance scores) and matching results.
|
|
132
|
+
|
|
133
|
+
### 5. Memory Storage
|
|
134
|
+
|
|
135
|
+
#### `cortex_add_memory`
|
|
136
|
+
Store a message with optional metadata.
|
|
137
|
+
|
|
138
|
+
**Parameters:**
|
|
139
|
+
- `content`: The message content
|
|
140
|
+
- `role`: `"user"`, `"assistant"`, or `"system"`
|
|
141
|
+
- `metadata`: Optional tags, importance, custom fields
|
|
142
|
+
|
|
143
|
+
**Example:**
|
|
144
|
+
```
|
|
145
|
+
cortex_add_memory(
|
|
146
|
+
content="User prefers TypeScript with strict mode enabled",
|
|
147
|
+
role="assistant",
|
|
148
|
+
metadata={"tags": ["preference", "typescript"], "importance": "high"}
|
|
149
|
+
)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### `cortex_close_session`
|
|
153
|
+
Trigger memory extraction pipeline.
|
|
154
|
+
|
|
155
|
+
**IMPORTANT:** Call this periodically, not just at conversation end.
|
|
156
|
+
|
|
157
|
+
**When to call:**
|
|
158
|
+
- After completing a significant task
|
|
159
|
+
- After user shares important preferences
|
|
160
|
+
- When conversation topic shifts
|
|
161
|
+
- Every 10-20 exchanges
|
|
162
|
+
|
|
163
|
+
## Best Practices
|
|
164
|
+
|
|
165
|
+
### Token Optimization
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
169
|
+
│ Layer │ Tokens │ Use Case │
|
|
170
|
+
├───────┼─────────┼───────────────────────────────────────────┤
|
|
171
|
+
│ L0 │ ~100 │ Quick relevance check, filtering │
|
|
172
|
+
│ L1 │ ~2000 │ Understanding gist, moderate detail │
|
|
173
|
+
│ L2 │ Full │ Exact quotes, complete implementation │
|
|
174
|
+
└───────┴─────────┴───────────────────────────────────────────┘
|
|
175
|
+
|
|
176
|
+
Recommended workflow:
|
|
177
|
+
1. Start with L0 (cortex_search or cortex_get_abstract)
|
|
178
|
+
2. Use L1 if L0 is relevant (cortex_get_overview)
|
|
179
|
+
3. Use L2 only when necessary (cortex_get_content)
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### When to Use Each Tool
|
|
183
|
+
|
|
184
|
+
| Scenario | Tool |
|
|
185
|
+
|----------|------|
|
|
186
|
+
| Find information across all sessions | `cortex_search` |
|
|
187
|
+
| Browse memory structure | `cortex_ls` |
|
|
188
|
+
| Check if specific URI is relevant | `cortex_get_abstract` |
|
|
189
|
+
| Get more details on relevant URI | `cortex_get_overview` |
|
|
190
|
+
| Need exact content | `cortex_get_content` |
|
|
191
|
+
| Explore with purpose | `cortex_explore` |
|
|
192
|
+
| Store new information | `cortex_add_memory` |
|
|
193
|
+
| Trigger memory processing | `cortex_close_session` |
|
|
194
|
+
|
|
195
|
+
### Common Patterns
|
|
196
|
+
|
|
197
|
+
#### Pattern 1: Search → Refine
|
|
198
|
+
```
|
|
199
|
+
1. cortex_search(query="user preferences", return_layers=["L0"])
|
|
200
|
+
2. Identify relevant URIs from results
|
|
201
|
+
3. cortex_get_overview(uri="most_relevant_uri") for more context
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
#### Pattern 2: Browse → Access
|
|
205
|
+
```
|
|
206
|
+
1. cortex_ls(uri="cortex://session")
|
|
207
|
+
2. cortex_ls(uri="cortex://session/{session_id}/timeline", include_abstracts=true)
|
|
208
|
+
3. cortex_get_content(uri="interesting_file") for full details
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
#### Pattern 3: Explore → Match
|
|
212
|
+
```
|
|
213
|
+
1. cortex_explore(query="database schema", start_uri="cortex://session/{session_id}")
|
|
214
|
+
2. Review exploration_path for relevance scores
|
|
215
|
+
3. Use matches with requested layers
|
|
74
216
|
```
|
|
75
217
|
|
|
76
218
|
## Troubleshooting
|
|
@@ -93,7 +235,7 @@ After making configuration changes and saved, **you MUST restart OpenClaw Gatewa
|
|
|
93
235
|
### Step 3: Verify Services
|
|
94
236
|
|
|
95
237
|
If issues persist after restart:
|
|
96
|
-
- Run `
|
|
238
|
+
- Run `cortex_ls` to check if the service is responding
|
|
97
239
|
- Check if Qdrant and cortex-mem-service are running (auto-start should handle this)
|
|
98
240
|
|
|
99
241
|
| Issue | Solution |
|
|
@@ -110,9 +252,17 @@ Check that Qdrant and cortex-mem-service are accessible:
|
|
|
110
252
|
| Qdrant | 6333 (HTTP), 6334 (gRPC) | HTTP GET to `http://localhost:6333` should return Qdrant version info |
|
|
111
253
|
| cortex-mem-service | 8085 | HTTP GET to `http://localhost:8085/health` should return `{"status":"ok"}` |
|
|
112
254
|
|
|
255
|
+
## Memory Structure
|
|
256
|
+
|
|
257
|
+
See [memory-structure.md](./references/memory-structure.md) for complete documentation of:
|
|
258
|
+
- URI structure and dimensions
|
|
259
|
+
- Session memory and timeline organization
|
|
260
|
+
- User and agent memory categories
|
|
261
|
+
- session_id configuration
|
|
262
|
+
|
|
113
263
|
## References
|
|
114
264
|
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
265
|
+
- [tools.md](./references/tools.md) - Detailed tool documentation
|
|
266
|
+
- [best-practices.md](./references/best-practices.md) - Advanced patterns
|
|
267
|
+
- [security.md](./references/security.md) - Security and trust information
|
|
268
|
+
- [memory-structure.md](./references/memory-structure.md) - Complete memory structure documentation
|