mcpField
O
obsidian-vault-search

obsidian-vault-search

github.com/wilbeibi生産性241 回インストール2 日前に更新
リポジトリ

obsidian-vault-search について

obsidian-vault-search は、Vault 全体をコンテキストに読み込まずに Obsidian のノートやタスクを探すスキルです。クエリに応じて Meilisearch、`rg`、日付対応スクリプトを使い分けます。

主な機能

  1. 01誤字に対応した全文検索
  2. 02本文やメタデータの直接検索
  3. 03自然言語による日付・期限切れ検索
  4. 04CJK の語句抽出
  5. 05Meilisearch 不通時のローカル検索

活用シーン

  1. 01誤字を含むトピックからノートを検索
  2. 02本文、タグ、frontmatter でノートを特定
  3. 03期限切れタスクや最近のノートを確認
  4. 04中国語の語句で Vault を検索

インストール

コマンドをコピーしてターミナルで実行します。

$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

Vault 全体をコンテキストに読み込まずに、Obsidian の Vault 内の Markdown ノートやタスクを検索します。

ルーティング

  1. トピック/あいまい検索/「X についてのノート」 → scripts/meili_search.py。Meilisearch インデックスを対象に、タイプミスに強い全文検索を行います。ユーザーが正確な単語を覚えていない場合に最適です。複数のクエリにわたる類義語の展開は自分で行ってください。
  2. 完全一致のコンテンツ、フロントマター、タグ、タスク記号 → rg を直接実行します。
  3. 自然言語の日付、期限超過の比較、CJK の用語抽出 → scripts/vault_search.py。

Meilisearch に接続できない場合、または設定されていない場合(スクリプトがゼロ以外の終了コードを返す場合)は、ローカルの Vault だけで使える 2〜3 の方法にフォールバックしてください。

環境変数:OBSIDIAN_VAULT(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 の値は Vault からの相対パスです(例: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-DD が日付の基準になります。vault_search.py はファイルの更新日時にフォールバックします。
  • タスク記号(Tasks プラグイン):📅 期限、🛫 開始、⏳ 予定、⏫/🔼/🔽 優先度。
  • 類義語の展開はエージェント側で行います。スクリプトでは行いません。

コメント