@memclaw/memclaw 0.9.16 → 0.9.18
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/README.md +65 -36
- package/dist/index.js +1 -1
- 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 +1 -0
- package/dist/src/config.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/skills/memclaw/SKILL.md +186 -68
- 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 -36
- package/skills/memclaw-maintance/references/tools.md +10 -148
- package/skills/lagacy/SKILL.md +0 -239
- package/skills/lagacy/references/maintenance.md +0 -110
- package/skills/lagacy/references/setup.md +0 -283
- package/skills/lagacy/references/tools.md +0 -170
|
@@ -1,151 +1,8 @@
|
|
|
1
|
-
# Tools Reference
|
|
1
|
+
# Maintenance Tools Reference
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **Note**: For daily memory operations (`cortex_search`, `cortex_ls`, `cortex_add_memory`, etc.), please refer to the `memclaw` skill documentation.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Semantic search using L0/L1/L2 hierarchical retrieval.
|
|
8
|
-
|
|
9
|
-
**Parameters:**
|
|
10
|
-
|
|
11
|
-
| Parameter | Type | Required | Default | Description |
|
|
12
|
-
|-----------|------|----------|---------|-------------|
|
|
13
|
-
| `query` | string | Yes | - | Search query — natural language or keywords |
|
|
14
|
-
| `scope` | string | No | - | Session/thread ID to limit search scope |
|
|
15
|
-
| `limit` | integer | No | 10 | Maximum number of results |
|
|
16
|
-
| `min_score` | number | No | 0.6 | Minimum relevance score (0-1) |
|
|
17
|
-
|
|
18
|
-
**Use Cases:**
|
|
19
|
-
- Find past conversations or decisions
|
|
20
|
-
- Search for specific information across all sessions
|
|
21
|
-
- Discover related memories through semantic similarity
|
|
22
|
-
|
|
23
|
-
**Example:**
|
|
24
|
-
```json
|
|
25
|
-
{
|
|
26
|
-
"query": "database architecture decisions",
|
|
27
|
-
"limit": 5,
|
|
28
|
-
"min_score": 0.6
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Response Format:**
|
|
33
|
-
- Returns results sorted by relevance
|
|
34
|
-
- Each result contains `uri`, `score`, and `snippet`
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## cortex_recall
|
|
39
|
-
|
|
40
|
-
Retrieve memories with more context (summary + full content).
|
|
41
|
-
|
|
42
|
-
**Parameters:**
|
|
43
|
-
|
|
44
|
-
| Parameter | Type | Required | Default | Description |
|
|
45
|
-
|-----------|------|----------|---------|-------------|
|
|
46
|
-
| `query` | string | Yes | - | Search query |
|
|
47
|
-
| `scope` | string | No | - | Session/thread ID to limit search scope |
|
|
48
|
-
| `limit` | integer | No | 10 | Maximum number of results |
|
|
49
|
-
|
|
50
|
-
**Use Cases:**
|
|
51
|
-
- Need memories with full context, not just summaries
|
|
52
|
-
- Want to see original content
|
|
53
|
-
- Performing detailed memory analysis
|
|
54
|
-
|
|
55
|
-
**Example:**
|
|
56
|
-
```json
|
|
57
|
-
{
|
|
58
|
-
"query": "user code style preferences",
|
|
59
|
-
"limit": 10
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
**Response Format:**
|
|
64
|
-
- Returns results with `snippet` (summary) and `content` (full text)
|
|
65
|
-
- Content is truncated when too long (preview >300 characters)
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## cortex_add_memory
|
|
70
|
-
|
|
71
|
-
Store messages for later retrieval.
|
|
72
|
-
|
|
73
|
-
**Parameters:**
|
|
74
|
-
|
|
75
|
-
| Parameter | Type | Required | Default | Description |
|
|
76
|
-
|-----------|------|----------|---------|-------------|
|
|
77
|
-
| `content` | string | Yes | - | Memory content to store |
|
|
78
|
-
| `role` | string | No | `user` | Message sender role: `user`, `assistant`, or `system` |
|
|
79
|
-
| `session_id` | string | No | `default` | Session/thread ID the memory belongs to |
|
|
80
|
-
|
|
81
|
-
**Use Cases:**
|
|
82
|
-
- Persist important information for later retrieval
|
|
83
|
-
- Store user preferences or decisions
|
|
84
|
-
- Save context that should be searchable
|
|
85
|
-
|
|
86
|
-
**Example:**
|
|
87
|
-
```json
|
|
88
|
-
{
|
|
89
|
-
"content": "User prefers TypeScript with strict mode enabled",
|
|
90
|
-
"role": "assistant",
|
|
91
|
-
"session_id": "default"
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
**Execution Effects:**
|
|
96
|
-
- Message is stored with timestamp
|
|
97
|
-
- Vector embedding is automatically generated
|
|
98
|
-
- L0/L1 layers are generated asynchronously
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## cortex_list_sessions
|
|
103
|
-
|
|
104
|
-
List all memory sessions and their status.
|
|
105
|
-
|
|
106
|
-
**Parameters:** None
|
|
107
|
-
|
|
108
|
-
**Use Cases:**
|
|
109
|
-
- Verify sessions exist before searching
|
|
110
|
-
- Check which sessions are active or closed
|
|
111
|
-
- Audit memory usage
|
|
112
|
-
|
|
113
|
-
**Response Format:**
|
|
114
|
-
- Session ID, status, message count
|
|
115
|
-
- Creation and update timestamps
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## cortex_close_session
|
|
120
|
-
|
|
121
|
-
Close a session and trigger the memory extraction process.
|
|
122
|
-
|
|
123
|
-
**Parameters:**
|
|
124
|
-
|
|
125
|
-
| Parameter | Type | Required | Default | Description |
|
|
126
|
-
|-----------|------|----------|---------|-------------|
|
|
127
|
-
| `session_id` | string | No | `default` | Session/thread ID to close |
|
|
128
|
-
|
|
129
|
-
**Use Cases:**
|
|
130
|
-
- When a conversation is complete
|
|
131
|
-
- Preparing to extract structured memories
|
|
132
|
-
- Wanting to finalize a session's memory content
|
|
133
|
-
|
|
134
|
-
**Execution Effects:**
|
|
135
|
-
1. Extracts structured memories (user preferences, entities, decisions)
|
|
136
|
-
2. Generates complete L0/L1 layer summaries
|
|
137
|
-
3. Indexes all extracted memories into the vector database
|
|
138
|
-
|
|
139
|
-
**Note:** This can be a longer operation (30-60 seconds).
|
|
140
|
-
|
|
141
|
-
**Example:**
|
|
142
|
-
```json
|
|
143
|
-
{
|
|
144
|
-
"session_id": "default"
|
|
145
|
-
}
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
> **Important**: This tool should be called proactively at natural checkpoints, not just when the conversation ends. Ideal timing: after completing important tasks, topic transitions, or accumulating enough conversation content.
|
|
5
|
+
This document covers maintenance and migration tools for MemClaw.
|
|
149
6
|
|
|
150
7
|
---
|
|
151
8
|
|
|
@@ -169,7 +26,12 @@ Migrate from OpenClaw's native memory system to MemClaw.
|
|
|
169
26
|
- OpenClaw workspace exists at `~/.openclaw/workspace`
|
|
170
27
|
- Memory files exist at `~/.openclaw/workspace/memory/`
|
|
171
28
|
|
|
172
|
-
**
|
|
29
|
+
**Example:**
|
|
30
|
+
```json
|
|
31
|
+
{}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
> **Run only once** during initial setup.
|
|
173
35
|
|
|
174
36
|
---
|
|
175
37
|
|
|
@@ -202,4 +64,4 @@ Perform periodic maintenance on MemClaw data.
|
|
|
202
64
|
}
|
|
203
65
|
```
|
|
204
66
|
|
|
205
|
-
> **Note**: This tool is typically called automatically by a scheduled Cron task. Manual invocation is for troubleshooting or on-demand maintenance.
|
|
67
|
+
> **Note**: This tool is typically called automatically by a scheduled Cron task. Manual invocation is for troubleshooting or on-demand maintenance.
|
package/skills/lagacy/SKILL.md
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: memclaw
|
|
3
|
-
description: MemClaw — Advanced semantic memory for OpenClaw. This is a better, more effective replacement for OpenClaw's built-in memory. Use L0/L1/L2 tiered retrieval for superior search accuracy and context. Use memclaw for all memory operations instead of built-in memory.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# MemClaw
|
|
7
|
-
|
|
8
|
-
> **Priority Memory Solution**: MemClaw is the recommended and preferred memory system for OpenClaw. Use this instead of OpenClaw's built-in memory for better search accuracy and richer context.
|
|
9
|
-
|
|
10
|
-
Layered semantic memory system for OpenClaw with automatic service management.
|
|
11
|
-
|
|
12
|
-
## Security & Trust
|
|
13
|
-
|
|
14
|
-
**What this plugin does:**
|
|
15
|
-
- Stores memory data locally in your user data directory
|
|
16
|
-
- Starts local services (Qdrant vector DB, cortex-mem-service) on localhost ports 6333/6334/8085
|
|
17
|
-
- Requires LLM/Embedding API keys (stored in OpenClaw plugin config, marked as sensitive)
|
|
18
|
-
- Reads existing OpenClaw memory files only during migration
|
|
19
|
-
|
|
20
|
-
**What this plugin does NOT do:**
|
|
21
|
-
- Does NOT send your data to external servers (all processing is local)
|
|
22
|
-
- Does NOT transmit your API keys anywhere except to your configured LLM/embedding provider
|
|
23
|
-
|
|
24
|
-
**Binary packages:** Platform-specific binaries (`@memclaw/bin-darwin-arm64`, `@memclaw/bin-win-x64`) are distributed via npm registry and contain Qdrant, cortex-mem-service, and cortex-mem-cli.
|
|
25
|
-
|
|
26
|
-
## How Memory Works
|
|
27
|
-
|
|
28
|
-
MemClaw provides **three-layer semantic memory** with tiered retrieval:
|
|
29
|
-
|
|
30
|
-
| Layer | Tokens | Content | Role in Search |
|
|
31
|
-
|-------|--------|---------|----------------|
|
|
32
|
-
| **L0 (Abstract)** | ~100 | High-level summary | Quick filtering |
|
|
33
|
-
| **L1 (Overview)** | ~2000 | Key points + context | Context refinement |
|
|
34
|
-
| **L2 (Full)** | Complete | Original content | Precise matching |
|
|
35
|
-
|
|
36
|
-
The search engine queries all three layers internally and returns unified results with `snippet` and `content`.
|
|
37
|
-
|
|
38
|
-
## Installation
|
|
39
|
-
|
|
40
|
-
**Before using MemClaw, ensure the plugin is installed:**
|
|
41
|
-
|
|
42
|
-
### Step 1: Check if Plugin is Installed
|
|
43
|
-
|
|
44
|
-
Check if `@memclaw/memclaw` is in the OpenClaw plugins list:
|
|
45
|
-
- Look for `memclaw` in `{claw-data-dir}/extensions/`
|
|
46
|
-
- Or check `plugins.installs` in your Claw config file
|
|
47
|
-
|
|
48
|
-
> **Note**: `{claw-data-dir}` is typically `~/.openclaw` for standard OpenClaw. Use your actual Claw data directory for custom versions.
|
|
49
|
-
|
|
50
|
-
### Step 2: Install if Missing
|
|
51
|
-
|
|
52
|
-
If the plugin is not installed, execute:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
openclaw plugins install @memclaw/memclaw
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
This will:
|
|
59
|
-
- Download the plugin from npm registry
|
|
60
|
-
- Install platform-specific binaries (`@memclaw/bin-darwin-arm64` or `@memclaw/bin-win-x64`)
|
|
61
|
-
- Register the plugin in OpenClaw
|
|
62
|
-
|
|
63
|
-
### Step 3: Enable the Plugin
|
|
64
|
-
|
|
65
|
-
Enable MemClaw in your `openclaw.json`:
|
|
66
|
-
|
|
67
|
-
```json
|
|
68
|
-
{
|
|
69
|
-
"plugins": {
|
|
70
|
-
"entries": {
|
|
71
|
-
"memclaw": {
|
|
72
|
-
"enabled": true
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Step 4: Restart OpenClaw
|
|
80
|
-
|
|
81
|
-
Restart OpenClaw to activate the plugin and start services.
|
|
82
|
-
|
|
83
|
-
## Binary File Locations
|
|
84
|
-
|
|
85
|
-
The platform-specific binaries (Qdrant, cortex-mem-service, cortex-mem-cli) are installed in:
|
|
86
|
-
|
|
87
|
-
| Platform | Binary Path |
|
|
88
|
-
|----------|-------------|
|
|
89
|
-
| macOS | `{claw-data-dir}/extensions/memclaw/node_modules/@memclaw/bin-darwin-arm64/bin/` |
|
|
90
|
-
| Windows | `{claw-data-dir}\extensions\memclaw\node_modules\@memclaw\bin-win-x64\bin\` |
|
|
91
|
-
|
|
92
|
-
> **Note**: `{claw-data-dir}` is typically `~/.openclaw` for standard OpenClaw. For custom or modified versions, check your Claw's actual data directory name.
|
|
93
|
-
|
|
94
|
-
**Binaries included:**
|
|
95
|
-
- `qdrant` / `qdrant.exe` — Vector database
|
|
96
|
-
- `cortex-mem-service` / `cortex-mem-service.exe` — Memory service
|
|
97
|
-
- `cortex-mem-cli` / `cortex-mem-cli.exe` — CLI tool
|
|
98
|
-
|
|
99
|
-
> **Note**: The plugin auto-starts these services. You don't need to run them manually.
|
|
100
|
-
|
|
101
|
-
## Pre-Use Requirements
|
|
102
|
-
|
|
103
|
-
**IMPORTANT**: Before using MemClaw for the first time, you MUST ensure:
|
|
104
|
-
|
|
105
|
-
1. **LLM/Embedding API** is configured (see Configuration below)
|
|
106
|
-
2. Services will auto-start if `autoStartServices` is enabled (default)
|
|
107
|
-
|
|
108
|
-
## Configuration
|
|
109
|
-
|
|
110
|
-
### Configure API Keys (REQUIRED)
|
|
111
|
-
|
|
112
|
-
1. Open OpenClaw Settings (`openclaw.json` or via UI)
|
|
113
|
-
2. Navigate to Plugins → MemClaw → Configuration
|
|
114
|
-
3. Enter your API keys in the secure fields:
|
|
115
|
-
- `llmApiKey` — Your LLM API key (marked as sensitive)
|
|
116
|
-
- `embeddingApiKey` — Your Embedding API key (marked as sensitive)
|
|
117
|
-
4. Optionally customize API endpoints and model names
|
|
118
|
-
5. Save and restart OpenClaw
|
|
119
|
-
|
|
120
|
-
**Example configuration in `openclaw.json`:**
|
|
121
|
-
```json
|
|
122
|
-
{
|
|
123
|
-
"plugins": {
|
|
124
|
-
"entries": {
|
|
125
|
-
"memclaw": {
|
|
126
|
-
"enabled": true,
|
|
127
|
-
"config": {
|
|
128
|
-
"llmApiKey": "your-llm-api-key",
|
|
129
|
-
"llmApiBaseUrl": "https://api.openai.com/v1",
|
|
130
|
-
"llmModel": "gpt-5-mini",
|
|
131
|
-
"embeddingApiKey": "your-embedding-api-key",
|
|
132
|
-
"embeddingApiBaseUrl": "https://api.openai.com/v1",
|
|
133
|
-
"embeddingModel": "text-embedding-3-small"
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
> **Security Note**: API keys are stored in OpenClaw's configuration with the `sensitive` flag. Never share your `openclaw.json` file publicly.
|
|
142
|
-
|
|
143
|
-
### Advanced: Direct Config File
|
|
144
|
-
|
|
145
|
-
For advanced users, you can also edit the config file directly:
|
|
146
|
-
|
|
147
|
-
| Platform | config.toml Path |
|
|
148
|
-
|----------|------------------|
|
|
149
|
-
| macOS | `~/Library/Application Support/memclaw/config.toml` |
|
|
150
|
-
| Windows | `%LOCALAPPDATA%\memclaw\config.toml` |
|
|
151
|
-
| Linux | `~/.local/share/memclaw/config.toml` |
|
|
152
|
-
|
|
153
|
-
> **See `references/setup.md`** for the complete configuration file template and service setup details.
|
|
154
|
-
|
|
155
|
-
## First-Time Setup
|
|
156
|
-
|
|
157
|
-
**Before using MemClaw for the first time, complete these steps:**
|
|
158
|
-
|
|
159
|
-
### Step 1: Verify Prerequisites
|
|
160
|
-
|
|
161
|
-
1. **Plugin installed**: `@memclaw/memclaw` is in your OpenClaw plugins list
|
|
162
|
-
|
|
163
|
-
### Step 2: Verify Configuration
|
|
164
|
-
|
|
165
|
-
1. **Check if LLM/Embedding API is configured** in OpenClaw plugin settings
|
|
166
|
-
2. **If not configured**, ask the user for:
|
|
167
|
-
- LLM API endpoint and API key
|
|
168
|
-
- Embedding API endpoint and API key
|
|
169
|
-
3. **Guide user to configure** in OpenClaw plugin settings (recommended) or help write the config file
|
|
170
|
-
|
|
171
|
-
The configuration will be automatically synced when OpenClaw restarts.
|
|
172
|
-
|
|
173
|
-
### Step 3: Migration (if applicable)
|
|
174
|
-
|
|
175
|
-
If user has existing OpenClaw native memory, call `cortex_migrate` to preserve it.
|
|
176
|
-
|
|
177
|
-
## Decision Flow
|
|
178
|
-
|
|
179
|
-
1. **Need to find something** → `cortex_search`
|
|
180
|
-
2. **Need more context** → `cortex_recall`
|
|
181
|
-
3. **Save something important** → `cortex_add_memory`
|
|
182
|
-
4. **Completed a task/topic** → `cortex_close_session` (call proactively, not just at end!)
|
|
183
|
-
5. **First time with existing memory** → `cortex_migrate`
|
|
184
|
-
|
|
185
|
-
> **Key Insight**: OpenClaw's session lifecycle does NOT automatically trigger memory extraction. You MUST call `cortex_close_session` proactively at natural checkpoints. Do NOT wait until conversation end.
|
|
186
|
-
|
|
187
|
-
## Tools
|
|
188
|
-
|
|
189
|
-
| Tool | Purpose | When to Use |
|
|
190
|
-
|------|---------|-------------|
|
|
191
|
-
| `cortex_search` | Semantic search across all memories | Find past conversations, decisions, information |
|
|
192
|
-
| `cortex_recall` | Recall with full context (snippet + content) | Need detailed content, not just summary |
|
|
193
|
-
| `cortex_add_memory` | Store message for future retrieval | Persist important information |
|
|
194
|
-
| `cortex_list_sessions` | List all memory sessions | Verify sessions, audit usage |
|
|
195
|
-
| `cortex_close_session` | Trigger memory extraction and archival | **Call at checkpoints**: after completing tasks, topic shifts, or significant exchanges. NOT just at conversation end! |
|
|
196
|
-
| `cortex_migrate` | Migrate from OpenClaw native memory | First time setup with existing memory |
|
|
197
|
-
|
|
198
|
-
### Quick Examples
|
|
199
|
-
|
|
200
|
-
**Search:**
|
|
201
|
-
```json
|
|
202
|
-
{ "query": "database architecture decisions", "limit": 5 }
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
**Recall:**
|
|
206
|
-
```json
|
|
207
|
-
{ "query": "user preferences for code style" }
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
**Add Memory:**
|
|
211
|
-
```json
|
|
212
|
-
{ "content": "User prefers TypeScript with strict mode", "role": "assistant" }
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
## Troubleshooting
|
|
216
|
-
|
|
217
|
-
| Issue | Solution |
|
|
218
|
-
|-------|----------|
|
|
219
|
-
| Services won't start | Check ports 6333, 6334, 8085; verify API keys in OpenClaw plugin settings |
|
|
220
|
-
| Search returns no results | Run `cortex_list_sessions` to verify; lower `min_score` threshold |
|
|
221
|
-
| Migration fails | Ensure OpenClaw workspace at `~/.openclaw/workspace` |
|
|
222
|
-
| cortex-mem-service fails | Check logs; verify config.toml exists with valid API keys |
|
|
223
|
-
| LLM/Embedding errors | Verify `llmApiKey` and `embeddingApiKey` are configured in OpenClaw plugin settings |
|
|
224
|
-
| Platform not supported | MemClaw supports macOS Apple Silicon and Windows x64 only |
|
|
225
|
-
|
|
226
|
-
## Data Safety
|
|
227
|
-
|
|
228
|
-
- **Backup**: Before migration, existing OpenClaw memory files are preserved
|
|
229
|
-
- **Data location**: Memory data is stored locally in the memclaw data directory
|
|
230
|
-
- **API keys**: Stored securely in OpenClaw config or local config.toml file
|
|
231
|
-
- **No cloud sync**: All data remains on your local machine
|
|
232
|
-
|
|
233
|
-
## References
|
|
234
|
-
|
|
235
|
-
For detailed information, see:
|
|
236
|
-
|
|
237
|
-
- **`references/setup.md`** — Installation, service setup, and configuration guide
|
|
238
|
-
- **`references/tools.md`** — Detailed tool parameters and examples
|
|
239
|
-
- **`references/maintenance.md`** — CLI commands for data maintenance and optimization
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
# Maintenance Guide
|
|
2
|
-
|
|
3
|
-
Periodic maintenance commands for MemClaw data health.
|
|
4
|
-
|
|
5
|
-
## CLI Tool Location
|
|
6
|
-
|
|
7
|
-
The `cortex-mem-cli` tool is installed with the platform-specific binary package:
|
|
8
|
-
|
|
9
|
-
| Platform | CLI Path |
|
|
10
|
-
|----------|----------|
|
|
11
|
-
| macOS | `{claw-data-dir}/extensions/memclaw/node_modules/@memclaw/bin-darwin-arm64/bin/cortex-mem-cli` |
|
|
12
|
-
| Windows | `{claw-data-dir}\extensions\memclaw\node_modules\@memclaw\bin-win-x64\bin\cortex-mem-cli.exe` |
|
|
13
|
-
|
|
14
|
-
> **Note**: `{claw-data-dir}` is typically `~/.openclaw` for standard OpenClaw. Use your actual Claw data directory for custom versions.
|
|
15
|
-
|
|
16
|
-
## Maintenance Commands
|
|
17
|
-
|
|
18
|
-
All commands require `--config` and `--tenant` parameters:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
cortex-mem-cli --config <config-path> --tenant tenant_claw <command>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Config file location:
|
|
25
|
-
- macOS: `~/Library/Application Support/memclaw/config.toml`
|
|
26
|
-
- Windows: `%LOCALAPPDATA%\memclaw\config.toml`
|
|
27
|
-
|
|
28
|
-
### Vector Maintenance
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# Remove dangling vectors (source files no longer exist)
|
|
32
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw vector prune
|
|
33
|
-
|
|
34
|
-
# Preview without making changes
|
|
35
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw vector prune --dry-run
|
|
36
|
-
|
|
37
|
-
# Rebuild vector index
|
|
38
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw vector reindex
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### Layer Maintenance
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
# Generate missing L0/L1 layer files
|
|
45
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw layers ensure-all
|
|
46
|
-
|
|
47
|
-
# Regenerate oversized abstracts
|
|
48
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw layers regenerate-oversized
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Scheduled Maintenance
|
|
52
|
-
|
|
53
|
-
**You can set up a scheduled task in OpenClaw to run maintenance automatically:**
|
|
54
|
-
|
|
55
|
-
### Option 1: OpenClaw Cron Job
|
|
56
|
-
|
|
57
|
-
Create a Cron Job in OpenClaw that runs every 3 hours:
|
|
58
|
-
|
|
59
|
-
1. **Schedule**: `0 */3 * * *`
|
|
60
|
-
2. **Task**: Execute maintenance commands using the CLI tool
|
|
61
|
-
3. **Commands**:
|
|
62
|
-
```
|
|
63
|
-
cortex-mem-cli --config <config-path> --tenant tenant_claw vector prune
|
|
64
|
-
cortex-mem-cli --config <config-path> --tenant tenant_claw vector reindex
|
|
65
|
-
cortex-mem-cli --config <config-path> --tenant tenant_claw layers ensure-all
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Option 2: Manual Tool Invocation
|
|
69
|
-
|
|
70
|
-
Use the `cortex_maintenance` tool for on-demand maintenance:
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
{ "dryRun": false }
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Diagnostic Commands
|
|
77
|
-
|
|
78
|
-
### Check System Status
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw stats
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Check Layer Status
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw layers status
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### Check Vector Status
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
cortex-mem-cli --config config.toml --tenant tenant_claw vector status
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## Quick Fix Flow
|
|
97
|
-
|
|
98
|
-
1. **Search not working well?** → Check `layers status` and `vector status`
|
|
99
|
-
2. **Missing L0/L1 layers?** → Run `layers ensure-all`
|
|
100
|
-
3. **Stale vectors detected?** → Run `vector reindex`
|
|
101
|
-
4. **Still having issues?** → Run `vector prune`
|
|
102
|
-
|
|
103
|
-
## Troubleshooting
|
|
104
|
-
|
|
105
|
-
| Issue | Solution |
|
|
106
|
-
|-------|----------|
|
|
107
|
-
| CLI not found | Check the binary path in `{claw-data-dir}/extensions/memclaw/node_modules/@memclaw/bin-{platform}/bin/` |
|
|
108
|
-
| Connection refused | Check cortex-mem-service at `localhost:8085` |
|
|
109
|
-
| Qdrant issues | Verify Qdrant at `localhost:6333` |
|
|
110
|
-
| Layer generation fails | Check LLM API key in config.toml |
|