brianpetro / obsidian-smart-connections

Chat with your notes & see links to related content with AI embeddings. Use local models or 100+ via APIs like Claude, Gemini, ChatGPT & Llama 3
https://smartconnections.app
GNU General Public License v3.0
2.82k stars 185 forks source link
chatgpt claude embeddings gemini llama3 obsidian obsidian-plugin

🧩 Smart Connections: AI-Powered Note Connections v2.1

Spend less time linking, tagging and organizing because Smart Connections finds relevant notes so you don't have to!

[!TIP] Join the next Lean Coffee session to discuss future features & improvements.

Hey there, I'm Brian, the mind behind Smart Connections (still human, at this point 🤪). I laugh at my own jokes, like to use emojis, and think about thinking.

Smart Connections is a mission-driven software that's funded by users. Smart Connections is designed by an individual to enhance individual abilities so you can reach your goals and realize your visions for the future with software that's aligned with you. Follow @wfhbrian for feature sneak peeks and other updates about the process of developing Smart Connections.

Easy to install and use

[!NOTE] Documentation site coming soon at docs.smartconnections.app. Contribute to the docs here.

A brief history

The journey of Smart Connections is one I directly share with you. Smart Connections isn't just about some new features in Obsidian; it's a reflection of our shared experiences, your invaluable feedback, and a testament to what we can achieve together in the Obsidian community. A journey that's been both exhilarating and profoundly educational.

Obsidian wasn't my first attempt at trying to manage and make sense of my notes. And in late 2022, like what has happened with all of my past attempts, the system I had built in Obsidian was beginning to fall apart. There were too many notes and I didn't having enough time to organize, link, tag, and otherwise manage them properly.

Smart Connections started as way for me to keep track of my thousands of notes, prevent rework, and make new connections by showing relevant notes/excerpts alongside whatever note I was currently working on via the Smart View.

Soon after its initial release, the community recognized the opportunity for Smart Chat, so you can now chat with your notes, using the same technology behind the Smart View.

From there, the Smart Connections community has continued playing a major part in its progress, from testing early-release versions, coming up with ideas for new features, solving issues, and enabling me with the resources necessary to spend more time building software that enables individuals with AI!

Mission

Smart Connections is about more than technology; it's about community, collaboration, and the shared journey of enhancing our note-taking experiences. Here's a brief look at the motivation behind Smart Connections, followed by heartfelt testimonials from our users.

The Smart Connections mission is making AI technology for individuals, emphasizing accessibility, and fostering a community-driven development. Unlike many tools that prioritize corporate interests, Smart Connections is a testament to the power of open-source, user-supported software in making advanced technology accessible to everyone.

Open-source has been around for a long time. Still, over the past decade, the primary beneficiary of open source has shifted away from individuals and toward corporate interests. This shift can be seen by looking at the many VC-funded "open-source" projects.

In contrast, Smart Connections is designed for individuals, emphasizing accessibility for the less technical, and is funded directly by users.

"I believe that open-source software that serves individuals directly, like Smart Connections, is one of the best ways we can ensure equitable access to AI-provided opportunities." 🌴 Brian

Discover Smart Connections

Smart Connections goes beyond just being a plugin; it's a bridge that connects your thoughts, notes, and insights in Obsidian, making your information management seamless and intuitive. Let's explore what makes Smart Connections stand out:

Smart View: AI-Powered Note Discovery

The Smart View feature dynamically offers real-time suggestions of related notes, based on your current activity. It uses AI embeddings to surface relevant notes based on your current context. This not only enhances your creativity but also significantly improves your productivity by illuminating connections you might not have seen.

Smart View demo showing that the most relevant notes are shown at the top based on the current note.

Smart Chat: AI Conversations Based on Your Notes

Transform your note-taking with Smart Chat. This feature allows you to have dynamic conversations with your notes, powered by the latest AI technology. Whether you're brainstorming, seeking information, or exploring your notes in new ways, Smart Chat makes it possible.

Demo showing how Smart Chat can answer the question "Who am I?" based on the notes in Obsidian

AI chat models available in the Smart Chat are listed below.

User Testimonials

Hearing from those who use Smart Connections brings to life the impact it has on individuals' workflows and creativity.

Here's what some of them have to say:

More nice things about Smart Connections 😊 - "Smart Connections is truly the best new plugin of the year. Please keep it up!" - Larry - "Brian, you've done a great job. Smart Connections is the best Obsidian plugin ever." - Es - "I really do love the app. It saved me from having to buy Mems and stick with Obsidian." - Greg - "Thanks for making Smart Connections. I use it every day and it has completely changed the game." - Joe - "I am glad to see your updates on smart connections in the new year. Thank you for your selfless contribution." - 嘿然笑道 - "Love this app! V2 looks to have an awesome feature as well. Keep up the great work." - Austin - "I wanted to show my support for Smart Connections and would love to not only get early access to Version 2.0, but help out wherever I can. Thanks!!" - Danny - "Great plugin, use it as my standard right pane." - Guenter - "I believe it one of the best plugin for Obsidian!" - Viktor - "Thank you for the great plugin. I definitely had to vote for it :)" - Marc - "Good luck and great work on the plugin so far!" - Harpreet - "Thank you again for your amazing plugin." - Eduardo - "Hey, thanks for a great app." - Robert - "Smart Connections is a really great program, and I am looking forward to working with v2.0." - Jarrett - "Keep up the great work ♡" - Duke - "Such an amazing plug-in. Thanks for supercharging my notes!" - Simon - "Thank you for the plugin! It looks very promising, I am still exploring it." - Damien - "Big thanks to you for creating such a slick tool. Excited to see where it goes!" - Khael - "Thank you for this amazing tool!" - Pablo - "Keep up the good work :-)" - Dorian - "Thanks for your work on Smart Connections. Excited for v2" - Eli - "Absolutely love what you're doing here and I can't wait to see how this plugin continues to grow over the next year!" - Ryan - "You're crushing it!" - Chad - "Way to go, Brian. Smart Connections Rocks!" - Arne - "Tks a lot for the effort you put in this tool!" - Marcelo - "Thanks for a great plug-in BTW." - Ali - "Thanks for the plugin ! It really helps in my work :)" - Jordan - "I am just discovering it, but enjoying it so far!" - Nick - "Thank you for all your work on Smart Connections." - Ed - "In my top 3 of the most useful plugins." - Mickaël - "Thank you for your hard work. - from South Korea" - 오송인 - ["I love this extension so much. So many potential features by the way."](https://github.com/brianpetro/obsidian-smart-connections/issues/48#issuecomment-1459929611:~:text=I%20love%20this%20extension%0Aso%20much.%20So%20many%20potential%20features%20by%20the%20way.) - ["This plugin is fantastic"](https://github.com/brianpetro/obsidian-smart-connections/issues/47#:~:text=This%20plugin%20is%20fantastic) - ["This is a terrific idea"](https://github.com/brianpetro/obsidian-smart-connections/issues/54#:~:text=This%20is%20a%20terrific%20idea) - ["This plugins could be a Game changer!"](https://github.com/brianpetro/obsidian-smart-connections/issues/54#:~:text=This%20plugins%20could%20be%20a%20Game%20changer!) - ["I personally love the app"](https://old.reddit.com/r/ObsidianMD/comments/11s0oxb/chat_with_your_notes_now_available_in_the_smart/jcd73y8/?context=3#:~:text=I%20personally%20love%20the%20app) - ["This app is such a game changer"](https://github.com/brianpetro/obsidian-smart-connections/discussions/203#discussioncomment-5854265:~:text=This%20app%20is%20such%20a%20game%20changer.) - ["Absolutely LOVE this plugin"](https://github.com/brianpetro/obsidian-smart-connections/issues/202#issue-1702708828:~:text=Absolutely%20LOVE%20this%20plugin.) - ["Smart-connections is a fantastic plugin"](https://github.com/brianpetro/obsidian-smart-connections/issues/280#issuecomment-1630047763:~:text=Smart%2Dconnections%20is%20a%20fantastic%20plugin) - ["Hi, amazing plugin! 🔥"](https://github.com/brianpetro/obsidian-smart-connections/issues/57#issuecomment-1488187361:~:text=Hi%2C%20amazing%20plugin,%F0%9F%94%A5) - ["Absolutely mind blowing"](https://twitter.com/micka_dore/status/1641527570867822615?s=20) - ["I love this plugin"](https://github.com/brianpetro/obsidian-smart-connections/issues/496#issuecomment-1996755512:~:text=interest%20of%20course.-,I%20love%20this%20plugin,-.) - ["Now it serves me as a way to brainstorm potential connections, and I have seen major improvements over the past few months. I especially enjoy using it as part of my book digestion and relation process."](https://old.reddit.com/r/ObsidianMD/comments/11s0oxb/chat_with_your_notes_now_available_in_the_smart/jcczwiq/?context=3#:~:text=Now%20it%20serves%20me%20as%20a%20way%20to%20brainstorm%20potential%20connections%2C%20and%20I%20have%20seen%20major%20improvements%20over%20the%20past%20few%20months.%20I%20especially%20enjoy%20using%20it%20as%20part%20of%20my%20book%20digestion%20and%20relation%20process.) - ["this is just such an incredible plugin!"](https://github.com/brianpetro/obsidian-smart-connections/issues/244#issuecomment-1595765101:~:text=this%20is%20just%20such%20an%20incredible%20plugin) - ["Tried it, and it worked as well as I could hope! Thanks for making this."](https://old.reddit.com/r/ObsidianMD/comments/11s0oxb/chat_with_your_notes_now_available_in_the_smart/jcdpwsg/?context=3#:~:text=Tried%20it%2C%20and%20it%20worked%20as%20well%20as%20I%20could%20hope!%20Thanks%20for%20making%20this.) - ["This is an amazing extension."](https://github.com/brianpetro/obsidian-smart-connections/issues/32#issuecomment-1435798970:~:text=This%20is%20an%20amazing%20extension.) - [This is really cool...](https://twitter.com/rcvd_io/status/1638271532932780035?s=20) - ["This is an amazing plugin!"](https://github.com/brianpetro/obsidian-smart-connections/issues/20#:~:text=This%20is%20an%20amazing%20plugin!) - ["With smart connections, by just opening one such note, I can find all the others that reference the concept"](https://discord.com/channels/686053708261228577/694233507500916796/1091167414865109012) - ["Has amazing potential to unlock lots of new info that can be added to your vault"](https://github.com/brianpetro/obsidian-smart-connections/issues/19#issue-1533699525:~:text=has%20amazing%20potential%20to%20unlock%20lots%20of%20new%20info%20that%20can%20be%20added%20to%20your%20vault) - ["Great plugin!"](https://github.com/brianpetro/obsidian-smart-connections/issues/1#issue-1511238131:~:text=Dec%2026%2C%202022-,Great%20plugin!,-My%20request%20is) - ["Loving the plugin so far!"](https://github.com/brianpetro/obsidian-smart-connections/issues/2#issue-1511288845:~:text=Loving%20the%20plugin%20so%20far!) - ["Smart Connections is so cool. I'm noticing similarities between notes that talk about the same thing but don't share any words."](https://discord.com/channels/686053708261228577/694233507500916796/1065057689949982870#:~:text=Smart%20Connections%20plugin%3F%20It%27s%20so%20cool.%20I%27m%20noticing%20similarities%20between%20notes%20that%20talk%20about%20the%20same%20thing%20but%20don%27t%20share%20any%20words.) - ["Thanks for doing this. I love the idea to have OpenAI help look through my notes to find connections"](https://github.com/brianpetro/obsidian-smart-connections/issues/47#issue-1609765217:~:text=Thanks%20for%20doing%20this.%20I%20love%20the%20idea%20to%20have%20OpenAI%20help%20look%20through%20my%20notes%20to%20find%20connections.)

Even more love for Smart Connections 🥰

How it Works

Smart Connections utilizes advanced AI technology to analyze and connect your notes in Obsidian. Here's an overview of how the plugin operates:

Creating embeddings

Limitations

For more detailed information on the plugin's operation, please refer to the features section below.

Easy Installation

Getting started with Smart Connections is easy. Simply install Smart Connections from the Obsidian Community plugins to begin enhancing your Obsidian experience with AI-powered functionalities.

Installing from Obsidian community plugins

Settings

Default settings

Local embedding models

Local embedding models enable leveraging the power of Smart Connections without sending data to any third-party for processing. BGE-micro is a small and reliable local embedding model used by default. This allows Smart Connections Smart View to work out-of-box; no API key, additional software or setup required!

Additional setup

File/folder exclusions

You can exclude specific files or folders from being processed by Smart Connections. This is useful for ignoring irrelevant or sensitive information.

Changing AI models

Smart Connections supports various AI models for both embeddings and chat. You can change these in the plugin settings to suit your needs and preferences.

OpenAI API Key

Features

Smart View

The Smart View provides real-time note suggestions based on your current note.

Demo showing Smart View results changing based on the current note

Accessing notes in the Smart View

Demo showing the fold/unfold feature which displays or hides the content of the notes in the Smart View

Smart View Search

Click the search icon to input a search query.

Smart Chat

Notes are retrieved to and used as context in the conversation when you input a self-referential pronoun like "my" in "Based on my notes..."

ChatMD (new in v2.1)

Chat history is saved as a new note for each conversation.

sc-context codeblock

Companion Plugins

Smart Connections Visualizer

Visualizer This open-source plugin integrates seamlessly with Smart Connections, offering an advanced, interactive way to visualize connections between your notes. The goal is to enhance your ability to discover relationships and insights within your notes more easily, while transforming the way you interact with and understand your information. There will be much more functionality added to this in the near future. Evan Moscoso is the developer behind this plugin.

Watch the Demo

Install Smart Connections Visualizer

File-type Compatibility

Join Our Community

Your involvement is crucial to the evolution of Smart Connections. From troubleshooting issues to adding new features or sharing your unique uses of Smart Connections, every contribution enriches our community and drives the project forward.

There are many ways to contribute to the Smart Connections project, and we value all forms of contributions. Whether you're helping to troubleshoot issues, adding new features, or sharing how you use Smart Connections to inspire others, your support is what makes this project thrive.

Screen recording tools like Loom make it easy to record and share screencasts. If you create on of these screencasts, please share it with the community. I try to re-share this type of content on all of my available channels as much as possible.

Content & Resources

Smart Connections Architecture

Delve into the architecture behind Smart Connections, designed with efficiency and user benefit in mind. Key design principles include:

Troubleshooting Common Issues

Embedding process keeps restarting or is slow

OpenAI API errors

For quickest support, always include screenshots, especially of any errors in the developer console (View -> Toggle Developer Tools). Searching existing issues on GitHub is also recommended for Obsidian plugin problems.

Developers

Testimonials from Smart Connections Supporters 😊 - [I became a Smart Connections supporter because] "I like to support projects that I see have people behind who are authentically giving their creativity and vision. I like that the developers and the maintainers are outspoken about issues and need for improvements. And it is a great plugin." - [I became a Smart Connections supporter because] "I first got into PKM and Obsidian because of the book, "Building A Second Brain." When ChatGPT blew up I thought, "wouldn't this be amazing to train on my notes?" When I stumbled upon Smart Connections I knew this would transform the way I live my life." - [I became a Smart Connections supporter because] The ability to leverage my extensive Obsidian vaults with ChatGPT and the excellent results I have had with version 1.x - [I became a Smart Connections supporter because] Local Embedding and quality interface - [I became a Smart Connections supporter because] The future potential behind Smart Connections - [I became a Smart Connections supporter because] The best integration of gpt to obsidian I've seen. - [I became a Smart Connections supporter because] Smart Connection is awesome - [I became a Smart Connections supporter because] i am finding the obsidian plugin helpful - [I became a Smart Connections supporter because] It's a very useful plugin - [I became a Smart Connections supporter because] I see the potential for the tool and want to support it's expedited development. - [I became a Smart Connections supporter because] it is the best obsidian plugin. - [I became a Smart Connections supporter because] Interested in seeing if this is going to work for my research - [I became a Smart Connections supporter because] Best integration of chatgpt and obsidian hands down - [I became a Smart Connections supporter because] great product; learn about how embedded/fine tuned LLMs work; interact with Brian and other supporters - [I became a Smart Connections supporter because] I really like the plug in and I can't wait to see what's coming! - [I became a Smart Connections supporter because] The possibilities I see with chatgpt and Obsidian together - [I became a Smart Connections supporter because] the capability to be able to talk to my Obsidian Vault. And, also, the ability to be able to connect ChatGPT to my Obsidian Vault. - [I became a Smart Connections supporter because] I want to see where this project goes. I used to have so many Obsidian notes but 'mining' them became too much. I'm hoping to restart my vault and try again. - [I became a Smart Connections supporter because] This software is awesome! - [I became a Smart Connections supporter because] I'd like to fully utilize the ability of ChatGPT to utilize my vault - [I became a Smart Connections supporter because] I value your work and want to support you being able to continue - [I became a Smart Connections supporter because] Great Product Love it, I am a software developer and marketer. Love AI and automation. - [I became a Smart Connections supporter because] I've been meaning to build this myself, and you saved me from it, and did a better job than I could have with my frontend skills. Thank you!!! - [I became a Smart Connections supporter because] want to support development, great tool so fast, esp. the connections! - [I became a Smart Connections supporter because] I think this plugin is following one of the most relevant lines of development of generative AI. It's already one I use the most in Obsidian My app of choice for PKM. So I'm betting on it, also if it lacks a lot o functions right now. - [I became a Smart Connections supporter because] Ability to test Ollama and gratitude for the work being done here. Thank you. - [I became a Smart Connections supporter because] I love the slick UI, integration, and general vision - [I became a Smart Connections supporter because] An amazing tool that could make a real difference in my research and in my life. - [I became a Smart Connections supporter because] I really like the plugin and want to try out whatever you have planned next as soon as possible - [I became a Smart Connections supporter because] To support the project - [I became a Smart Connections supporter because] I use this tool constantly, and thought it was worth supporting. Plus, I'm hoping maybe I can get a change added :D - [I became a Smart Connections supporter because] to access smart chat and bc this seems intresting enough to try but all new to me - [I became a Smart Connections supporter because] PKM can have significant impacts on individuals and society, and the work you are doing is valuable - [I became a Smart Connections supporter because] This is a very interesting project to me and want to support Brian and all of his great work. - [I became a Smart Connections supporter because] Increasing value in my workflows - [I became a Smart Connections supporter because] support the cause - [I became a Smart Connections supporter because] I'm a heavy ChatGPT user and the prospect of having access to my notes from Obsidian is Awesome - [I became a Smart Connections supporter because] It seem interesting and I want full feature to compare between this and Copilot - [I became a Smart Connections supporter because] I want to be able to ask ChatGPT questions about my Obisidan Vault. - [I became a Smart Connections supporter because] Smart Connections is awesome and deserves the support :) Hoping that my contribution will help along the process of shifting fully to local models (also for responses), as they become more capable. Please add local Mistral support for prompt responses. - [I became a Smart Connections supporter because] I am a PhD researcher and I've been using smart connections for my research. Thanks for your efforts building this app! - [I became a Smart Connections supporter because] My love for your work - [I became a Smart Connections supporter because] v1 has been a game changer for me excited to be able to support your project and very thankful for your product - [I became a Smart Connections supporter because] Chat GPT integration: you are the only serious contender in the chat-your-data game for individuals - [I became a Smart Connections supporter because] This is exactly what I want. Originally I planned to spend a few months learning programming and building my own. Now it's already done! - [I became a Smart Connections supporter because] Because I love making Smart Connections! - [I became a Smart Connections supporter because] I would like to integrate a GPT system into my notes - [I became a Smart Connections supporter because] Obsidian integration with OpenAI - [I became a Smart Connections supporter because] I want to converse with the contents of my notes and create newsletters and other content from them. - [I became a Smart Connections supporter because] The quality of your work and the chatGPT integration - [I became a Smart Connections supporter because] To utilize Obsidian's notes in GPT. - [I became a Smart Connections supporter because] I find immense value in AI organizing my scattered brain for me, and I want to support efforts to support this. - [I became a Smart Connections supporter because] Hoping for seamless integration features with Obsidian and the custom GPT - [I became a Smart Connections supporter because] Want to support development

Commercial use

Businesses and other organizations are welcome to use Smart Connections. In the near future, Smart Connections will follow suit with Obsidian and provide a special commercial license for business users.

Meet the Creator

Behind Smart Connections is a vision to transform how we interact with our notes and data. Learn more about Brian, the developer behind Smart Connections, and the journey to creating this innovative tool:


🧩 Smart Connections: AI-Powered Note Connections for Obsidian v1

Ever felt overwhelmed by a growing collection of notes in Obsidian, wondering how to uncover hidden connections and insights? Discover Smart Connections, an AI-powered plugin that transforms your note-taking experience and helps you tap into the full potential of your ideas.

Our goal is to democratize access to AI technology and empower individuals with innovative tools.

Imagine a world where the power of AI is harnessed to amplify the knowledge and insights hidden within your notes, making the entire Obsidian community more interconnected and insightful.

As an Obsidian enthusiast and AI researcher, I experienced firsthand the challenges of managing and connecting a growing vault of notes.

It was during one of these late-night note-sifting sessions that I realized the potential of AI to transform the way we interact with our notes. Driven by this revelation, I dedicated myself to developing Smart Connections, an open-source plugin designed to bring the power of AI to every Obsidian user and unlock the true potential of their ideas.

Introducing Smart Connections, your AI-powered plugin for Obsidian. With features like Smart View for real-time relevant note suggestions and Smart Chat for chatting with your notes, Smart Connections makes it easier than ever to stay organized and uncover hidden connections between your notes. Its intuitive interface and customizable settings ensure a seamless experience, tailored to your unique needs and preferences.

By harnessing the power of AI, Smart Connections elevates your Obsidian workflow to new heights.

Want to be part of the exciting journey of Smart Connections?

We invite you to join the vibrant discussion on GitHub. Share your experiences, ask questions, or suggest new features – your input is invaluable to future of this project. Engaging with our community of Obsidian enthusiasts and AI aficionados is an excellent opportunity to learn from others, explore creative ways to use Smart Connections, and contribute to the continuous improvement of this powerful plugin. Let's work together to shape the future of AI-enhanced note-taking in Obsidian!

Features

Smart Chat: Transform Your Notes into Interactive Conversations

Enhance your note-taking experience with Smart Chat, a plugin that turns your notes into an AI-powered interactive chat. Retrieve information, clarify concepts, and explore ideas by engaging in a conversation with your notes.

How Smart Chat Works

How does Smart Chat retrieve information on my notes?

The Smart Connections plug-in uses a retrieval strategy known as HyDE. Put simply, Smart Connections takes your prompt and uses embeddings to decide the top 20-30 notes in your vault that would provide an accurate response to the question. It then feeds these chosen notes to the OpenAI GPT model as a large, amalgamated prompt and returns an answer based on that information.

If you ask questions on a topic which can be found across more than those 20 or 30 notes, the response may be less comprehensive. It is better to be as specific as possible with your questions, so that the HyDE process can feed only the most relevant notes to the GPT AI.

Chat Features

Coming soon!

Benefits of Smart Chat

Limitations

Smart View

Smart View demo showing that the most relevant notes are shown at the top based on the current note.

Smart View: Dynamic Code Block

The dynamic code block feature allows you to create a dedicated section within your notes for Smart Connections. By labeling this code block as smart-connections, the content within the block will be specifically used to find relevant connections in your vault.

How to Use the Dynamic Code Block

To create a dynamic code block for Smart Connections, follow these steps:

  1. In your Obsidian note, start a new code block by typing three backticks followed by smart-connections.
  2. Press Enter to create a new line, and type the content you want to use for finding Smart Connections. This can include keywords, phrases, or even full sentences that are relevant to the note and its context.
    • If left blank, the plugin will use the entire content of the note. This returns the same results as the default Smart Connections pane (Smart View).
  3. Close the code block by typing three backticks on a new line after your content.

    Section 'block' matching

    • Smart Connections plugin will use 'blocks' of text in your notes to find the most relevant connections.
    • Currently, a 'block' is a section of text that is separated by a heading.
    • For example, if you have a note that contains the following text: # Header 1\nThis is a block of text.\n# Header 2\nThis is another block of text, then the plugin will search for similar blocks of text in addition to making smart connections with similar files.

Highlight to find Smart Connections

How it works

Initial processing

Settings

Settings (Advanced)