refactor: update memory skill loader, plugin config, and add privacy docs (#4905)

This commit is contained in:
Kartik
2026-04-22 17:15:19 +05:30
committed by GitHub
parent 32b74e18b7
commit f5dc825d47
21 changed files with 1734 additions and 189 deletions
+70 -5
View File
@@ -1,15 +1,14 @@
{
"id": "openclaw-mem0",
"name": "Memory (Mem0)",
"description": "Mem0 memory backend for OpenClaw — platform or self-hosted open-source. PLATFORM MODE: Sends conversation data to mem0.ai cloud (requires MEM0_API_KEY). OPEN-SOURCE MODE: Stores vectors locally (~/.mem0/history.db) but uses external APIs for embeddings/LLM (default: OpenAI, requires OPENAI_API_KEY). Auto-recall injects memories before agent turns; auto-capture extracts facts after turns. Both configurable via autoRecall/autoCapture settings. Config stored in ~/.openclaw/openclaw.json.",
"version": "1.0.7",
"description": "Mem0 memory backend for OpenClaw — platform or self-hosted open-source. PLATFORM MODE: Sends conversation data to mem0.ai cloud (requires MEM0_API_KEY). OPEN-SOURCE MODE: Stores vectors locally (~/.mem0/history.db) but uses external APIs for embeddings/LLM (default: OpenAI, requires OPENAI_API_KEY). Auto-recall injects relevant memories into agent context before each turn; auto-capture extracts durable facts after turns. Both are opt-in via autoRecall/autoCapture config settings (default: false). The plugin injects a memory triage protocol into system context when skills mode is enabled. Config stored in ~/.openclaw/openclaw.json.",
"version": "1.0.8",
"kind": "memory",
"skills": ["skills"],
"commandAliases": [
{
"name": "mem0",
"cliCommand": "mem0",
"description": "Mem0 memory plugin commands"
"cliCommand": "mem0"
}
],
"contracts": {
@@ -20,7 +19,7 @@
},
"providerAuthEnvVars": {
"mem0": ["MEM0_API_KEY"],
"openclaw-mem0-oss": ["OPENAI_API_KEY", "ANTHROPIC_API_KEY", "AZURE_OPENAI_API_KEY", "COHERE_API_KEY"]
"openclaw-mem0-oss": ["OPENAI_API_KEY", "ANTHROPIC_API_KEY"]
},
"providerAuthChoices": [
{
@@ -35,6 +34,32 @@
"cliFlag": "--mem0-api-key",
"cliOption": "--mem0-api-key <key>",
"cliDescription": "Mem0 platform API key"
},
{
"provider": "openclaw-mem0-oss",
"method": "config",
"choiceId": "oss-openai",
"choiceLabel": "Open Source with OpenAI",
"choiceHint": "Self-hosted mode using OpenAI for LLM and embeddings",
"groupId": "oss",
"groupLabel": "Open Source (self-hosted)",
"optionKey": "oss.llm.config.apiKey",
"cliFlag": "--oss-llm-key",
"cliOption": "--oss-llm-key <key>",
"cliDescription": "OpenAI API key for OSS LLM"
},
{
"provider": "openclaw-mem0-oss",
"method": "config",
"choiceId": "oss-ollama",
"choiceLabel": "Open Source with Ollama (local)",
"choiceHint": "Fully local mode, no API keys needed",
"groupId": "oss",
"groupLabel": "Open Source (self-hosted)",
"optionKey": "oss.llm.config.ollama_base_url",
"cliFlag": "--oss-llm-url",
"cliOption": "--oss-llm-url <url>",
"cliDescription": "Ollama base URL for local LLM"
}
],
"uiHints": {
@@ -86,11 +111,29 @@
"placeholder": "5",
"help": "Maximum number of memories to retrieve"
},
"userEmail": {
"label": "User Email",
"sensitive": true,
"advanced": true,
"help": "Email address associated with the Mem0 account. Set automatically during platform login."
},
"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."
},
"oss.llm.config.apiKey": {
"label": "OSS LLM API Key",
"sensitive": true,
"advanced": true,
"help": "API key for open-source LLM provider. Use SecretRef or ${VAR} syntax."
},
"oss.embedder.config.apiKey": {
"label": "OSS Embedder API Key",
"sensitive": true,
"advanced": true,
"help": "API key for open-source embedder provider. Use SecretRef or ${VAR} syntax."
},
"skills": {
"label": "Agentic Memory Skills",
"advanced": true,
@@ -114,6 +157,10 @@
"userId": {
"type": "string"
},
"baseUrl": {
"type": "string",
"description": "API base URL override (default: https://api.mem0.ai)"
},
"userEmail": {
"type": "string"
},
@@ -238,5 +285,23 @@
}
},
"required": []
},
"setup": {
"providers": [
{
"id": "mem0",
"authMethods": ["api-key"],
"envVars": ["MEM0_API_KEY"],
"description": "Platform mode: hosted memory at mem0.ai"
},
{
"id": "openclaw-mem0-oss",
"authMethods": ["api-key", "config"],
"envVars": ["OPENAI_API_KEY", "ANTHROPIC_API_KEY"],
"description": "Open-source mode: self-hosted with chosen LLM/embedder providers. No env vars needed when using Ollama (local)."
}
],
"requiresRuntime": false,
"postInstallHint": "Run 'openclaw mem0 init' to configure mode and credentials"
}
}