关于 obsidian-vault-search
obsidian-vault-search 是用于检索 Obsidian 库中笔记和任务的 Skill,无需将整个库载入上下文。它根据查询类型选择 Meilisearch、`rg` 或日期感知脚本。
主要功能
- 01容错全文检索
- 02直接搜索内容和元数据
- 03自然语言日期及逾期任务搜索
- 04提取中日韩文字词项
- 05Meilisearch 不可用时回退本地搜索
适用场景
- 01按主题查找拼写有误的笔记
- 02按精确文本、标签或 frontmatter 定位笔记
- 03查找逾期任务或近期笔记
- 04使用中文词语检索库内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ wilbeibi/ wilbeibi-skills --skill obsidian-vault-search安装后在 Claude Code 中输入/obsidian-vault-search确认已加载。
附带文件scripts/meili_search.pyscripts/vault_search.py
详细介绍
obsidian-vault-search
在 Obsidian 知识库中查找 Markdown 笔记和任务,无需将整个知识库加载到上下文中。
路由
- 主题 / 模糊搜索 /“关于 X 的笔记” →
scripts/meili_search.py。对 Meilisearch 索引进行容错全文搜索;适用于用户记不清确切用词的情况。请自行扩展查询中的同义词。 - 精确内容、frontmatter、标签、任务标记 → 直接使用
rg。 - 自然语言日期、逾期比较、CJK 词语提取 →
scripts/vault_search.py。
如果 Meilisearch 无法访问或未配置(脚本以非零状态退出),请回退到第 2–3 层——它们只需要本地知识库。
环境变量:OBSIDIAN_VAULT(知识库根目录)、MEILI_URL(默认值为 http://127.0.0.1:7700)、MEILI_SEARCH_KEY(文件回退路径 ~/meilisearch/search-key.txt)、MEILI_INDEX(默认值为 notes)。
Meilisearch
运行时使用 --help 查看所有标志。切勿将原始命中结果全部导入上下文——请使用 --fields 和较小的 --limit。
uv run scripts/meili_search.py "spaced repetition" --limit 5 --fields "title,path"
uv run scripts/meili_search.py "prompt caching" --filter "tags=ai" --sort "updated:desc" --json
命中的 path 值是相对于知识库的路径(例如 Library/Book Notes/Influence.md);请将其与 $OBSIDIAN_VAULT 拼接后打开。
直接搜索模式
rg "keyword" --glob "*.md" "$OBSIDIAN_VAULT"
rg -lU 'tags:\n(\s*- .*\n)*?\s*- tagname\b' --glob "*.md" "$OBSIDIAN_VAULT" # YAML list tags; prefer meili --filter "tags=tagname" when index is up
rg "created: $(date +%Y-%m)" --glob "*.md" "$OBSIDIAN_VAULT"
rg "^- \[ \].*📅 $(date +%F)" --glob "*.md" "$OBSIDIAN_VAULT"
rg "^- \[ \].*⏫" --glob "*.md" "$OBSIDIAN_VAULT"
日期感知脚本
uv run scripts/vault_search.py "recent week psychology"
uv run scripts/vault_search.py "overdue tasks"
uv run scripts/vault_search.py "找3-2-1技巧" --raw # --raw: plain paths for piping
备注
created: YYYY-MM-DDfrontmatter 用于确定日期;vault_search.py会在缺少该字段时回退到文件修改时间。- 任务标记(Tasks 插件):
📅到期,🛫开始,⏳计划,⏫/🔼/🔽优先级。 - 同义词扩展由 Agent 负责,而非脚本。
评论
支持 Markdown