@memoryrelay/plugin-memoryrelay-ai 0.5.1 โ 0.5.3
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 +101 -87
- package/openclaw.plugin.json +1 -1
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Long-term memory plugin for OpenClaw agents using [MemoryRelay API](https://api.
|
|
|
13
13
|
- ๐ค **Multi-Agent** โ Isolated memory namespaces per agent
|
|
14
14
|
- ๐ ๏ธ **CLI Tools** โ Manage memories via `openclaw memoryrelay` commands
|
|
15
15
|
- ๐ **Tool Integration** โ Three memory tools for AI agents
|
|
16
|
-
-
|
|
16
|
+
- ๐ **Works Alongside Built-in Memory** โ Extends OpenClaw's local memory with cloud-backed persistence
|
|
17
17
|
|
|
18
18
|
## Installation
|
|
19
19
|
|
|
@@ -64,25 +64,22 @@ openclaw gateway restart
|
|
|
64
64
|
### 4. Verify it's working
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
#
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
#
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
openclaw memoryrelay status
|
|
77
|
-
# Shows: API connection, agent ID, endpoint
|
|
67
|
+
# Test memory storage
|
|
68
|
+
openclaw agents <your-agent> --one-shot "Store a test memory: Plugin verification successful"
|
|
69
|
+
|
|
70
|
+
# Search for it
|
|
71
|
+
openclaw memoryrelay search "plugin verification"
|
|
72
|
+
|
|
73
|
+
# Check plugin status
|
|
74
|
+
openclaw plugins info plugin-memoryrelay-ai
|
|
75
|
+
# Should show: Status: loaded
|
|
78
76
|
|
|
79
77
|
# Check logs
|
|
80
78
|
journalctl -u openclaw-gateway --since '1 minute ago' | grep memory-memoryrelay
|
|
81
|
-
#
|
|
82
|
-
# (URL will vary if you configured a custom apiUrl)
|
|
79
|
+
# Should show: "memory-memoryrelay: connected to https://api.memoryrelay.net"
|
|
83
80
|
```
|
|
84
81
|
|
|
85
|
-
|
|
82
|
+
**Note**: `openclaw status` may show "unavailable" due to an OpenClaw display bug (see [Known Limitations](#known-limitations)). This is cosmetic only - if the plugin shows "loaded" and logs show "connected", the plugin is working correctly.
|
|
86
83
|
|
|
87
84
|
### 1. Get API Key
|
|
88
85
|
|
|
@@ -210,27 +207,18 @@ memory_forget({ query: "outdated preference" })
|
|
|
210
207
|
|
|
211
208
|
### Status Monitoring
|
|
212
209
|
|
|
213
|
-
|
|
210
|
+
Check plugin status directly (don't rely on `openclaw status` - see [Known Limitations](#known-limitations)):
|
|
214
211
|
|
|
215
212
|
```bash
|
|
216
|
-
# Check
|
|
217
|
-
openclaw
|
|
218
|
-
# Shows: Memory | enabled (plugin plugin-memoryrelay-ai) ยท available
|
|
213
|
+
# Check plugin loaded
|
|
214
|
+
openclaw plugins info plugin-memoryrelay-ai
|
|
219
215
|
|
|
220
|
-
# Check
|
|
221
|
-
openclaw memoryrelay
|
|
222
|
-
# Shows: API connection, agent ID, endpoint
|
|
223
|
-
```
|
|
216
|
+
# Check connection via logs
|
|
217
|
+
journalctl -u openclaw-gateway -f | grep memory-memoryrelay
|
|
224
218
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
- **Memory Count** โ Total memories stored for this agent (if stats endpoint exists)
|
|
229
|
-
- **Vector Enabled** โ Semantic search capability (always true)
|
|
230
|
-
- **Endpoint** โ API URL being used
|
|
231
|
-
- **Agent ID** โ Current agent identifier
|
|
232
|
-
|
|
233
|
-
When the API is unreachable, status shows "unavailable" with error details.
|
|
219
|
+
# Test tools directly
|
|
220
|
+
openclaw memoryrelay search "test query"
|
|
221
|
+
```
|
|
234
222
|
|
|
235
223
|
### CLI Commands
|
|
236
224
|
|
|
@@ -305,77 +293,83 @@ Then reference in config:
|
|
|
305
293
|
|
|
306
294
|
## Architecture
|
|
307
295
|
|
|
308
|
-
|
|
309
|
-
โโโโโโโโโโโโโโโโโโโโโโโ
|
|
310
|
-
โ OpenClaw Agent โ
|
|
311
|
-
โ (Your AI) โ
|
|
312
|
-
โโโโโโโโโโโโฌโโโโโโโโโโโ
|
|
313
|
-
โ
|
|
314
|
-
โ Plugin API
|
|
315
|
-
โ
|
|
316
|
-
โโโโโโโโโโโโโโโโโโโโโโโ
|
|
317
|
-
โ @memoryrelay/ โ
|
|
318
|
-
โ openclaw-plugin โ
|
|
319
|
-
โ - Tools โ
|
|
320
|
-
โ - CLI โ
|
|
321
|
-
โ - Lifecycle Hooks โ
|
|
322
|
-
โโโโโโโโโโโโฌโโโโโโโโโโโ
|
|
323
|
-
โ
|
|
324
|
-
โ HTTPS REST
|
|
325
|
-
โ
|
|
326
|
-
โโโโโโโโโโโโโโโโโโโโโโโ
|
|
327
|
-
โ MemoryRelay API โ
|
|
328
|
-
โ api.memoryrelay.net โ
|
|
329
|
-
โโโโโโโโโโโโโโโโโโโโโโโ
|
|
330
|
-
```
|
|
296
|
+
MemoryRelay works **alongside** OpenClaw's built-in memory system (not as a replacement):
|
|
331
297
|
|
|
332
|
-
|
|
298
|
+
**OpenClaw Built-in Memory** (local):
|
|
299
|
+
- Workspace files (`MEMORY.md`, `memory/*.md`)
|
|
300
|
+
- Fast local access, version control friendly
|
|
301
|
+
- Tools: `memory_search`, `memory_get`
|
|
302
|
+
- Scope: Per-agent, stays on disk
|
|
333
303
|
|
|
334
|
-
|
|
304
|
+
**MemoryRelay Plugin** (cloud):
|
|
305
|
+
- Cloud-backed API storage
|
|
306
|
+
- Cross-agent sharing, persistent
|
|
307
|
+
- Tools: `memory_store`, `memory_recall`, `memory_forget`
|
|
308
|
+
- Scope: Shared across agents, 900+ memories
|
|
335
309
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
310
|
+
**Both systems run together** - use built-in for local context, MemoryRelay for long-term cross-agent knowledge.
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ
|
|
314
|
+
โ Built-in Memory โ โ MemoryRelay Plugin โ
|
|
315
|
+
โ (Local Files) โ โ (Cloud API) โ
|
|
316
|
+
โโโโโโโโโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโโโโโโโโค
|
|
317
|
+
โ memory_search โ โ memory_store โ
|
|
318
|
+
โ memory_get โ โ memory_recall โ
|
|
319
|
+
โ โ โ memory_forget โ
|
|
320
|
+
โโโโโโโโโโโโฌโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโ
|
|
321
|
+
โ โ
|
|
322
|
+
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
|
|
323
|
+
โ
|
|
324
|
+
โ
|
|
325
|
+
โโโโโโโโโโโโโโโโโโโ
|
|
326
|
+
โ OpenClaw Agent โ
|
|
327
|
+
โโโโโโโโโโโโโโโโโโโ
|
|
345
328
|
```
|
|
346
329
|
|
|
347
|
-
##
|
|
330
|
+
## Known Limitations
|
|
348
331
|
|
|
349
|
-
###
|
|
332
|
+
### Status Display Issue
|
|
350
333
|
|
|
351
|
-
|
|
352
|
-
// Agent conversation:
|
|
353
|
-
// User: "Remember that I prefer TypeScript over JavaScript"
|
|
354
|
-
// Agent uses: memory_store({ content: "User prefers TypeScript over JavaScript" })
|
|
334
|
+
**Symptom**: `openclaw status` shows "Memory: unavailable" even when plugin is working.
|
|
355
335
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
336
|
+
**Root Cause**: OpenClaw's status command checks the built-in MemoryIndexManager, not plugin tools. This is an OpenClaw architecture limitation, not a bug in this plugin.
|
|
337
|
+
|
|
338
|
+
**Impact**: Cosmetic only - all plugin functionality works perfectly:
|
|
339
|
+
- โ
memory_store, memory_recall, memory_forget tools work
|
|
340
|
+
- โ
AutoRecall and AutoCapture work
|
|
341
|
+
- โ
API connectivity works (921 memories stored)
|
|
342
|
+
- โ Status display shows wrong system
|
|
361
343
|
|
|
362
|
-
|
|
344
|
+
**Workaround**: Verify plugin functionality directly instead of relying on status:
|
|
363
345
|
|
|
364
346
|
```bash
|
|
365
|
-
#
|
|
366
|
-
openclaw
|
|
347
|
+
# 1. Check plugin loaded
|
|
348
|
+
openclaw plugins info plugin-memoryrelay-ai
|
|
349
|
+
# Should show: Status: loaded
|
|
367
350
|
|
|
368
|
-
#
|
|
369
|
-
openclaw
|
|
370
|
-
#
|
|
351
|
+
# 2. Check logs for connection
|
|
352
|
+
journalctl -u openclaw-gateway --since '1 minute ago' | grep memory-memoryrelay
|
|
353
|
+
# Should show: "memory-memoryrelay: connected to https://api.memoryrelay.net"
|
|
371
354
|
|
|
372
|
-
#
|
|
373
|
-
openclaw
|
|
355
|
+
# 3. Test memory_store tool
|
|
356
|
+
openclaw agents <your-agent> --one-shot "Store test: Plugin works"
|
|
374
357
|
|
|
375
|
-
#
|
|
376
|
-
openclaw memoryrelay
|
|
358
|
+
# 4. Test memory_recall tool
|
|
359
|
+
openclaw memoryrelay search "plugin works"
|
|
360
|
+
|
|
361
|
+
# 5. Check API directly
|
|
362
|
+
curl -H "X-API-Key: YOUR_KEY" https://api.memoryrelay.net/v1/memories?agent_id=YOUR_AGENT&limit=1
|
|
377
363
|
```
|
|
378
364
|
|
|
365
|
+
**Why This Happens**: OpenClaw has two separate memory systems:
|
|
366
|
+
1. `memory.backend` (top-level, status checks this)
|
|
367
|
+
2. `plugins.slots.memory` (plugin tools, status ignores this)
|
|
368
|
+
|
|
369
|
+
Our plugin provides tools (#2), but status checks the backend (#1). Fixing this requires OpenClaw core changes to check plugin status when a memory slot is configured.
|
|
370
|
+
|
|
371
|
+
**Upstream Issue**: Tracked in [openclaw/openclaw#TBD](https://github.com/openclaw/openclaw/issues) (pending)
|
|
372
|
+
|
|
379
373
|
## Troubleshooting
|
|
380
374
|
|
|
381
375
|
### Plugin Not Loading
|
|
@@ -476,6 +470,26 @@ MIT ยฉ 2026 MemoryRelay
|
|
|
476
470
|
|
|
477
471
|
## Changelog
|
|
478
472
|
|
|
473
|
+
### v0.5.3 (2026-02-14) - Documentation Update
|
|
474
|
+
|
|
475
|
+
**Clarifications:**
|
|
476
|
+
- โ
Documented that plugin works ALONGSIDE built-in memory (not as replacement)
|
|
477
|
+
- โ
Added "Known Limitations" section explaining status display issue
|
|
478
|
+
- โ
Provided verification steps for users (don't rely on `openclaw status`)
|
|
479
|
+
- โ
Clarified architecture: two memory systems working together
|
|
480
|
+
- โ
Explained Voyage comparison (embedding provider vs storage provider)
|
|
481
|
+
|
|
482
|
+
**No Code Changes:**
|
|
483
|
+
- Plugin functionality unchanged (already working perfectly)
|
|
484
|
+
- Tools work: memory_store, memory_recall, memory_forget โ
|
|
485
|
+
- AutoRecall/AutoCapture work โ
|
|
486
|
+
- 921 memories stored in production โ
|
|
487
|
+
|
|
488
|
+
**Key Finding:**
|
|
489
|
+
- Status shows "unavailable" because OpenClaw checks built-in MemoryIndexManager, not plugin tools
|
|
490
|
+
- This is an OpenClaw architecture limitation requiring upstream fix
|
|
491
|
+
- All plugin functionality verified working despite status display
|
|
492
|
+
|
|
479
493
|
### v0.4.0 (2026-02-13) - Status Reporting
|
|
480
494
|
|
|
481
495
|
**New Features:**
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memoryrelay/plugin-memoryrelay-ai",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.3",
|
|
4
4
|
"description": "OpenClaw memory plugin for MemoryRelay API - long-term memory with semantic search",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"postinstall": "node -e \"console.log('\\nโ ๏ธ CONFIGURATION REQUIRED\\n\\nAdd config after installation:\\n\\ncat ~/.openclaw/openclaw.json | jq \\'.plugins.entries.\\\"plugin-memoryrelay-ai\\\".config = {\\\"apiKey\\\": \\\"YOUR_KEY\\\", \\\"agentId\\\": \\\"YOUR_AGENT\\\"}\\' > /tmp/config.json && mv /tmp/config.json ~/.openclaw/openclaw.json\\n\\nThen restart: openclaw gateway restart\\n\\nGet your API key from: https://memoryrelay.ai\\n')\""
|
|
9
|
+
},
|
|
7
10
|
"keywords": [
|
|
8
11
|
"openclaw",
|
|
9
12
|
"plugin",
|
|
@@ -29,7 +32,9 @@
|
|
|
29
32
|
},
|
|
30
33
|
"openclaw": {
|
|
31
34
|
"id": "plugin-memoryrelay-ai",
|
|
32
|
-
"extensions": [
|
|
35
|
+
"extensions": [
|
|
36
|
+
"./"
|
|
37
|
+
]
|
|
33
38
|
},
|
|
34
39
|
"files": [
|
|
35
40
|
"index.ts",
|