6cad77328b
Three fixes for the OpenClaw plugin:
1. Fix MEMORY.md sync returning empty content
- syncMemoryToWorkspace() was querying basename(workspaceDir) as the
project name (e.g. 'workspace'), but observations are stored under
agent-scoped names like 'openclaw-main'
- Now queries both the base project and agent-scoped project name
- Passes EventContext through so the correct project can be derived
2. Add dedicated botToken support for observation feed
- New optional 'botToken' field in observationFeed config
- When set, sends observations directly via Telegram Bot API instead
of routing through the gateway's channel plugin
- Allows using a separate bot for the observation stream
3. Fix plugin kind for memory slot compatibility
- Changed plugin kind from 'integration' to 'memory' so OpenClaw
recognizes it as a valid memory slot plugin
- Fixes 'memory slot plugin not found' warning when
plugins.slots.memory = 'claude-mem' is configured
54 lines
1.7 KiB
JSON
54 lines
1.7 KiB
JSON
{
|
|
"id": "claude-mem",
|
|
"name": "Claude-Mem (Persistent Memory)",
|
|
"description": "Official OpenClaw plugin for Claude-Mem. Records observations from embedded runner sessions and streams them to messaging channels.",
|
|
"kind": "memory",
|
|
"version": "1.0.0",
|
|
"author": "thedotmack",
|
|
"homepage": "https://claude-mem.com",
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"syncMemoryFile": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Automatically sync MEMORY.md on session start"
|
|
},
|
|
"workerPort": {
|
|
"type": "number",
|
|
"default": 37777,
|
|
"description": "Port for Claude-Mem worker service"
|
|
},
|
|
"project": {
|
|
"type": "string",
|
|
"default": "openclaw",
|
|
"description": "Project name for scoping observations in the memory database"
|
|
},
|
|
"observationFeed": {
|
|
"type": "object",
|
|
"description": "Live observation feed — streams observations to any OpenClaw channel in real-time",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Enable live observation feed to messaging channels"
|
|
},
|
|
"channel": {
|
|
"type": "string",
|
|
"description": "Channel type: telegram, discord, signal, slack, whatsapp, line"
|
|
},
|
|
"to": {
|
|
"type": "string",
|
|
"description": "Target chat/user ID to send observations to"
|
|
},
|
|
"botToken": {
|
|
"type": "string",
|
|
"description": "Optional dedicated Telegram bot token for the feed (bypasses gateway channel)"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|