Skip to main content

Vault Retriever - Obsidian 知识库智能检索服务

Project description

Vault Retriever

PyPI Python License

Obsidian 知识库智能检索服务,为 AI 提供语义搜索和知识图谱分析能力。

特性

  • 混合检索:BM25 关键词 + 向量语义 + RRF 融合 + PageRank 加权
  • 轻量高效:mmap 索引加载,内存占用 ~300MB
  • 后台索引:启动不阻塞,增量更新
  • 零配置:开箱即用

安装

uv tool install vault-retriever --python 3.12

工具列表

工具 说明
vault_search 智能搜索笔记,融合关键词+语义+PageRank
vault_read 读取笔记完整内容
vault_list 列出笔记,支持目录过滤和最近修改筛选
vault_links 获取笔记的反向链接和出链关系
vault_tags 获取标签统计或按标签查找笔记
vault_related 查找语义相似的相关笔记

使用

Vault 路径配置

优先级:--vault 参数 > OBSIDIAN_VAULT_PATH 环境变量 > 当前目录

# 命令行参数
vault-retriever --vault /path/to/vault

# 环境变量
export OBSIDIAN_VAULT_PATH=/path/to/vault
vault-retriever

Claude Code 配置

命令行添加:

claude mcp add vault-retriever \
  -e OBSIDIAN_VAULT_PATH=/path/to/vault \
  -- vault-retriever

项目 .mcp.json(放在 vault 目录下):

{
  "mcpServers": {
    "vault-retriever": {
      "type": "stdio",
      "command": "vault-retriever",
      "env": {
        "OBSIDIAN_VAULT_PATH": "${PWD}"
      }
    }
  }
}

索引机制

  • 启动时后台初始化(不阻塞主线程)
  • BM25 索引使用 mmap 加载,内存高效
  • 向量索引使用 LanceDB 持久化
  • PageRank 图谱缓存到磁盘
  • 每 10 分钟检查文件变动,增量更新

配置

在 vault 目录下创建 .obsidian/vault-retriever.json

{
  "embedding_model": "BAAI/bge-small-zh-v1.5",
  "index_interval": 600
}
  • embedding_model: 向量模型(默认 bge-small-zh-v1.5)
  • index_interval: 索引更新间隔秒数(默认 600)

开发

git clone https://github.com/chyax98/vault-retriever.git
cd vault-retriever
uv sync
uv run vault-retriever --vault /path/to/vault

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vault_retriever-1.0.0.tar.gz (126.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vault_retriever-1.0.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file vault_retriever-1.0.0.tar.gz.

File metadata

  • Download URL: vault_retriever-1.0.0.tar.gz
  • Upload date:
  • Size: 126.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vault_retriever-1.0.0.tar.gz
Algorithm Hash digest
SHA256 abff3a108e1b0d3767353fe1f8509fbb5b7f26dfa481a6b31e9be9aa85c0fc27
MD5 444b84df98140c34c9c96739f15166e9
BLAKE2b-256 3eb1880af9868b892554860008a378cef22d001a7ebceb1a769d6d8bb39de886

See more details on using hashes here.

File details

Details for the file vault_retriever-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: vault_retriever-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vault_retriever-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb0647e983ff75b2537ffd4340b73a7f9083236836175c1c6dab9e07c9e9b9b5
MD5 cc76fd8e7763f0c510051c43481728d0
BLAKE2b-256 eea214719299d768ee50b0ad15de6113f3c77702c7678930dcc761258e35f1df

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page