openclaw/extensions/memory-ruvector/clawdbot.plugin.json
krejcif 0cc3507479 fix(memory-ruvector): add missing plugin manifest
Add clawdbot.plugin.json required for config validation to pass.
This fixes test failures in config migration tests.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 08:14:16 +01:00

189 lines
4.8 KiB
JSON

{
"id": "memory-ruvector",
"kind": "memory",
"uiHints": {
"embedding.provider": {
"label": "Embedding Provider",
"placeholder": "openai",
"help": "openai, voyage, or local"
},
"embedding.apiKey": {
"label": "Embedding API Key",
"sensitive": true,
"placeholder": "sk-...",
"help": "API key for embedding provider (or use ${ENV_VAR})"
},
"embedding.model": {
"label": "Embedding Model",
"placeholder": "text-embedding-3-small",
"help": "Model to use for generating embeddings"
},
"embedding.baseUrl": {
"label": "Base URL",
"placeholder": "https://api.openai.com/v1",
"advanced": true,
"help": "Custom API base URL (for local/self-hosted)"
},
"dbPath": {
"label": "Database Path",
"placeholder": "~/.clawdbot/memory/ruvector",
"advanced": true,
"help": "Directory for ruvector database storage"
},
"dimension": {
"label": "Vector Dimension",
"placeholder": "1536",
"advanced": true,
"help": "Must match your embedding model output dimension"
},
"metric": {
"label": "Distance Metric",
"placeholder": "cosine",
"advanced": true,
"help": "Similarity metric: cosine (default), euclidean, or dot"
},
"hooks.enabled": {
"label": "Enable Auto-Indexing",
"help": "Automatically index messages via hooks"
},
"hooks.indexInbound": {
"label": "Index Inbound Messages",
"help": "Index incoming user messages"
},
"hooks.indexOutbound": {
"label": "Index Outbound Messages",
"help": "Index outgoing bot messages"
},
"sona.enabled": {
"label": "Enable SONA Self-Learning",
"help": "Enable Self-Organizing Neural Architecture for adaptive learning"
},
"ruvllm.enabled": {
"label": "Enable ruvLLM",
"help": "Enable ruvLLM features for LLM context enrichment and adaptive learning"
},
"ruvllm.contextInjection.enabled": {
"label": "Enable Context Injection",
"help": "Automatically inject relevant memories into agent prompts"
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"embedding": {
"type": "object",
"additionalProperties": false,
"properties": {
"provider": {
"type": "string",
"enum": ["openai", "voyage", "local"]
},
"apiKey": {
"type": "string"
},
"model": {
"type": "string"
},
"baseUrl": {
"type": "string"
}
},
"required": ["provider"]
},
"dbPath": {
"type": "string"
},
"dimension": {
"type": "number"
},
"metric": {
"type": "string",
"enum": ["cosine", "euclidean", "dot"]
},
"hooks": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"indexInbound": {
"type": "boolean"
},
"indexOutbound": {
"type": "boolean"
},
"indexAgentResponses": {
"type": "boolean"
},
"batchSize": {
"type": "number"
},
"debounceMs": {
"type": "number"
}
}
},
"sona": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"hiddenDim": {
"type": "number"
},
"learningRate": {
"type": "number"
},
"qualityThreshold": {
"type": "number"
},
"backgroundIntervalMs": {
"type": "number"
}
}
},
"ruvllm": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"contextInjection": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"maxTokens": {
"type": "number"
},
"relevanceThreshold": {
"type": "number"
}
}
},
"trajectoryRecording": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean"
},
"maxTrajectories": {
"type": "number"
}
}
}
}
}
},
"required": ["embedding"]
}
}