228 lines
7.0 KiB
JSON
228 lines
7.0 KiB
JSON
{
|
|
"id": "openclaw-mem0",
|
|
"name": "Memory (Mem0)",
|
|
"description": "Mem0 memory backend for OpenClaw — platform or self-hosted open-source. Injects recalled memories into agent context (auto-recall) and extracts facts after each turn (auto-capture). Both configurable via autoRecall/autoCapture settings.",
|
|
"version": "1.0.5",
|
|
"kind": "memory",
|
|
"skills": ["skills"],
|
|
"contracts": {
|
|
"tools": [
|
|
"memory_search", "memory_add", "memory_get", "memory_list",
|
|
"memory_update", "memory_delete", "memory_event_list", "memory_event_status"
|
|
]
|
|
},
|
|
"providerAuthEnvVars": {
|
|
"mem0": ["MEM0_API_KEY"],
|
|
"openclaw-mem0-oss": ["OPENAI_API_KEY"]
|
|
},
|
|
"providerAuthChoices": [
|
|
{
|
|
"provider": "mem0",
|
|
"method": "api-key",
|
|
"choiceId": "mem0-api-key",
|
|
"choiceLabel": "Mem0 API key",
|
|
"choiceHint": "Required for platform mode. Get your key at https://app.mem0.ai/dashboard/api-keys",
|
|
"groupId": "mem0",
|
|
"groupLabel": "Mem0",
|
|
"optionKey": "apiKey",
|
|
"cliFlag": "--mem0-api-key",
|
|
"cliOption": "--mem0-api-key <key>",
|
|
"cliDescription": "Mem0 platform API key"
|
|
}
|
|
],
|
|
"uiHints": {
|
|
"mode": {
|
|
"label": "Mode",
|
|
"help": "\"platform\" for Mem0 cloud, \"open-source\" for self-hosted"
|
|
},
|
|
"apiKey": {
|
|
"label": "Mem0 API Key",
|
|
"sensitive": true,
|
|
"placeholder": "m0-...",
|
|
"help": "Platform mode only. Use a SecretRef ({\"source\":\"env\",\"provider\":\"default\",\"id\":\"MEM0_API_KEY\"}) or ${MEM0_API_KEY} instead of storing the key directly."
|
|
},
|
|
"userId": {
|
|
"label": "Default User ID",
|
|
"placeholder": "default",
|
|
"help": "User ID for scoping memories"
|
|
},
|
|
"autoCapture": {
|
|
"label": "Auto-Capture",
|
|
"help": "Automatically store conversation context after each agent turn"
|
|
},
|
|
"autoRecall": {
|
|
"label": "Auto-Recall",
|
|
"help": "Automatically inject relevant memories before each agent turn"
|
|
},
|
|
"customInstructions": {
|
|
"label": "Custom Instructions",
|
|
"placeholder": "Only store user preferences and important facts...",
|
|
"help": "Natural language rules for what Mem0 should store or exclude (platform mode)"
|
|
},
|
|
"customCategories": {
|
|
"label": "Custom Categories",
|
|
"advanced": true,
|
|
"help": "Map of category names to descriptions for memory tagging (platform mode only). Sensible defaults are built in."
|
|
},
|
|
"customPrompt": {
|
|
"label": "Custom Prompt (Open-Source)",
|
|
"advanced": true,
|
|
"help": "Custom prompt for open-source mode memory extraction."
|
|
},
|
|
"searchThreshold": {
|
|
"label": "Search Threshold",
|
|
"placeholder": "0.5",
|
|
"help": "Minimum similarity score for search results (0-1). Default: 0.5"
|
|
},
|
|
"topK": {
|
|
"label": "Top K Results",
|
|
"placeholder": "5",
|
|
"help": "Maximum number of memories to retrieve"
|
|
},
|
|
"oss": {
|
|
"label": "Open-Source Configuration",
|
|
"advanced": true,
|
|
"help": "Optional. Configure custom embedder, vector store, LLM, or history DB for open-source mode. For API keys in sub-provider configs, use SecretRef objects or ${VAR} syntax instead of plaintext values."
|
|
},
|
|
"skills": {
|
|
"label": "Agentic Memory Skills",
|
|
"advanced": true,
|
|
"help": "Enable skills-based memory extraction. The agent controls what to remember (triage), how to recall (recall), and periodic cleanup (dream). Disables auto-capture when active."
|
|
}
|
|
},
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"platform",
|
|
"open-source"
|
|
]
|
|
},
|
|
"apiKey": {
|
|
"type": "string"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
},
|
|
"userEmail": {
|
|
"type": "string"
|
|
},
|
|
"autoCapture": {
|
|
"type": "boolean"
|
|
},
|
|
"autoRecall": {
|
|
"type": "boolean"
|
|
},
|
|
"customInstructions": {
|
|
"type": "string"
|
|
},
|
|
"customCategories": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"customPrompt": {
|
|
"type": "string"
|
|
},
|
|
"searchThreshold": {
|
|
"type": "number"
|
|
},
|
|
"topK": {
|
|
"type": "number"
|
|
},
|
|
"oss": {
|
|
"type": "object",
|
|
"properties": {
|
|
"embedder": {
|
|
"type": "object",
|
|
"properties": {
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"vectorStore": {
|
|
"type": "object",
|
|
"properties": {
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"llm": {
|
|
"type": "object",
|
|
"properties": {
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"historyDbPath": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"skills": {
|
|
"type": "object",
|
|
"properties": {
|
|
"triage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"importanceThreshold": { "type": "number" },
|
|
"credentialPatterns": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"recall": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"strategy": { "type": "string", "enum": ["always", "smart", "manual"] },
|
|
"tokenBudget": { "type": "number" },
|
|
"maxMemories": { "type": "number" },
|
|
"rerank": { "type": "boolean" },
|
|
"keywordSearch": { "type": "boolean" },
|
|
"filterMemories": { "type": "boolean" },
|
|
"threshold": { "type": "number" },
|
|
"identityAlwaysInclude": { "type": "boolean" },
|
|
"categoryOrder": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"dream": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"auto": { "type": "boolean" },
|
|
"minHours": { "type": "number" },
|
|
"minSessions": { "type": "number" },
|
|
"minMemories": { "type": "number" }
|
|
}
|
|
},
|
|
"domain": { "type": "string" },
|
|
"customRules": {
|
|
"type": "object",
|
|
"properties": {
|
|
"include": { "type": "array", "items": { "type": "string" } },
|
|
"exclude": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"categories": { "type": "object" }
|
|
}
|
|
}
|
|
},
|
|
"required": []
|
|
}
|
|
} |