* Building persistent memory for copilot (#1848) * Implement chat input v3 (#1794) * Fix chat crash React 409 (#1849) * Fix mobile typeahead menu size (#1853) * Enhance progress bar and bug fix (#1814) * feat: Add edit context for progress card. * fix: When adding a model, do not set the key in the single model setting. * fix: fix the width of the popover on mobile. * Refactor Brevilabs API integration to use models base URL (#1855) - Updated constants to switch from BREVILABS_API_BASE_URL to BREVILABS_MODELS_BASE_URL for model-related API calls. - Adjusted ChatModelManager and EmbeddingManager to utilize the new models base URL for configuration settings. * feat: Add new chat history popover. (#1850) * feat: Add new chat history popover. * feat: Add open source file button to chat history popover - Add ArrowUpRight button to each chat history item - Implement openChatSourceFile method in main.ts - Add onOpenSourceFile callback prop chain through components - Open chat files in new Obsidian tabs when clicked - Optimize error handling to prevent duplicate notices * feat: Implement localSearch CiC prompting flow in CopilotPlusChainRunner (#1856) * Properly extract response text in UserMemoryManager (#1857) * feat: Temporarily disable autocomplete features (#1858) * chore: Update version to 3.1.0-preview-250927 in manifest.json * Support space in typeahead trigger and improve search (#1859) * More chat input enhancement (#1864) * Fix dropdown color * Fix badge border in light theme * Increase search result number * support paste image * fix folder context * Enhance ChatPersistenceManager with filename sanitization tests (#1865) - Added tests to ensure proper sanitization of wiki link brackets and illegal characters in filenames when saving chat messages. - Updated filename generation logic to handle empty sanitized topics by defaulting to 'Untitled Chat'. - Refactored imports in ChatPersistenceManager for better organization. * Update ApplyView accept button styles for improved visibility and interaction (#1866) - Adjusted the positioning of the action button to be further from the bottom of the viewport for better accessibility. - Increased the z-index to ensure the button is always on top of other elements. - Added a shadow effect to enhance the button's visibility against the background. * Expose add selection to chat context to free users (#1867) * New chat input improvements (#1868) * Improve search logic in at mention search * Subscribe to file changes * Detect changes for folders and tags * Make context badge tooltip always show * Add full note path in preview * Fix enter being blocked when no search result * Rebuild "Active Note" and more chat input improvement (#1873) * Performance improvement and extend "active note" to note typeahead menu (#1875) * Add better agent prompt logging (#1882) * Add read tool (#1883) * Add readNote tool for reading notes in chunks * Enhance readNote tool to support dynamic note path display and linked note extraction * Refine readNote tool instructions for improved clarity and efficiency in note content retrieval * Add support for readNote tool: integrate emoji, format results, and refine instructions * Add inline citation reminder functionality to user questions * Add an alert when user hits the maxToken limit (#1884) * Refactor AutonomousAgentChainRunner (#1887) * Refactor AutonomousAgentChainRunner to enhance agent workflow, streamline context preparation, and improve response handling * Enhance type safety in addChatHistoryToMessages by specifying message structure * Improve max iteration limit message for clarity and formatting * Refactor tool display name handling for improved clarity and maintainability * Refactor tool call ID generation and visibility handling for improved clarity and uniqueness * Fix agent tool call ID (#1890) * Enhance tool call ID generation and improve readNote handling in prompts Update readNote description for clarity and improve prompt instructions * Update instructions for registerFileTreeTool to clarify usage guidelines * Clarify instructions for readNote tool to improve context inference and handling of partial note titles * Add token counter (#1889) * Fix index rebuild on semantic search toggle (#1891) * Update token counter label (#1892) * Implement tag search v3 (#1893) * feat: Enhance TieredLexicalRetriever to support tag-based retrieval and improve search scoring - Added support for returning all matching tags in TieredLexicalRetriever. - Introduced new options for tag terms and returnAllTags in the retriever. - Updated FullTextEngine to prioritize tag matches and improve scoring for documents with tags. - Enhanced tokenization to handle hierarchical tags and prevent splitting hyphenated tags. - Improved handling of frontmatter tags in documents. - Updated search tools to accommodate new tag handling features. - Added tests to verify the functionality of tag-based retrieval and scoring improvements. * fix: Improve logging for query expansion in SearchCore * feat: Add explanation for non-tag matches in FullTextEngine search results * feat: Enhance QueryExpander to preserve standalone terms in tag handling and improve term validation * feat: Enhance QueryExpander and TieredLexicalRetriever to improve tag handling and standalone term extraction * Update version to 3.1.0-preview-251006 in manifest.json * Normalize tag queries for case-insensitive matching and improve search functionality (#1894) * Implement merge retriever (#1896) * Fix note read (#1897) * Enhance note resolution logic and add tests for wiki-linked notes and basename matching * Implement note resolution outcome types and enhance readNoteTool tests for ambiguous matches * Add deriveReadNoteDisplayName function and enhance readNoteTool tests for edge cases * Fix note tool UI freeze (#1898) * Update how tags work in context (#1895) * Enhance file creation instructions in modelAdapter and update tool usage guidelines in builtinTools (#1901) - Added instructions for confirming folder existence before creating new files in modelAdapter. - Updated custom prompt instructions in builtinTools to clarify the use of getFileTree for folder lookups when creating new notes. * Do not add url context for youtube url (#1899) * Update YouTube Script command and modal title to indicate Plus feature (#1903) * Enhance ChatPersistenceManager to handle file save conflicts (#1904) * Enhance ChatPersistenceManager to handle file save conflicts and improve epoch handling * Fix type checking for existing files in ChatPersistenceManager to prevent errors * Fix verify add (#1905) - Rename "Verify" button to "Test" in Add Model dialog - Make verification not required for adding model in Set Keys - Upgrade chatAnthropic client to fix the Top P -1 error for Claude Opus models * Enhance XML parsing to handle tool calls missing closing tags --------- Co-authored-by: Wenzheng Jiang <jwzh.hi@gmail.com> Co-authored-by: Zero Liu <zero@lumos.com> Co-authored-by: Emt-lin <41323133+Emt-lin@users.noreply.github.com> |
||
|---|---|---|
| .claude/agents | ||
| .cursor/rules | ||
| .github | ||
| .husky | ||
| __mocks__ | ||
| docs | ||
| images | ||
| scripts | ||
| src | ||
| typings | ||
| .editorconfig | ||
| .eslintignore | ||
| .eslintrc | ||
| .gitignore | ||
| .npmrc | ||
| .prettierrc | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| components.json | ||
| CONTRIBUTING.md | ||
| esbuild.config.mjs | ||
| jest.config.js | ||
| jest.setup.js | ||
| LICENSE | ||
| local_copilot.md | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| version-bump.mjs | ||
| versions.json | ||
| wasmPlugin.mjs | ||
Copilot for Obsidian
The Ultimate AI Assistant for Your Second Brain
Documentation | Youtube | Report Bug | Request Feature
Copilot for Obsidian is your ultimate in‑vault AI assistant with chat-based vault search, web and youtube support, powerful context processing and ever-expanding agentic capabilities—all within Obsidian’s highly customizable workspace.
- 🔒 Your data is 100% yours: Local search and storage, and full control of your data if you use self-hosted models.
- 🧠 Bring Your Own Model: Tap any OpenAI-compatible or local model to uncover insights, spark connections, and create content.
- 🖼️ Multimedia understanding: Drop in webpages, YouTube videos, images, PDFs, EPUBS, or real-time web search for quick insights.
- 🔍 Smart Vault Search: Search your vault with chat, no setup required. Embeddings are optional. Copilot delivers results right away.
- ✍️ Composer and Quick Commands: Interact with your writing with chat, apply changes with 1 click.
- 🗂️ Project Mode: Create AI-ready context based on folders and tags. Think NotebookLM but inside your vault!
- 🤖 Agent Mode (Plus): Unlock an autonomous agent with built-in tool calling. No commands needed. Copilot automatically triggers vault, web searches or any other relevant tool when relevant.
Copilot's Agent can call the proper tools on its own upon your request.
Copilot V3 is a New Era 🔥
After months of hard work, we have revamped the codebase and adopted a new paradigm for our agentic infrastructure. It opens the door for easier addition of agentic tools (MCP support coming). We will provide a new version of the documentation soon. Here is a couple of new things that you cannot miss!
- FOR ALL USERS: You can do vault search out-of-the-box without building an index first (Indexing is still available but optional behind the "Semantic Search" toggle in QA settings).
- FOR FREE USERS: Image support and chat context menu are available to all users starting from v3.0.0!
- FOR PLUS USERS: Autonomous agent is available with vault search, web search, youtube, composer and soon a lot other tools!
Read the Changelog.
Why People Love It ❤️
- "Copilot is the missing link that turns Obsidian into a true second brain. I use it to draft investment memos with text, code, and visuals—all in one place. It’s the first tool that truly unifies how I search, process, organize, and retrieve knowledge without ever leaving Obsidian. With AI-powered search, organization, and reasoning built into my notes, it unlocks insights I’d otherwise miss. My workflow is faster, deeper, and more connected than ever—I can’t imagine working without it." - @jasonzhangb, Investor & Research Analyst
- "Since discovering Copilot, my writing process has been completely transformed. Conversing with my own articles and thoughts is the most refreshing experience I’ve had in decades.” - Mat QV, Writer
- "Copilot has transformed our family—not just as a productivity assistant, but as a therapist. I introduced it to my non‑technical wife, Mania, who was stressed about our daughter’s upcoming exam; within an hour, she gained clarity on her mindset and next steps, finding calm and confidence." - @screenfluent, A Loving Husband
Get Started in 5 Minutes
FREE Product Features
🔌 Install Copilot in Community Plugins in Obsidian
🔑 Set Up Your AI Model (API Key)
- To start using Copilot AI features, you'll need access to an AI model of your choice.
Click the image to watch the video on YouTube
📖 Chat Mode: Summarize Specific Notes
-
🧠 Use When: You want to reference specific notes or folders, generate content, or talk through ideas with Copilot like a knowledgeable thought partner.
-
💭 In
Chatmode, ask Copilot:"Summarize Meeting Notes – March and create a follow-up task list based on notes in {projects}."
Click the image to watch the video on YouTube
📖 Vault QA Mode: Chat With Your Entire Vault
-
🧠 Use When: You want to search your vault for patterns, ideas, or facts without knowing exactly where the information is stored.
-
💭 In
Vault QAmode, ask Copilot:"What insights can I gather about the benefits of journaling from all of my notes?"
-
💡 Tip: Replace the benefits of journaling with any topic mentioned in your notes to get more precise results.
Click the image to watch the video on YouTube
📖 Edit and Apply with One Click
-
🧠 Use When: You want to quickly fix grammar, spelling or wording directly in your notes—without switching tabs or manually rewriting.
-
💭 Select the text and edit with one RIGHT click
-
💡 Tip: Set up and customize your right-click menu with common actions you use often, like "Summarize", "Simplify Language", or "Translate to Formal Tone"—so you can apply them effortlessly while you write.
Click the image to watch the video on YouTube
📖 Automate your workflow with the Copilot Prompt Palette
-
🧠 Use When: You want to speed up repetitive tasks like summarizing, rewriting, or translating without typing full prompts every time.
-
💭 Type / to use Prompt Palette
-
💡 Tip: Create shortcuts for your most-used actions—like "Translate to Spanish" or "Draft a blog post outline"—and trigger them instantly with typing / !
Click the image to watch the video on YouTube
📖 Stay in flow with the Relevant Notes
-
🧠 Use When: You're working on a note and want to pull in context or insights from related notes—without breaking your focus.
-
💭 Appears automatically when there's useful related content.
-
💡 Tip: Use it to quickly reference past research, ideas, or decisions—no need to search or switch tabs.
Click the image to watch the video on YouTube
Level Up with Copilot Plus and Beyond
Copilot Plus brings powerful AI agentic capabilities, context-aware actions and seamless tool integration—built to elevate your knowledge work in Obsidian.
🆙 Upgrade to Copilot Plus
First, go to https://www.obsidiancopilot.com/en to subscribe to Copilot Plus. Then, set up Copilot Plus License Key in Obsidian.
Click the image to watch the video on YouTube
❔Community is at the heart of everything we build. Join us on Discord for updates, priority support, and a voice in shaping the best AI products for your experience.
📖 Get Precision Insights From a Specific Time Window
-
🧠 Use When: You want to quickly review tasks, notes, or ideas from a specific time range without manually digging through files.
-
💭 In Chat mode, ask Copilot:
"Give me a recap of everything I captured last week."
-
💡 Tip: Try variations like "Summarize my highlights from August 11 through August 22" for even more insights.
Click the image to watch the video on YouTube
📖 One Prompt, Every Source—Instant Summaries from PDFs, Videos, and Web
-
🧠 Use When: You want to combine information from multiple formats—documents, videos, web pages, and images—into one concise, actionable summary.
-
💭 In PLUS mode, ask Copilot:
"Please write a short intro of Kiwi birds based on the following information I collected about this animal.
Summarize https://www.youtube.com/watch?v=tZ2jm_UPc6c&t=417s in a short paragraph.
@websearch where can I find Kiwi birds?
Summarize https://www.doc.govt.nz/nature/native-animals/birds/birds-a-z/kiwi/ in 300 words.“
-
🛠️ Add PDFs and Images as Context to Enrich Your Learning
-
💡 Tip: For large PDFs, reference specific sections to focus the AI's attention.
Click the image to watch the video on YouTube
💡 Need Help?
- Check the documentation for setup guides, how-tos, and advanced features.
- Watch Youtube for walkthroughs.
- If you're experiencing a bug or have a feature idea, please follow the steps below to help us help you faster:
- 🐛 Bug Report Checklist
- ☑️Use the bug report template when reporting an issue
- ☑️Enable Debug Mode in Copilot Settings → Advanced for more detailed logs
- ☑️Open the dev console to collect error messages:
- Mac: Cmd + Option + I
- Windows: Ctrl + Shift + I
- ☑️Turn off all other plugins, keeping only Copilot enabled
- ☑️Attach relevant console logs to your report
- ☑️Submit your bug report here
- 💡 Feature Request Checklist
- ☑️Use the feature request template for requesting a new feature
- ☑️Clearly describe the feature, why it matters, and how it would help
- ☑️Submit your feature request here
- 🐛 Bug Report Checklist
🙋♂️ FAQ
Why isn’t Vault search finding my notes?
If you're using the Vault QA mode (or the tool @vault in Plus), try the following:
- Ensure you have a working embedding model from your AI model's provider (e.g. OpenAI). Watch this video: AI Model Setup (API Key)
- Ensure your Copilot indexing is up-to-date. Watch this video: Vault Mode
- If issues persist, run Force Re-Index or use List Indexed Files from the Command Palette to inspect what's included in the index.
- ⚠️ Don’t switch embedding models after indexing—it can break the results.
Why is my AI model returning error code 429: ‘Insufficient Quota’?
Most likely this is happening because you haven’t configured billing with your chosen model provider—or you’ve hit your monthly quota. For example, OpenAI typically caps individual accounts at $120/month. To resolve:
- ▶️ Watch the “AI Model Setup” video: AI Model Setup (API Key)
- 🔍 Verify your billing settings in your OpenAI dashboard
- 💳 Add a payment method if one isn’t already on file
- 📊 Check your usage dashboard for any quota or limit warnings
If you’re using a different provider, please refer to their documentation and billing policies for the equivalent steps.
Why am I getting a token limit error?
Please refer to your model provider’s documentation for the context window size.
⚠️ If you set a large max token limit in your Copilot settings, you may encounter this error.
- Max tokens refers to completion tokens, not input tokens.
- A higher output token limit means less room for input!
🧠 Behind-the-scenes prompts for Copilot commands also consume tokens, so:
- Keep your message length short
- Set a reasonable max token value to avoid hitting the cap
💡 For QA with unlimited context, switch to the Vault QA mode in the dropdown (Copilot v2.1.0+ required).
🙏 Thank You
If you share the vision of building the most powerful AI agent for our second brain, consider sponsoring this project or buying me a coffee. Help spread the word by sharing Copilot for Obsidian on Twitter/X, Reddit, or your favorite platform!
Acknowledgments
Special thanks to our top sponsors: @mikelaaron, @pedramamini, @Arlorean, @dashinja, @azagore, @MTGMAD, @gpythomas, @emaynard, @scmarinelli, @borthwick, @adamhill, @gluecode, @rusi, @timgrote, @JiaruiYu-Consilium, @ddocta, @AMOz1, @chchwy, @pborenstein, @GitTom, @kazukgw, @mjluser1, @joesfer, @rwaal, @turnoutnow-harpreet, @dreznicek, @xrise-informatik, @jeremygentles, @ZhengRui, @bfoujols, @jsmith0475, @pagiaddlemon, @sebbyyyywebbyyy, @royschwartz2, @vikram11, @amiable-dev, @khalidhalim, @DrJsPBs, @chishaku, @Andrea18500, @shayonpal, @rhm2k, @snorcup, @JohnBub, @obstinatelark, @jonashaefele, @vishnu2kmohan
Copilot Plus Disclosure
Copilot Plus is a premium product of Brevilabs LLC and it is not affiliated with Obsidian. It offers a powerful agentic AI integration into Obsidian. Please check out our website obsidiancopilot.com for more details!
- An account and payment are required for full access.
- Copilot Plus requires network use to faciliate the AI agent.
- Copilot Plus does not access your files without your consent.
- Copilot Plus collect server-side telemetry to improve the product. Please see the privacy policy on the website for more details.
- The frontend code of Copilot plugin is fully open-source. However, the backend code facilitating the AI agents is close-sourced and proprietary.
- We offer a full refund if you are not satisfied with the product within 14 days of your purchase, no questions asked.
Authors
Brevilabs Team | Email: logan@brevilabs.com | X/Twitter: @logancyang