Your intelligent writing and thinking assistant for Obsidian.
AI Copilot brings Notion AI-like capabilities directly into your vault. Chat with your notes, transform selected text, search the web, manage personas, and extend functionality with MCP servers and custom skills — all from a native-feeling sidebar.
@ mentions — Reference specific files inline to pull them into chat context.Connect to your preferred LLM provider:
Select text and run AI-powered transformations from the command palette or right-click menu:
| Action | Description |
|---|---|
| Fix grammar & spelling | Correct errors while preserving your voice |
| Reformat | Restructure text with proper headings and bullet points |
| Summarize | Concise summary of selected text |
| Simplify | Rewrite in plain, easy-to-understand language |
| Make shorter / longer | Condense or expand your writing |
| Change tone | Professional, casual, or academic voice |
| Explain like I'm 5 | Break down complex concepts |
| Expand selection | Add more detail and context |
| Brainstorm ideas | Generate 5–10 related ideas from your text |
| Continue writing | Seamlessly extend your draft |
The AI can autonomously use tools during conversation:
create_note / append_to_note / read_note / edit_note — Full vault CRUD operationslist_folder — Browse vault structureweb_search — Search the web and bring results into chatget_youtube_transcript — Fetch and summarize YouTube video transcriptsread_pdf — Extract text from PDF files in your vaultsummarize_url — Fetch and summarize any web pagesearch_vault_by_date — Find notes by creation or modification datesave_memory / list_memories — Long-term memory across sessionssave_summary_as_note — Save AI-generated summaries directly to your vaultConnect to local Model Context Protocol (MCP) servers to extend AI capabilities:
.env files.{{selection}} placeholder to reference highlighted text.Full AI Copilot submenu in the editor right-click menu:
| Shortcut | Action |
|---|---|
Cmd/Ctrl + K |
Open AI Copilot chat |
Cmd/Ctrl + L |
Add selection to chat context |
main.js and manifest.json to your vault's plugin folder:.obsidian/plugins/ai-copilot/
git clone https://github.com/alexjiaguo/obsidian-ai-copilot.git
cd obsidian-ai-copilot
npm install
npm run build
main.ts → Plugin entry point, commands, menus
src/
├── views/
│ ├── AIChatView.ts → Obsidian ItemView wrapper
│ ├── ChatApp.svelte → Tab management, session lifecycle
│ └── ChatView.svelte → Chat UI, message processing
├── components/
│ ├── ChatInput.svelte → Auto-resizing input with @ mentions
│ ├── MessageBubble.svelte → Message rendering with markdown
│ └── ProjectSelector.svelte → Inline project creation/selection
├── services/
│ ├── APIService.ts → Multi-provider LLM abstraction
│ ├── ToolManager.ts → Function calling (17 built-in tools)
│ ├── MCPClientService.ts → MCP server connections
│ ├── SkillService.ts → Skill discovery and injection
│ ├── VaultQA.ts → Embedding-based semantic search
│ ├── MemoryService.ts → Persistent cross-session memory
│ ├── PersonaSoulService.ts → Persona-specific memory and soul
│ ├── ContextManager.ts → File/folder search and context
│ ├── EditorHandler.ts → Active editor tracking
│ ├── RelevantNotes.ts → Context-aware note suggestions
│ ├── WebSearch.ts → DuckDuckGo web search
│ ├── YouTubeTranscriber.ts → YouTube transcript extraction
│ ├── PDFService.ts → PDF text extraction
│ ├── ContentExtractor.ts → URL content extraction
│ └── EmbeddingService.ts → OpenAI/Ollama embedding client
└── settings/
├── Settings.ts → Type definitions and defaults
└── SettingsView.svelte → Full settings UI
Contributions are welcome! Feel free to open issues or submit pull requests.