SuperAPI AI 工具集

obsidian-vault-search

写作与研究

查看项目

更新于 10-16 02:27

技能介绍

用途:在 Obsidian 库中查找 Markdown 笔记与任务,同时避免把整个库读入上下文。

路由方式:主题、模糊或“关于 X 的笔记”类查询走 scripts/meili_search.py,基于 Meilisearch 索引做容错全文搜索,适合记不清确切用词的情况,同义词扩展由使用者自行在多次查询中完成;精确内容、frontmatter、标签、任务符号直接用 rg;自然语言日期、逾期比较、中日韩文词提取走 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 匹配 YAML 列表标签、按月份匹配 created、按日期或优先级符号匹配任务,例如: rg "created: $(date +%Y-%m)" --glob ".md" "$OBSIDIAN_VAULT" rg "^- [ ].📅 $(date +%F)" --glob ".md" "$OBSIDIAN_VAULT" 索引可用时,标签查询优先用 meili --filter "tags=tagname"。

日期脚本用法: 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 输出纯路径便于管道处理。

注意事项:created: YYYY-MM-DD frontmatter 决定日期,vault_search.py 在缺失时回退到文件修改时间;任务符号遵循 Tasks 插件,📅 截止、🛫 开始、⏳ 计划、⏫/🔼/🔽 优先级。同义词扩展是使用者(智能体)的职责,脚本不负责。