vault语义搜索
黑曜石金库的本地语义搜索MCP服务器。
为什么
关键字搜索遗漏了使用不同措辞的注释。如果你写的是“投资策略”,但搜索“投资组合配置”,关键字搜索不会返回任何结果。语义搜索通过意义而不是精确的单词来找到它。
特性
- 100%本地 --没有API密钥,没有数据离开您的计算机
- 快速ONNX嵌入 通过 快速嵌入 (约90 MB型号)
- 中文+英文 支持(
BAAI/bge-small-zh-v1.5) - 增量索引 --仅重新嵌入更改的文件(MD5哈希检查)
- SQLite存储 --零外部服务,单文件索引
- 3个MCP工具:
index_vault,semantic_search,index_status
快速开始
# Clone
git clone https://github.com/kalawcreator919/vault-semantic-search.git
cd vault-semantic-search
# Install dependencies
pip install mcp[cli] fastembed numpy
# Add to Claude Code
claude mcp add vault-semantic-search -- \
bash -c "cd /path/to/vault-semantic-search && PYTHONPATH=src python -m vault_semantic_search.server --vault '/path/to/obsidian/vault'"
# Restart Claude Code, then:
# 1. Run index_vault to build the index
# 2. Use semantic_search to find notes by meaningMCP工具
| 工具 | 参数 | 说明 |
|---|---|---|
index_vault | full (bool,默认值 false) | 为vault建立索引或重新建立索引。默认情况下为增量;集 full=true 从头开始重建。 |
semantic_search | query (str), top_k (int,默认值 10) | 按语义相似性搜索保险库。返回具有源文件、标题、文本预览和相似性得分的匹配块。 |
index_status | -- | 检查索引状态:文件数、块数、数据库大小和活动模型。 |
模型
| 型号 | ID | 尺寸 | 语言 |
|---|---|---|---|
| BGE小中文 | BAAI/bge-small-zh-v1.5 (默认) | ~90 MB | 中文+英文 |
| 多语言E5 | intfloat/multilingual-e5-small | 约470 MB | 100多种语言 |
| BGE小英语 | BAAI/bge-small-en-v1.5 | 约130 MB | 英语 |
切换型号 --model:
python -m vault_semantic_search.server --vault /path/to/vault --model "intfloat/multilingual-e5-small"使用
卡拉克creator 919/克劳德黑曜石 --Claude黑曜石编程技能。这 /recall 技能自动使用 semantic_search 当此MCP服务器可用时。
需求
- Python 3.10+
- Claude 代码命令行工具
