Gemini Obsidian Extension plugin

A Gemini CLI extension that connects an Obsidian vault: semantic search, link graph, daily notes and section edits.

  • 102 ★ on the repository
  • Last commit
  • ISC
Plugin

Extended access

Why this level

  • The extension creates, moves and edits notes in the vault and reads terminal session logs.
  • First indexing loads the CPU and writes a local index into the home folder.
All reasons and checks

thoreinstein/gemini-obsidian

Install

Works in

Manual install

gemini extensions install https://github.com/thoreinstein/gemini-obsidian

The first install command from the README. Run `npm install` in the extension directory afterwards.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The extension creates, moves and edits notes in the vault and reads terminal session logs.
  • First indexing loads the CPU and writes a local index into the home folder.

This is third-party code. Review the repository files before installing.

What it does

A Gemini CLI extension that gives the agent access to a local Obsidian vault. The agent reads, searches, creates and moves notes and edits frontmatter and individual sections. Semantic search builds a local LanceDB index and answers questions about your notes. The knowledge graph is covered by backlinks, outgoing links and a broken-wikilink audit. The daily note takes timestamped entries under a chosen heading. The package ships the slash commands `/obsidian:daily`, `/obsidian:recap`, `/obsidian:ask`, `/obsidian:search` and `/obsidian:index`, plus the skills `compound`, `moc-update` and `link-audit`.

Who it is for. Gemini CLI users who keep notes in Obsidian and want to query the vault with an agent and feed the daily note from the terminal.

Good fit when

  • A question about accumulated notes such as "what did I write about React".
  • Terminal session recaps go into the daily note through `/obsidian:recap`.
  • The vault has grown and it is time to find broken wikilinks and orphan notes.
  • Frontmatter of dozens of notes is updated in a batch.

Not a fit when

  • You work in Claude Code or Cursor: the extension is built for Gemini CLI.
  • The vault has no `.obsidian` folder: only an existing vault path is accepted.
  • Tokens or passwords were pasted into terminal sessions that day: `obsidian_harvest_cli_sessions` pulls your prompts into the model context.

Example request

`/obsidian:ask "What did I learn about React?"` and list the notes the answer relies on.

Limitations

Node.js 18 or newer and a manual `npm install` in the extension directory are required: without it semantic search fails with an error about `@lancedb/lancedb`. First indexing of a large vault is slow: 957 notes took about 11 minutes with nearly four CPU cores busy. The index lives in `~/.gemini-obsidian-lancedb` and the vault path in `~/.gemini-obsidian.config.json`. The harvest tool does not read legacy `.json` Gemini CLI sessions.

How to disable. Remove the extension through Gemini CLI extension management or delete `~/.gemini/extensions/gemini-obsidian`. Delete the `~/.gemini-obsidian-lancedb` index and the `~/.gemini-obsidian.config.json` file by hand.

FAQ

How do I install the Obsidian extension for Gemini CLI?

Run `gemini extensions install https://github.com/thoreinstein/gemini-obsidian`, then `npm install` in `~/.gemini/extensions/gemini-obsidian`. Without the second step the native semantic-search dependencies are missing.

How do I set the vault path?

Set the `OBSIDIAN_VAULT_PATH` variable or wait for the first call: the agent asks for the path and calls `obsidian_set_vault`. The path must point to a folder containing `.obsidian`.

How do I speed up indexing a large vault?

Run `node dist/index.js obsidian_rag_index` from the extension directory outside a chat and tune `GEMINI_OBSIDIAN_EMBED_BATCH_SIZE` and `GEMINI_OBSIDIAN_TARGET_CHUNK_CHARS`. Larger chunks speed things up but reduce retrieval granularity.

Which slash commands does the extension include?

`/obsidian:daily` opens the daily note, `/obsidian:recap` gathers session recaps, `/obsidian:ask` answers from the vault, `/obsidian:search` searches by name and text and `/obsidian:index` rebuilds the index.

Where is the semantic search index stored?

In `~/.gemini-obsidian-lancedb`. If the index gets corrupted, delete the folder: the next `/obsidian:index` or `obsidian_rag_index` recreates it.

Discussion

No questions or reviews yet.

Plugins

An Obsidian vault with skills for work meetings: Gmail transcripts, participants, follow-up tasks and weekly recaps.

SkillExtended access165Repository stars

Obsidian Hybrid Search

obsidian-hybrid-search

Local Obsidian vault search: agents find notes by meaning, words, tags and links through MCP, CLI or a plugin.

MCP serverExtended access124Repository stars

A CLI that builds a local notes index with catalyst questions so the agent finds material faster than plain grep search

CLIExtended access157Repository stars
Needs a VPN

A Gemini CLI extension for working with Google Docs, Sheets, Slides, Gmail, Chat, Calendar and Drive from the terminal

PluginBroad access650Repository stars

An Obsidian vault template with hooks, commands and skills that gives Claude Code, Codex and Gemini CLI persistent memory across sessions

PluginExtended access5.5KRepository stars

An Obsidian plugin that runs Claude Code, Codex and other agents via the Agent Client Protocol right inside your notes vault

PluginBroad access2.5KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Gemini Obsidian Extension (this card)no102
Obsidian MCPnonot required751an MCP server for vault files; this is a Gemini CLI extension with a semantic index and slash commands
Obsidian skillsno52,183skills about Obsidian formats; this one adds working tools for reading, searching and writing notes

README in short

The extension combines search, link graph, note management and journaling. For the first indexing of a large vault the author recommends a separate terminal run. Extension errors go to stderr because it runs as an MCP server.

README badge

Report a problem