# Smart Connections - AI-Powered Note Discovery ## What It Does Smart Connections is an Obsidian plugin that uses AI embeddings to automatically find relevant notes, create contextual links, and surface forgotten ideas as you work. It transforms your vault from a static archive into an intelligent system that actively helps you connect and rediscover your knowledge. **Core capability:** Semantic search across your entire vault using local or API-based AI models, with zero manual configuration required. ## How to Use It ### Installation 1. **Open Obsidian Community Plugins:** - Settings β†’ Community plugins β†’ Browse - Search for "Smart Connections" - Click Install, then Enable 2. **Initial Setup (Automatic):** - Plugin immediately begins indexing your vault - Uses local AI model by default (no API key needed) - Works offline from the start 3. **Access Smart Connections:** - **Smart Context panel** - Shows related notes to current file - **Smart Chat** - Ask questions about your vault content - **Quick search** - Semantic search across all notes ### Basic Workflow **1. Smart Context (Sidebar Panel)** While editing any note, the Smart Context panel shows semantically related notes: ``` πŸ“ Current note: "Debugging OAuth Issues.md" πŸ”— Related notes: 1. Canvas API Authentication (0.89 similarity) 2. Student Portal Login Timeout (0.84 similarity) 3. SSO Configuration Guide (0.78 similarity) ``` **Click any result** to open that note. Smart Connections finds these matches based on meaning, not just keyword overlap. **2. Smart Chat (AI Q&A)** Ask questions about your vault: ``` You: "What have I written about authentication problems?" Smart Chat: Based on your notes, you've documented several authentication issues: 1. In "2025-11-09.md", you debugged an OAuth timeout in the SWC portal caused by expired refresh tokens. 2. In "Canvas API Setup.md", you switched from API keys to OAuth for better security. 3. In "Student Portal Troubleshooting.md", you noted login timeouts affecting remote students. Would you like details on any of these? ``` Smart Chat can: - Answer questions using your notes as context - Summarize content across multiple files - Find patterns in your writing - Work with PDFs (drag research papers into chat) **3. Semantic Search** Traditional Obsidian search finds exact text matches. Smart Connections finds semantic matches: **Standard search:** `"authentication error"` β†’ Only notes containing those exact words **Smart Connections search:** Type same query β†’ Finds notes about: - "login failures" - "credential validation issues" - "OAuth troubleshooting" - Any related concepts ### Advanced Features **Inline Decorators (Supporters Feature)** See related notes inline while editing: ```markdown ## Debugging Canvas Integration ... your note content ... πŸ’‘ Related: [[Canvas API Authentication]], [[LMS Setup Guide]] (automatically suggested based on content) ``` **Footer Panel** Quick access to connections without sidebar: ``` ───────────────────────────────────── πŸ”— 5 connections found 1. Canvas API Authentication 2. Student Portal Setup 3. OAuth Configuration ... ``` **Smart Bases (Supporters Feature)** Create specialized knowledge bases within your vault: ``` Bases: β”œβ”€β”€ Teaching Resources (folders: RAT 105/, Lectures/) β”œβ”€β”€ Research Notes (folders: PhD/, NNT Ecosystem/) └── Personal Projects (folders: _Nakul/, Home Actions/) ``` Query specific bases: "Find teaching materials about compression" ## When to Use It ### Use Smart Connections when: **Rediscovering forgotten work:** - "I wrote something about this months ago..." - "Where's that note about X?" - Lost momentum on projects buried in your vault **Making connections:** - Finding related research while writing - Discovering patterns across time-separated notes - Connecting ideas from different domains **Research and synthesis:** - Gathering context for new articles - Finding supporting evidence in past notes - Identifying gaps in your knowledge **Daily journal context:** - "When did I last work on this task?" - "What were my thoughts on X last time?" - Finding recurring themes in daily notes ### Use traditional search when: - Looking for exact phrases or code snippets - Finding specific names, dates, file paths - Fast keyword matching is sufficient ### Best practice: Combine both Use **Smart Connections** for exploratory discovery, **standard search** for precision lookup. ## How It Works ### Embeddings Explained (Simple Version) Smart Connections converts your notes into numerical representations (vectors) that capture semantic meaning: ``` "Debugging authentication issues" β†’ [0.234, -0.156, 0.872, ...] "Troubleshooting login problems" β†’ [0.241, -0.148, 0.865, ...] ↑ Similar vectors = similar meaning ``` When you search or view a note, Smart Connections: 1. Converts your query to a vector 2. Compares it to all note vectors 3. Returns notes with similar vectors (semantically related) **Similarity scores:** Range from 0.0 (unrelated) to 1.0 (identical) - 0.85+ = Highly relevant - 0.70-0.85 = Related - Below 0.70 = Possibly relevant ### Local AI vs API Models **Default: Local AI (Recommended for Privacy)** Uses **transformers.js** in your browser: - βœ… Zero setup, works offline - βœ… Completely private (no data leaves your device) - βœ… Free forever - βœ… Fast after initial model download (~100MB) - ❌ Slightly lower quality than cloud models **Optional: API Models** Connect to OpenAI, Anthropic, or other providers: - βœ… Highest quality embeddings - βœ… Faster initial indexing - ❌ Costs money (typically ~$0.50/year for 10k notes) - ❌ Requires internet - ❌ Data sent to third-party **Optional: Local Ollama** Run larger models locally via Ollama: - βœ… Better quality than transformers.js - βœ… Still completely private - βœ… Supports many model options - ❌ Requires installing Ollama separately - ❌ Needs more disk space and RAM ### Data Storage Smart Connections stores embeddings in: ``` YourVault/.smart-env/ ``` **Important for syncing:** - If using **Obsidian Sync** β†’ No action needed (automatically handled) - If using **third-party sync** (Syncthing, etc.) β†’ Add `.smart-env/` to ignore patterns This prevents sync conflicts and saves bandwidth. ## Where It Appears **1. Settings Panel:** Settings β†’ Community plugins β†’ Smart Connections **Configure:** - Embedding model (local/API) - Folders to include/exclude - Similarity threshold - Chat model preferences **2. Sidebar Panels:** **Right sidebar:** - Smart Context (related notes) - Smart Chat (AI Q&A) **3. Command Palette:** Press `Cmd+P` (Mac) or `Ctrl+P` (Windows), then: - "Smart Connections: Open Smart Chat" - "Smart Connections: Refresh Context" - "Smart Connections: Search" **4. Data Files:** Embeddings stored locally: ``` .smart-env/ β”œβ”€β”€ collections/ # Embedding vectors β”œβ”€β”€ blocks/ # Processed note chunks └── settings.json # Configuration ``` ## Pro Tips ### 1. Exclude Irrelevant Folders **Settings β†’ Smart Connections β†’ Excluded Folders:** Add folders that shouldn't be indexed: - `_templates/` - `_attachments/` - Archive folders - Scratch/temporary notes **Why:** Faster indexing, more relevant results ### 2. Adjust Similarity Threshold **Settings β†’ Minimum Similarity:** - **0.7 (default)** - Balanced results - **0.8+** - Only highly relevant matches (fewer results) - **0.6-** - More exploratory (may include tangential connections) **Tune based on your vault size and density.** ### 3. Use Smart Chat for Research When writing new content: ``` You: Summarize what I know about modal interchange Smart Chat: [Synthesizes content from multiple notes] You: Find examples of tritone substitutions in my song analyses Smart Chat: [Pulls specific examples from annotated songs] ``` **Then click suggested notes** to dive deeper. ### 4. Combine with Dataview Create dashboard notes that mix Dataview queries with Smart Connections: ```markdown # Project Dashboard ## Recent Daily Notes [Dataview query showing last 7 days] ## Related Project Notes [Open Smart Context to see semantic connections] ## AI Insights [Use Smart Chat: "Summarize progress on this project"] ``` ### 5. Smart Bases for Specialized Search If you're a **Community Supporter**, create bases for different contexts: **Use case: Teaching vs Research** ``` Base: Teaching Folders: RAT 105/, RAT 122/, Lectures/, Student Resources/ Query: "compression techniques" β†’ Only searches teaching materials Base: Research Folders: PhD/, NNT Ecosystem/, Literature Notes/ Query: "compression techniques" β†’ Only searches research notes ``` **Prevents mixing contexts** when you need focused results. ### 6. Daily Journal Integration For daily notes with timestamps: ```markdown # 2025-11-09 ## Timeline - 9 AM: Student meeting - 2 PM: Debugged OAuth issue - 4 PM: NNT compiler work ## Notes Today's OAuth issue was similar to... ``` **Smart Context automatically shows:** - Previous days when you worked on OAuth - Related technical notes - Student interaction patterns **No manual linking required.** ### 7. PDF Research Workflow Drag PDFs into Smart Chat: ``` You: [Drag "Music Cognition Research.pdf" into chat] What does this paper say about working memory? Smart Chat: [Analyzes PDF + finds related vault notes] You: Compare this to my notes on cognitive load Smart Chat: [Synthesizes PDF content with your existing notes] ``` **Bridges external research with your knowledge base.** ## Common Issues ### Embeddings Not Updating **Symptom:** New notes don't appear in Smart Context **Solution:** 1. Command Palette β†’ "Smart Connections: Rebuild" 2. Or: Settings β†’ Smart Connections β†’ "Rebuild Index" **Causes:** - Changed embedding model - Corrupted `.smart-env/` data - Sync conflicts (if using third-party sync) ### Slow Performance on Large Vaults **Symptom:** Obsidian lags when Smart Connections is active **Solutions:** 1. **Exclude large folders:** Settings β†’ Excluded Folders 2. **Use API embeddings:** Faster than local models on large vaults 3. **Increase similarity threshold:** Fewer results = faster queries 4. **Split into Smart Bases:** Query subsets of vault instead of everything ### Irrelevant Results **Symptom:** Smart Context shows unrelated notes **Solutions:** 1. **Raise similarity threshold** (Settings β†’ Minimum Similarity β†’ 0.8+) 2. **Check for keyword spam** - Notes with repeated terms may score artificially high 3. **Exclude problematic folders** - Templates, test notes, etc. 4. **Try different embedding model** - Some models handle certain content better ### Sync Conflicts with Third-Party Services **Symptom:** `.smart-env/` folder causes sync errors **Solution:** Add to ignore patterns in your sync software: **Syncthing:** ``` Patterns to ignore: .smart-env/ ``` **Other services:** Check documentation for how to exclude folders. **Never needed with Obsidian Sync** (handles automatically). ## Comparison to Custom Scripts You might wonder: "Should I use Smart Connections or build my own embedding system?" ### Use Smart Connections when: βœ… You want zero setup and immediate results βœ… You prefer a polished UI (sidebar panels, chat interface) βœ… You want automatic indexing (no cron jobs) βœ… You're not comfortable with Python/scripting βœ… You want community support and regular updates βœ… You prefer plugin-based workflows **Advantages:** - Works immediately after installation - Regular updates and bug fixes - Obsidian UI integration - Mobile support (iOS/Android) - Community support and examples ### Build custom scripts when: βœ… You need specific integrations (e.g., Life Automator CLI) βœ… You want full control over embedding models βœ… You prefer command-line tools βœ… You need to integrate with external systems βœ… You're building automation pipelines βœ… Privacy requirements demand auditable code **Advantages:** - Complete customization - Can integrate with other scripts - CLI-first for automation - Choose any embedding model/service - Educational (learn how embeddings work) ### Best of Both Worlds: Use Both **Smart Connections** for daily interactive use in Obsidian **Custom scripts** for automation, CLI access, and advanced workflows They can share the same vault and complement each other: ```bash # Use Smart Connections in Obsidian for writing # Use custom script for Life Automator integration python ~/scripts/search-daily-notes.py "student meetings" \ | xargs -I {} echo "Context: {}" ``` See [[_Nakul/5. Coding Actions/Obsidian/Daily Notes Vector Search - Planning]] for custom implementation details. ## Privacy Considerations ### Default Setup (Maximum Privacy) **What stays local:** - All note content - All embeddings (vectors) - All search queries - All AI processing (transformers.js in browser) **What's sent to internet:** - Nothing (works completely offline) ### API Model Setup (Reduced Privacy) If you configure OpenAI or other API models: **What's sent to third-party:** - Note content for embedding generation - Search queries - (Not: Your actual notes are not stored by the API) **OpenAI's data retention:** - Embeddings API: No training on your data - Chat API: 30-day retention, then deleted **Mitigation strategies:** 1. Use local models for sensitive vaults 2. Use API models only for public knowledge bases 3. Exclude private folders from indexing 4. Review API provider's privacy policy ### Ollama Setup (Local Privacy Alternative) Run models locally with better quality than transformers.js: ```bash # Install Ollama brew install ollama # macOS # Download model ollama pull nomic-embed-text # Configure Smart Connections to use Ollama Settings β†’ Smart Connections β†’ Embedding Model β†’ Ollama ``` **Privacy:** Same as default (fully local), better quality. ## Use Cases from the Community ### PhD Research (Documented by user) "This is by far my favourite Obsidian plug-in and it is immensely helpful. I'll be doing a full video about using it for PhD research." **Workflow:** 1. Import research papers as PDFs 2. Take reading notes in Obsidian 3. Use Smart Chat to find connections across papers 4. Generate literature review content with AI assistance ### Legal Case Summaries User Carey: "Huge fan of Smart Connections so much that I even wrote a post about how I use it to massively save time on summarizing legal cases." **Workflow:** 1. Store case notes in vault 2. Use Smart Chat to find precedents 3. Auto-generate case summaries 4. Find thematic patterns across cases ### Performance Reviews User Jarrett: "I love the latest version of Smart Connections and just used it for an amazing use case: I took my Obsidian notes and used them for qualifying my yearly performance review." **Workflow:** 1. Keep daily work logs in Obsidian 2. Search for project milestones semantically 3. Smart Chat: "Summarize my achievements this quarter" 4. Use results to draft performance review ### Creative Writing User Michael: "I'm currently writing a book and this is proving helpful in the process." **Workflow:** 1. Character notes, plot ideas, research in vault 2. Smart Context surfaces relevant background while writing 3. Chat queries like "What did I say about this character's motivation?" 4. Discover forgotten ideas from earlier drafts ## Integration with Your Workflow ### Daily Notes + Smart Connections Your daily journal structure: ``` _Nakul/1. Daily Journal/ 2025/11/W45/2025-11-09.md ``` **Smart Connections automatically:** - Shows past days with similar activities - Surfaces relevant context when reviewing tasks - Finds patterns in daily entries - Answers: "When did I last work on X?" **No manual setup required** - just write naturally. ### SWC Work Tasks ```markdown # 2025-11-09 ## 2 PM - [ ] Follow up with Jessica about assignment - Met with Canvas support about API issues ``` **Smart Context shows:** - Previous interactions with Jessica - Past Canvas troubleshooting sessions - Related student support notes ### Research (NNT Ecosystem) ```markdown # Song Analysis: "Giant Steps" NNT notation: |1^5 3&6 ...| Modal interchange in mm. 4-8... ``` **Smart Context finds:** - Other songs using modal interchange - Theory notes about Coltrane changes - Related harmonic analysis examples ### Combining with Life Automator **Smart Connections** provides context discovery in Obsidian **Life Automator** (your planned CLI tool) handles task automation **Integration point:** ```python # Life Automator can query Smart Connections data from smart_env import search_embeddings task = "Follow up with Jessica" context = search_embeddings(task, top_k=3) print(f"Task context:") for note in context: print(f" {note.date}: {note.excerpt}") ``` Or use **custom scripts** from [[Daily Notes Vector Search - Planning]] for CLI-first workflow. ## Getting Help **Documentation:** - [Smart Connections Official Site](https://smartconnections.app/) - Settings β†’ Smart Connections β†’ Getting Started Guide **Community Support:** - Obsidian Discord: #smart-connections channel - GitHub Issues: Report bugs and request features - Community Lean Coffee meetings (see website) **Support Development:** - Become a Community Supporter for early access features - Contribute to open-source codebase on GitHub ## Related Tools - [[Vector Embeddings for Note Retrieval]] - Theory behind Smart Connections - [[Langchain Overview]] - Framework for building with embeddings - [[Context Strategies for AI Coding Agents]] - Using embeddings with AI assistants - [[Daily Notes Vector Search - Planning]] - Custom implementation alternative ## Conclusion Smart Connections transforms Obsidian from a static note archive into an intelligent knowledge system. By using AI embeddings, it helps you rediscover forgotten insights, make unexpected connections, and spend less time organizing and more time creating. **Start simple:** Install, let it index, and watch related notes appear as you work. The plugin's zero-setup philosophy means you can begin benefiting immediately, then explore advanced features as needed. **The goal isn't more featuresβ€”it's empowerment:** Less time searching, more time building on your ideas.