AI Copilot
unlistedby 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.