openclaw-knowledge-engine/openclaw.plugin.json
Claudia 8964d93c60 feat: knowledge-engine v0.1.0 — all Cerberus findings fixed
- 83/83 tests passing (was 32/45)
- New: src/http-client.ts (shared HTTP/HTTPS client, fixes C2+H1)
- Fixed: proper_noun regex exclusions (C6)
- Fixed: shutdown hooks registered in hooks.ts (C3)
- Fixed: all timers use .unref() (H6)
- Fixed: resolveConfig split into smaller functions (C4)
- Fixed: extract() split with processMatch helper (C5)
- Fixed: FactStore.addFact isLoaded guard (H3)
- Fixed: validateConfig split (H2)
- Fixed: type-safe config merge, removed as any (H4)
- Added: http-client tests, expanded coverage (H5)
- Fixed: LLM batch await (S1), fresh RegExp per call (S2)
- 1530 LOC source, 1298 LOC tests, strict TypeScript
2026-02-17 16:10:13 +01:00

125 lines
3.9 KiB
JSON

{
"id": "@vainplex/openclaw-knowledge-engine",
"config": {
"enabled": {
"type": "boolean",
"default": true,
"description": "Whether the knowledge engine plugin is enabled."
},
"workspace": {
"type": "string",
"default": "~/.clawd/plugins/knowledge-engine",
"description": "The directory to store knowledge files (entities.json, facts.json)."
},
"extraction": {
"type": "object",
"properties": {
"regex": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable high-speed regex-based entity extraction."
}
}
},
"llm": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable high-fidelity LLM-based entity and fact extraction."
},
"model": {
"type": "string",
"default": "mistral:7b",
"description": "The model name to use for the LLM API call (e.g., Ollama model)."
},
"endpoint": {
"type": "string",
"default": "http://localhost:11434/api/generate",
"description": "The HTTP endpoint for the LLM generation API."
},
"batchSize": {
"type": "number",
"default": 10,
"description": "Number of messages to batch together before sending to the LLM."
},
"cooldownMs": {
"type": "number",
"default": 30000,
"description": "Milliseconds to wait after the last message before sending a batch to the LLM."
}
}
}
}
},
"decay": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": true,
"description": "Enable or disable the periodic decay of fact relevance."
},
"intervalHours": {
"type": "number",
"default": 24,
"description": "How often (in hours) to run the decay process."
},
"rate": {
"type": "number",
"default": 0.02,
"description": "The percentage of relevance to decay in each interval (e.g., 0.02 is 2%)."
}
}
},
"embeddings": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"default": false,
"description": "Enable or disable syncing of facts to a vector database."
},
"endpoint": {
"type": "string",
"default": "http://localhost:8000/api/v1/collections/facts/add",
"description": "The HTTP endpoint for the vector database's add API (ChromaDB compatible)."
},
"collectionName": {
"type": "string",
"default": "openclaw-facts",
"description": "The name of the collection to use in the vector database."
},
"syncIntervalMinutes": {
"type": "number",
"default": 15,
"description": "How often (in minutes) to sync new facts to the vector database."
}
}
},
"storage": {
"type": "object",
"properties": {
"maxEntities": {
"type": "number",
"default": 5000,
"description": "The maximum number of entities to store before pruning."
},
"maxFacts": {
"type": "number",
"default": 10000,
"description": "The maximum number of facts to store before pruning."
},
"writeDebounceMs": {
"type": "number",
"default": 15000,
"description": "Milliseconds to wait after a change before writing data to disk."
}
}
}
}
}