语义搜索服务

vault-semantic-search是一个本地语义搜索MCP服务器,专为Obsidian vaults设计,支持中英文语义搜索,通过SQLite存储索引,无需外部服务。

  • by kalawcreator919
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kalawcreator919/vault-semantic-search

使用说明

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 meaning

MCP工具

工具 参数 说明
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服务器可用时。

需求

许可证

麻省理工学院