Omahub
← All plugins
B

Obsidian Search

by Bibek Bhusal

Search and open Obsidian notes from the Omarchy shell with fuzzy ranking, plus bases and canvas support and creating a new note when nothing matches.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
de394fe
Scanned
1 day ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
de394fe
Reviewed
1 day ago

The plugin is a straightforward Obsidian vault search overlay: it lists vault files with fd/python3, ranks them client-side, and opens or creates notes. The helper scripts include careful path-containment checks and avoid shell interpolation for user-controlled paths, and no obfuscated or destructive behavior was found. The deterministic scan found no issues, and the manual review agrees.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/BibekBhusal0/omarchy-obsidian-search --enable
Productivity #quickshell #launcher

Omarchy Shell Plugin for Obsidian Search

A beautiful Obsidian vault search menu. Type to filter notes with fuzzy ranking, open one with Enter, or create a new note when nothing matches.

Obsidian Search preview

Features

  • Fuzzy search across your vault, ranked by relevance
  • Search by frontmatter aliases, with the full file name always shown
  • Daily notes included, resolved from your daily-notes settings
  • Today's daily note pinned on top, opened or created with one Enter
  • Support for bases and canvas files as well
  • Create a missing note directly from the menu
  • Open notes in Obsidian, omawrite, Neovim, or any command you configure

Requirements

  • Omarchy quattro
  • Obsidian
  • fd, jq, and python3 (preinstalled on Omarchy)

Install

omarchy plugin add https://github.com/BibekBhusal0/omarchy-obsidian-search.git --enable

Demo

Obsidian search Demo

Usage

Bind the menu to a key (~/.config/hypr/bindings.lua):

o.bind("SUPER", "O", "exec, omarchy-shell shell summon bibek.obsidian-search")

Type to filter, Enter opens the selected note, Escape closes. A query that matches nothing creates query.md in the vault root. With an empty query the first row is always today's daily note, opened via Obsidian's obsidian://daily URI (it creates the note when missing). Typing daily or today keeps that row pinned on top.

Shortcuts: Up/Down, Ctrl+K/Ctrl+J, or Ctrl+P/Ctrl+N to move, PageUp/PageDown to jump, Enter to open with the configured opener. Alt+O to force-open the selected note in Obsidian, Alt+W to open it in omawrite, Alt+N to open it in Neovim.

Where notes open

Regular notes open in your configured opener (Obsidian by default). Everything else always opens in Obsidian:

  • Today's daily note and daily-note files
  • Canvas files
  • Bases
  • Templates

So Alt+W and Alt+N only change anything for regular notes. Creating a missing note also follows the opener: Obsidian creates it for you by default, while an external opener gets an empty file created first and then opened in that app.

Configuration

The vault is auto-detected from ~/.config/obsidian/obsidian.json by default. Daily notes are shown by default: the plugin reads the daily folder from .obsidian/daily-notes.json (or the periodic-notes plugin when it manages daily notes), and only hides that exact folder when you opt out. The today's-note pin needs the daily-notes (or periodic-notes daily) plugin enabled in the vault; it opens via obsidian://daily, so no filename or folder setup is needed for it.

Override settings in ~/.config/omarchy/obsidian-search.json (watched live, so edits apply instantly and re-list the vault):

{
  "vaultPath": "/path/to/your/vault",
  "showDailyNotes": true,
  "showTemplates": false,
  "opener": "obsidian"
}
  • vaultPath: vault directory. Defaults to the first vault in the Obsidian config.
  • showDailyNotes: show daily notes in results. Default true. Today's-note pin is always shown regardless.
  • showTemplates: also list files under the templates folder. Default false.
  • opener: how notes open with Enter. Default "obsidian". Use "omawrite" to edit in omawrite, "neovim" (or "nvim") to edit in Neovim inside a terminal, or any other command that takes a file path (for example "code" or "xdg-open").

Uninstall

omarchy plugin remove bibek.obsidian-search

Credits

Fuzzy matching uses FuzzySearch.js, adapted from omarchy-raindrop-bookmarks by Trevor Ramey, licensed under the MIT License.

This plugin is licensed under the MIT License.

Others

Here are my other Omarchy plugins:

  • Focusd - pomodoro timer with streak, history and daily goal
  • Readest - fuzzy-search your Readest library
  • Youtube Video Downloader - video downloads with progress and history
  • Better Lock - lock screen with date/time, media and power controls
  • Better Media - MPRIS now-playing with playback controls
  • Better Menu - fuzzy menu with app grid, calculator and web search

Please give a star if you find them useful!