{"id":44021188,"url":"https://github.com/thoreinstein/gemini-obsidian","last_synced_at":"2026-02-10T19:01:51.433Z","repository":{"id":336501696,"uuid":"1149299750","full_name":"thoreinstein/gemini-obsidian","owner":"thoreinstein","description":"A Gemini CLI extension for interfacing with an Obsidian vault with local first RAG capabilities","archived":false,"fork":false,"pushed_at":"2026-02-08T19:44:52.000Z","size":6791,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-09T20:01:48.144Z","etag":null,"topics":["gemini-cli","gemini-cli-extensions","gemini-extensions","obsidian-md"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoreinstein.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-04T00:34:43.000Z","updated_at":"2026-02-08T23:33:27.000Z","dependencies_parsed_at":"2026-02-09T18:00:33.917Z","dependency_job_id":null,"html_url":"https://github.com/thoreinstein/gemini-obsidian","commit_stats":null,"previous_names":["thoreinstein/gemini-obsidian"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/thoreinstein/gemini-obsidian","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoreinstein%2Fgemini-obsidian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoreinstein%2Fgemini-obsidian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoreinstein%2Fgemini-obsidian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoreinstein%2Fgemini-obsidian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoreinstein","download_url":"https://codeload.github.com/thoreinstein/gemini-obsidian/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoreinstein%2Fgemini-obsidian/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29312954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-10T17:48:59.043Z","status":"ssl_error","status_checked_at":"2026-02-10T17:45:37.240Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gemini-cli","gemini-cli-extensions","gemini-extensions","obsidian-md"],"created_at":"2026-02-07T16:34:17.100Z","updated_at":"2026-02-10T19:01:51.388Z","avatar_url":"https://github.com/thoreinstein.png","language":"JavaScript","readme":"# Gemini Obsidian Extension\n\nThis is a powerful [Gemini CLI](https://github.com/google/gemini-cli) extension that integrates your **Obsidian Vault** directly into your AI workflow. It transforms Gemini into a \"Second Brain\" assistant capable of reading, searching, connecting, and managing your notes.\n\n## Features\n\n- **🧠 Semantic Search (RAG)**: Ask natural language questions about your notes. The extension indexes your vault using embeddings (via LanceDB) to find relevant context.\n- **🕸️ Graph Traversal**: Navigate your knowledge graph. Find backlinks (`[[linked from]]`) and outgoing links to surf your ideas.\n- **📝 Smart Journaling**: Fetch today's daily note or append logs to specific headings (e.g., `## Work Log`) with timestamps.\n- **⚡ Management**: Create, move, rename notes, and safely update YAML frontmatter without breaking formatting.\n- **🔍 Fuzzy Search**: Quickly find files by name or content.\n\n## Demo\n\n![demo.gif](docs/demo.gif)\n\n## Prerequisites\n\n- **Node.js**: v18 or higher.\n- **Gemini CLI**: The host application for this extension.\n- **Obsidian Vault**: A local folder containing your markdown notes.\n\n## Installation\n\n1. **Install via Gemini CLI**:\n   ```sh\n   gemini extensions install https://github.com/thoreinstein/gemini-obsidian\n   ```\n\n2. **Install Native Dependencies**:\n   This extension requires native binaries for semantic search. You **must** run `npm install` inside the extension directory:\n   ```sh\n   cd ~/.gemini/extensions/gemini-obsidian \u0026\u0026 npm install\n   ```\n\n## Configuration\n\nThe extension needs to know where your Obsidian vault is located.\n\n**Option 1: Environment Variable**\nSet `OBSIDIAN_VAULT_PATH` in your shell profile:\n```bash\nexport OBSIDIAN_VAULT_PATH=\"/Users/you/Documents/MyVault\"\n```\n\n**Option 2: Runtime Configuration**\nThe first time you use a tool, gemini will ask to set `vault_path`. It will be cached in `~/.gemini-obsidian.config.json`.\n\n## Data Storage \u0026 Troubleshooting\n\n- **Vector Index**: The semantic search index is stored locally in `~/.gemini-obsidian-lancedb`.\n- **Module Not Found Error**: If you see an error like `Cannot find module '@lancedb/lancedb'`, it means the native dependencies were not installed. Run `npm install` in the extension directory as shown in the Installation section.\n- **Cache Reset**: If you suspect the index is corrupted or want a fresh start, you can manually delete the `~/.gemini-obsidian-lancedb` folder. The next time you run `/obsidian:index` or `obsidian_rag_index`, it will be recreated.\n- **Logs**: If you encounter issues, check the extension logs. Since this runs as an MCP server, errors are typically output to stderr.\n\n## Commands\n\nThe extension comes with pre-configured slash commands for common workflows:\n\n| Command | Description |\n| :--- | :--- |\n| `/obsidian:daily` | Retrieve today's daily note, summarize tasks, and ask for updates. |\n| `/obsidian:ask` | Ask a question to your vault using RAG (e.g., `/obsidian:ask \"What did I learn about React?\"`). |\n| `/obsidian:search` | Fuzzy search for files by name or content. |\n| `/obsidian:index` | Trigger a manual re-index of the vault for semantic search. |\n\n## Available Tools\n\nThe following tools are exposed to the Gemini agent:\n\n### Retrieval \u0026 Search\n- `obsidian_rag_index`: Index the vault for semantic search.\n- `obsidian_rag_query`: Perform a semantic search query.\n- `obsidian_search_notes`: Simple text/filename search.\n- `obsidian_list_notes`: List files in a folder.\n- `obsidian_read_note`: Read the full content of a note.\n\n### Graph \u0026 Connections\n- `obsidian_get_backlinks`: Find all notes that link TO a specific note.\n- `obsidian_get_links`: Find all notes linked FROM a specific note.\n\n### Management \u0026 Journaling\n- `obsidian_create_note`: Create a new markdown note.\n- `obsidian_append_note`: Append text to the end of a note.\n- `obsidian_append_daily_log`: Append text to a specific heading (e.g., \"Log\") in today's daily note with a timestamp.\n- `obsidian_move_note`: Rename or move a note.\n- `obsidian_update_frontmatter`: Safely update YAML frontmatter keys.\n- `obsidian_get_daily_note`: Get or create today's daily note.\n\n## Development\n\n```bash\n# Build changes\nnpm run build\n\n# Watch mode\nnpm run watch\n```\n\n## License\n\nISC\n","funding_links":[],"categories":["3rd-Party Services"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthoreinstein%2Fgemini-obsidian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthoreinstein%2Fgemini-obsidian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthoreinstein%2Fgemini-obsidian/lists"}