An LLM-based plugin for Obsidian that helps you find connections between your notes using AI-powered analysis.
This plugin implements RAG search on all your obsidian notes to find related notes. Then it uses LLMs to help build connections between new notes and existing notes. The LLM also provides editorical suggestions to improve your writing.
- Clone this repo.
- Make sure your NodeJS is at least v16 (
node --version). npm ioryarnto install dependencies.npm run devto start compilation in watch mode.
This plugin requires a GitHub API key to access GitHub AI models.
- Go to GitHub Settings > Developer settings > Personal access tokens
- Click "Generate new token (classic)"
- Give it a descriptive name
- Select the necessary scopes for GitHub AI models
- Copy the generated token (it starts with
ghp_)
Security Note: Never commit your API key to version control. The .env file is already excluded from git tracking.
- Enable the plugin in Obsidian settings
- Go to the plugin settings tab
- Enter your GitHub API key in the "GitHub API Key" field
- Optionally customize the model settings:
- Embedding Model: The embedding model to use (default:
openai/text-embedding-3-small) - LLM Model: The language model for text generation (default:
gpt-4o-mini) - Model URL: The base URL for the AI model API (default:
https://models.github.ai/inference)
- Embedding Model: The embedding model to use (default:
- Copy over
main.js,styles.css,manifest.jsonto your vaultVaultFolder/.obsidian/plugins/notebud/.
-
The plugin first generates embeddings for all of your notes and stores them in a vector store.
-
When you ask the plugin to generate suggestions for the currently open file, it:
-
Generates embeddings for the open file
-
Performs a similarity search to find the 10 most semantically related document chunks
-
Passes the open file and the retrieved document chunks to an LLM
-
Prompts the LLM to identify three meaningful connections between the open file and the related documents
- The plugin then displays the LLM’s response to the user.