mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-21 12:04:59 +00:00
Sleep cycle is now triggered by a system cron job (`0 3 * * *`) calling `openclaw memory neo4j sleep` rather than an in-process 6-hour interval timer with mutex. Simpler, more reliable, and easier to manage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
207 lines
5.8 KiB
JSON
207 lines
5.8 KiB
JSON
{
|
|
"id": "memory-neo4j",
|
|
"kind": "memory",
|
|
"uiHints": {
|
|
"embedding.provider": {
|
|
"label": "Embedding Provider",
|
|
"placeholder": "openai",
|
|
"help": "Provider for embeddings: 'openai' or 'ollama'"
|
|
},
|
|
"embedding.apiKey": {
|
|
"label": "API Key",
|
|
"sensitive": true,
|
|
"placeholder": "sk-proj-...",
|
|
"help": "API key for OpenAI embeddings (not needed for Ollama)"
|
|
},
|
|
"embedding.model": {
|
|
"label": "Embedding Model",
|
|
"placeholder": "text-embedding-3-small",
|
|
"help": "Embedding model to use (e.g., text-embedding-3-small for OpenAI, mxbai-embed-large for Ollama)"
|
|
},
|
|
"embedding.baseUrl": {
|
|
"label": "Base URL",
|
|
"placeholder": "http://localhost:11434",
|
|
"help": "Base URL for Ollama API (optional)"
|
|
},
|
|
"neo4j.uri": {
|
|
"label": "Neo4j URI",
|
|
"placeholder": "bolt://localhost:7687",
|
|
"help": "Bolt connection URI for your Neo4j instance"
|
|
},
|
|
"neo4j.user": {
|
|
"label": "Neo4j Username",
|
|
"placeholder": "neo4j"
|
|
},
|
|
"neo4j.password": {
|
|
"label": "Neo4j Password",
|
|
"sensitive": true
|
|
},
|
|
"autoCapture": {
|
|
"label": "Auto-Capture",
|
|
"help": "Automatically capture important information from conversations"
|
|
},
|
|
"autoRecall": {
|
|
"label": "Auto-Recall",
|
|
"help": "Automatically inject relevant memories into context"
|
|
},
|
|
"autoRecallMinScore": {
|
|
"label": "Auto-Recall Min Score",
|
|
"help": "Minimum similarity score (0-1) for auto-recall results (default: 0.25)"
|
|
},
|
|
"coreMemory.enabled": {
|
|
"label": "Core Memory",
|
|
"help": "Enable core memory bootstrap (top memories auto-loaded into context)"
|
|
},
|
|
"coreMemory.refreshAtContextPercent": {
|
|
"label": "Core Memory Refresh %",
|
|
"help": "Re-inject core memories when context usage reaches this percentage (1-100, optional)"
|
|
},
|
|
"extraction.apiKey": {
|
|
"label": "Extraction API Key",
|
|
"sensitive": true,
|
|
"placeholder": "sk-or-v1-...",
|
|
"help": "API key for extraction LLM (not needed for Ollama/local models)"
|
|
},
|
|
"extraction.model": {
|
|
"label": "Extraction Model",
|
|
"placeholder": "google/gemini-2.0-flash-001",
|
|
"help": "Model for entity extraction (e.g., google/gemini-2.0-flash-001 for OpenRouter, llama3.1:8b for Ollama)"
|
|
},
|
|
"extraction.baseUrl": {
|
|
"label": "Extraction Base URL",
|
|
"placeholder": "https://openrouter.ai/api/v1",
|
|
"help": "Base URL for extraction API (e.g., https://openrouter.ai/api/v1 or http://localhost:11434/v1 for Ollama)"
|
|
},
|
|
"graphSearchDepth": {
|
|
"label": "Graph Search Depth",
|
|
"help": "Maximum relationship hops for graph search spreading activation (1-3, default: 1)"
|
|
},
|
|
"decayCurves": {
|
|
"label": "Decay Curves",
|
|
"help": "Per-category decay curve overrides. Example: {\"fact\": {\"halfLifeDays\": 60}, \"other\": {\"halfLifeDays\": 14}}"
|
|
},
|
|
"sleepCycle.auto": {
|
|
"label": "Auto Sleep Cycle",
|
|
"help": "Automatically run memory consolidation (dedup, extraction, decay) daily at 3:00 AM local time (default: on)"
|
|
}
|
|
},
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"embedding": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"provider": {
|
|
"type": "string",
|
|
"enum": ["openai", "ollama"]
|
|
},
|
|
"apiKey": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"baseUrl": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"neo4j": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"uri": {
|
|
"type": "string"
|
|
},
|
|
"user": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["uri"]
|
|
},
|
|
"autoCapture": {
|
|
"type": "boolean"
|
|
},
|
|
"autoRecall": {
|
|
"type": "boolean"
|
|
},
|
|
"autoRecallMinScore": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1
|
|
},
|
|
"coreMemory": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"refreshAtContextPercent": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"maximum": 100
|
|
}
|
|
}
|
|
},
|
|
"extraction": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"apiKey": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"baseUrl": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"graphSearchDepth": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"maximum": 3
|
|
},
|
|
"decayCurves": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"halfLifeDays": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
}
|
|
},
|
|
"required": ["halfLifeDays"]
|
|
}
|
|
},
|
|
"autoRecallSkipPattern": {
|
|
"type": "string",
|
|
"description": "RegExp pattern to skip auto-recall for matching session keys (e.g. voice|realtime)"
|
|
},
|
|
"autoCaptureSkipPattern": {
|
|
"type": "string",
|
|
"description": "RegExp pattern to skip auto-capture for matching session keys (e.g. voice|realtime)"
|
|
},
|
|
"sleepCycle": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"auto": { "type": "boolean" }
|
|
}
|
|
}
|
|
},
|
|
"required": ["neo4j"]
|
|
}
|
|
}
|