AI Copilot
pendingby Alex Jiaguo
Your intelligent writing and thinking assistant.
AI Copilot
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.
⨠Features
šØļø AI Chat Sidebar
- Context-aware conversations ā Chat with your current note, selected text, or entire vault.
@mentions ā Reference specific files inline to pull them into chat context.- Right-click integration ā Send files, folders, or selections to chat from context menus.
- Multi-session support ā Pin and switch between multiple chat sessions with tabs.
- Project scoping ā Organize chats by project with scoped folders, tags, and system prompts.
- Auto-focus input ā The chat input is ready for typing whenever you open the panel.
š¤ Multiple AI Providers
Connect to your preferred LLM provider:
- OpenAI (GPT-4o, GPT-4.1, o3-mini, etc.)
- Anthropic (Claude 3.5/4 Sonnet, Opus, etc.)
- Google Gemini (Gemini 2.5 Pro/Flash, etc.)
- Groq (Llama, Mixtral, etc.)
- Ollama (Local models ā fully offline, privacy-first)
āļø Text Transform Actions
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 |
š ļø Built-in Tools (Function Calling)
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 vault
š Vault QA & Embeddings
- Semantic search over your entire vault using vector embeddings.
- Auto-indexing ā Automatically re-index notes on startup or change.
- Supports OpenAI and Ollama embedding providers.
- Configurable index exclusions for folders you don't want indexed.
š Personas
- Create multiple AI personalities with custom system prompts.
- Persona soul & memory ā Each persona remembers past interactions and learnings.
- Persona-specific mistake tracking ā AI learns from its errors per persona.
- Switch personas on-the-fly from the chat interface.
š Projects
- Define scoped contexts with specific folders, tags, and system prompts.
- Override the model per project for cost/performance optimization.
- Create projects from settings or directly inline from the chat interface.
- Automatically filter relevant notes based on project scope.
š MCP Server Integration
Connect to local Model Context Protocol (MCP) servers to extend AI capabilities:
- Auto-detect server directories and
.envfiles. - Resolve bare command names across system PATH.
- Shell wrapper support for complex server startup.
- Configure command, arguments, environment variables, and working directory per server.
š§ Skills System
- Point to a folder of SKILL.md files to extend AI behavior.
- Skills are automatically discovered, indexed, and injected based on query relevance.
- Enable/disable individual skills; mark skills as mandatory for always-on injection.
ā” Custom Actions
- Create your own text-transformation commands with custom prompt templates.
- Use
{{selection}}placeholder to reference highlighted text. - Custom actions appear in the Obsidian command palette for quick access.
š±ļø Right-Click Context Menu
Full AI Copilot submenu in the editor right-click menu:
- Fix grammar, reformat, summarize, simplify, shorten, lengthen, change tone, ELI5.
- Send files and folders to chat from the file explorer.
āØļø Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Cmd/Ctrl + K | Open AI Copilot chat |
Cmd/Ctrl + L | Add selection to chat context |
š ļø Installation
From Obsidian Community Plugins
- Open Settings ā Community plugins ā Browse.
- Search for AI Copilot.
- Click Install, then Enable.
Manual Installation
- Download the latest release from GitHub Releases.
- Copy
main.jsandmanifest.jsonto your vault's plugin folder:.obsidian/plugins/ai-copilot/ - Reload Obsidian and enable the plugin.
Build from Source
git clone https://github.com/alexjiaguo/obsidian-ai-copilot.git
cd obsidian-ai-copilot
npm install
npm run build
āļø Configuration
- Open Settings ā AI Copilot.
- Select your AI provider and enter your API key.
- (Optional) Customize:
- Personas ā Create AI personalities with custom system prompts.
- Projects ā Scope conversations to specific folders and tags.
- Custom actions ā Build your own text transformation commands.
- MCP servers ā Connect to local MCP servers for extended tooling.
- Skills ā Point to a skills folder for automatic prompt augmentation.
- Vault QA ā Configure embedding provider and auto-indexing.
šļø Architecture
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
š Privacy
- Your data stays local unless you choose to send it to an external API.
- Use Ollama for fully offline, on-device AI with zero data leaving your machine.
- API keys are stored locally in your Obsidian vault settings.
- No telemetry, no tracking, no analytics.
š¤ Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
š License
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.