mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-26 01:03:33 +00:00
- Semantic dedup vector pre-screen: skip LLM calls when cosine similarity < 0.8 - Propagate abort signal into sleep cycle phases and extraction pipeline - Configurable graph search depth (1-3 hops) via graphSearchDepth config - Streaming extraction: SSE-based callOpenRouterStream with abort responsiveness - Configurable per-category decay curves for memory consolidation - Updated tests with SSE streaming mocks Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
196 lines
5.4 KiB
JSON
196 lines
5.4 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.maxEntries": {
|
|
"label": "Core Memory Max Entries",
|
|
"help": "Maximum number of core memories to load per session (default: 50)"
|
|
},
|
|
"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}}"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"maxEntries": {
|
|
"type": "number",
|
|
"minimum": 1
|
|
},
|
|
"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"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["neo4j"]
|
|
}
|
|
}
|