The Gemini Plugin brings the power of Google's Gemini AI to Obsidian, enhancing note-taking and content creation with intelligent assistance. With the ability to interact directly with the AI based on the content of your active note, users can have context-aware chats and get instant insights. One of its standout features is smart summarization, which generates concise one-sentence summaries of your notes and stores them in the frontmatter, helping you stay organized. For those looking to streamline their writing process, the AI-assisted writing feature allows collaboration with Gemini to refine documents, though it's currently experimental. The plugin is highly customizable, letting you adjust settings like the preferred Gemini model and summarization preferences. Whether you need quick summaries or AI-driven writing assistance, Gemini for Obsidian provides a powerful tool to enhance productivity.
Highlights
- 📂 Projects — scope agent sessions to a folder with custom instructions and tool/skill overrides
- 🧠 Session recall — the agent can search past conversations for relevant context
- 📎 File context shelf — unified drag-and-drop bar replaces the old context panel
- 📝 Diff review view — write and edit operations show a side-by-side diff before applying
- 📦 Bundled skills — built-in help and Obsidian knowledge skills, auto-generated from docs
- 📄 Binary file awareness — agent tools can read images, audio, video, and PDFs directly
- 🏗️ Layered prompt architecture — system prompts refactored into composable Handlebars sections
- ⚡ Strict TypeScript checks — property initialization and unused variable enforcement
Details
This release introduces Projects, letting you scope agent sessions to a folder with custom instructions, permission overrides, and skill filters. Session recall gives the agent memory across conversations — it can search past sessions for relevant context. The new file context shelf replaces the old context panel with a compact drag-and-drop bar that auto-expands folder contents. Write and edit tool calls now show a diff review view so you can inspect changes before they're applied. Bundled skills ship built-in help and Obsidian knowledge that are auto-generated from the docs site at build time. Agent tools can now read binary files (images, audio, PDFs) encountered during tool execution. The prompt system has been refactored into layered Handlebars templates for better maintainability. Under the hood, a new event bus architecture decouples lifecycle hooks, and strict TypeScript checks improve code reliability.
What's Changed
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/415
- chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/416
- chore(deps): bump actions/download-artifact from 4 to 8 by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/417
- chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/418
- chore(deps-dev): bump the dev-dependencies group with 5 updates by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/419
- fix: Align text properly after @file chips in input by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/425
- chore: Enable strict unused checks and improve API key error messaging by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/424
- feat: Add file diff review view for write_file tool by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/432
- fix: Remove tool confirmation timeout (#429) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/433
- fix: Improve frontmatter property formatting guidance by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/434
- fix: Restore previously focused tab when diff view closes by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/438
- feat: Add bundled skills (gemini-scribe-help, obsidian-bases) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/439
- feat: Add binary file awareness for filesystem tools by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/450
- chore(deps-dev): bump @google/genai from 1.45.0 to 1.46.0 in the dev-dependencies group by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/451
- fix: Accumulate streaming tool calls across chunks (#441) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/445
- fix: Clear session title when creating new session by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/452
- fix: Prevent header buttons from overflowing on narrow screens by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/453
- docs: Update model names and add skills/ to folder tree by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/454
- fix: Deprecate gemini-scribe-prompt note frontmatter by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/458
- chore: Remove deprecated v4 migration infrastructure by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/461
- refactor: Centralize folder initialization into FolderInitializer by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/459
- chore(deps): bump picomatch by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/464
- refactor: Extract plugin initialization into LifecycleService by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/462
- chore(deps): bump brace-expansion by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/468
- chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/467
- feat: Track all accessed files in session frontmatter by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/466
- feat: Add ProjectManager for project discovery and parsing by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/469
- feat: Add agent lifecycle event bus with 5 core hooks by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/470
- docs: Add FAQ for Folder Notes plugin conflict by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/471
- feat: Log tool execution summaries to session history by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/472
- fix: read_file returns success with exists:false for missing files by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/481
- fix: Merge sequential tool callouts into single block in session history by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/482
- chore(deps): bump actions/configure-pages from 5 to 6 by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/485
- chore(deps): bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/484
- refactor: Consolidate token tracking into event bus subscribers by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/483
- refactor: Consolidate auto-labeling into turnEnd subscriber with improved titles by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/487
- feat: Add sessionCreated and sessionLoaded lifecycle hooks by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/488
- refactor: Move accessed files tracking to toolChainComplete subscriber by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/489
- refactor: Consolidate history saving — single user save, remove guards by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/490
- refactor: Extract event bus subscribers into dedicated files by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/491
- chore(deps): Update @google/genai, @modelcontextprotocol/sdk, esbuild by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/493
- fix: Skills/ rename, remove File Version, user name in history by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/492
- Fix duplicate user message writes to session history by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/495
- feat: Add session-project linkage with auto-detection by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/494
- feat: Inject project instructions into system prompt by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/497
- feat: Scope discovery tools to project root when active by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/498
- feat: Add project-level skill filtering and permission overrides by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/500
- feat: Add project picker, header badge, and Switch Project command by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/502
- feat: Add project management commands by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/503
- feat: Add recall_sessions tool for contextual session memory by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/504
- docs: Update documentation for all changes since v4.6.0 by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/517
- feat: Add prompt guidance for recall_sessions tool by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/513
- docs: Add FAQ for reusing prompts in Agent mode by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/515
- fix: Replace dynamic import('obsidian') with static import in createProject by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/519
- fix: Allow typing literal @ symbol in agent chat by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/514
- fix: Preserve newlines from Shift+Enter in agent chat input by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/521
- fix: Project auto-detection not working on session creation by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/525
- Add EditSkillTool for updating existing skills by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/531
- feat: Replace get_active_file with get_workspace_state tool by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/532
- Make project resolution async in session recall and agent view by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/533
- feat: Strengthen get_workspace_state prompt guidance for reliable tool usage by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/535
- feat: Unified file context shelf (Milestones 1-2) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/538
- chore(deps): bump turndown from 7.2.2 to 7.2.4 in the production-dependencies group by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/543
- feat: Binary file support in @ mention picker (Milestone 3) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/539
- feat: Remove context panel, simplify header (Milestone 4) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/540
- feat: Shelf animations and keyboard accessibility (Milestone 5) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/541
- chore(deps-dev): bump the dev-dependencies group across 1 directory with 5 updates by @dependabot[bot] in https://github.com/allenhutchison/obsidian-gemini/pull/544
- fix: Re-expand folder shelf items on each turn for new files (#127) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/547
- Fix async cleanup, session recall, and tool execution logging by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/545
- docs: Add Cost & Billing section to FAQ by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/548
- docs: Clarify project is a stable property of the session by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/550
- chore: Standardize prompt template extensions on .hbs (#496) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/551
- feat: Add gemini-api-dev agent skill by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/553
- fix: Preserve dot-separated names in MCP tool identifiers by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/554
- refactor: Move prompt text injection into Handlebars templates (#496) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/552
- feat: Show diff view for append_content, create_skill, edit_skill (#501) by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/555
- fix: Add missing getProgressDescription to SearchFileContentsTool by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/558
- docs: Update documentation for v4.6.0 features by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/561
- Allow ReadFileTool to access agent session history files by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/563
- fix: Add missing projects and loop-detection docs to help skill by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/559
- fix: Set docs build target to es2022 for VitePress compatibility by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/565
- Use local timezone for date/timestamp formatting by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/566
- chore: Auto-generate bundled help skill references from docs/ at build time by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/562
- Enable line wrapping in Gemini diff editor view by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/567
- Remove setupInitCommand from VaultAnalyzer by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/569
- Enhance session memory with proactive recall guidance by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/568
- Enable strict TypeScript property initialization checks by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/570
- Refactor system prompt architecture into layered sections by @allenhutchison in https://github.com/allenhutchison/obsidian-gemini/pull/571
Full Changelog: https://github.com/allenhutchison/obsidian-gemini/compare/4.6.0…4.7.0