Install
openclaw skills install @shaojun0/kv-embed-storeKey-embedding value store with memory integration — fuzzy-search by embedding similarity with multi-alias dedup and optional memory indexing.
openclaw skills install @shaojun0/kv-embed-storeEmbedding-based key-value store. Multiple key aliases map to one entry. Built-in dedup prevents duplicates. Optional memory index for memory_search discovery.
Install as an OpenClaw plugin for native tool access:
openclaw plugins install clawhub:openclaw-plugin-kv-embed-store
Registers: kv_put, kv_search, kv_get, kv_list, kv_remove, kv_merge, kv_dedup, kv_refresh_index.
python3 scripts/kv_store.py put "my-project" '{"repo":"github.com/example/project","port":3000}'
python3 scripts/kv_store.py search "project reference" -k 5
In openclaw.json under plugins.entries.kv-embed-store.config:
| Key | Default | Description |
|---|---|---|
storePath | data/kv_store.json | Path to the store JSON file |
memoryIndex | false | Generate memory index with aliases and value previews |
apiKey | — | Embedding API key (or KV_EMBED_API_KEY env) |
baseUrl | https://api.siliconflow.cn/v1 | Embedding API base URL (or KV_EMBED_BASE_URL env) |
model | BAAI/bge-m3 | Embedding model (or KV_EMBED_MODEL env) |
{
plugins: {
entries: {
"kv-embed-store": {
enabled: true,
config: {
storePath: "~/.openclaw/workspace/data/kv-store.json",
apiKey: "sk-xxx",
baseUrl: "https://api.siliconflow.cn/v1",
model: "BAAI/bge-m3"
}
}
}
}
}
# SiliconFlow (default)
export KV_EMBED_API_KEY=***
export KV_EMBED_BASE_URL=https://api.siliconflow.cn/v1
export KV_EMBED_MODEL=BAAI/bge-m3
# OpenRouter
export KV_EMBED_API_KEY=***
export KV_EMBED_BASE_URL=https://openrouter.ai/api/v1
export KV_EMBED_MODEL=openai/text-embedding-3-small
# OpenAI
export KV_EMBED_API_KEY=***
export KV_EMBED_BASE_URL=https://api.openai.com/v1
export KV_EMBED_MODEL=text-embedding-3-small
openclaw >=2026.5.17numpy, requestsWhen kv_put is called:
force=true skips dedupStore file is human-readable JSON:
{
"entries": {
"e1": {
"aliases": ["my-project", "project-reference"],
"data": {"repo": "github.com/example/project", "port": 3000},
"created_at": "2026-07-06T15:30:00",
"updated_at": "2026-07-06T15:35:00"
}
},
"embeddings": {
"my-project": [0.1, 0.2, ...],
"project-reference": [0.15, 0.22, ...]
}
}
kv_dedup --apply periodically to clean up accidental duplicatesmemoryIndex to make entries discoverable via memory_search