Adds support for running embeddings locally using node-llama-cpp, eliminating
the need for OpenAI API keys when using the memory-lancedb plugin.
Changes:
- Add embedding.provider config: 'openai' | 'local' (default: 'openai')
- Make embedding.apiKey optional when using local provider
- Add embedding.local.modelPath for custom GGUF model paths
- Add embedding.local.modelCacheDir for model caching
- Default local model: embeddinggemma-300M-Q8_0.gguf (768-dim vectors)
- Add node-llama-cpp as optional peer dependency
- Port local embedding logic from core memorySearch implementation
- Maintain backwards compatibility (existing configs work unchanged)
Usage:
embedding:
provider: local
# Optional custom model:
local:
modelPath: hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf
25 lines
552 B
JSON
25 lines
552 B
JSON
{
|
|
"name": "@openclaw/memory-lancedb",
|
|
"version": "2026.1.29",
|
|
"type": "module",
|
|
"description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall/capture. Supports OpenAI and local embeddings.",
|
|
"dependencies": {
|
|
"@lancedb/lancedb": "^0.23.0",
|
|
"@sinclair/typebox": "0.34.47",
|
|
"openai": "^6.16.0"
|
|
},
|
|
"peerDependencies": {
|
|
"node-llama-cpp": ">=3.0.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"node-llama-cpp": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"openclaw": {
|
|
"extensions": [
|
|
"./index.ts"
|
|
]
|
|
}
|
|
}
|