mirror of
https://github.com/logancyang/obsidian-copilot.git
synced 2026-07-22 07:50:24 +00:00
* feat(chat): power legacy chat from the model-management "chat" backend Legacy chat, project chat, vault QA, quick command, and quick ask now select models from the model-management "chat" backend (backends.chat.enabledModels) instead of the legacy activeModels / defaultModelKey. A new ConfiguredModel→CustomModel bridge feeds the existing ChatModelManager (the stubbed v4 ChatModelFactory is untouched), and a new "Quick Chat" curation section under the Agents settings tab lets users choose which BYOK/Plus models appear in the chat picker. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * style(skills): apply prettier formatting to builtinSkills.test.ts Collapse a multi-line expect() onto one line to satisfy the project's prettier config (surfaced when running npm run format). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(chat): stabilize chat backend model selections * fix(chat): address chat backend review regressions * fix(chat): show legacy chat models in a flat list Drop the per-provider _group on chat picker entries so the legacy chat model picker renders a single flat list (provider icons inline, no section headers), matching pre-migration behavior. Agent Mode keeps its per-backend headers via its own helper. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(chat): remove dead per-model parameter editing After the model-management chat migration, per-model parameter editing is unreachable: the chat selection is now a configuredModelId UUID, so the ChatSettingsPopover editor (gated on a legacy activeModels match) never renders, and TokenLimitWarning's activeModels lookup always misses and falls back to global settings. v4 agent mode no longer supports per-model parameter editing. - ChatSettingsPopover: drop the model-param plumbing (originalModel / bridgedModel / canEditModelParameters, local-model save/debounce, ModelParametersEditor); keep System Prompt + Disable Builtin controls. - TokenLimitWarning: always open the global Copilot settings tab. - Delete the now-orphaned ModelEditDialog and ModelParametersEditor. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(chat): drop dead legacy model-key fallback in streaming session The streaming chat session's chain cache key fell back to name|provider when configuredModelId was absent. Both callers (Quick Ask, custom-command chat) now source their model from useResolvedChatBackendModel -> configuredModelToCustomModel, which always stamps configuredModelId, so the fallback was unreachable. Derive the key directly from configuredModelId; a model without one is treated as no usable model via the existing guards. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(chat): remove test-only getLegacyChatModelKey helper The singular getLegacyChatModelKey was exported but had no production callers — only the barrel re-export and one test assertion referenced it. Remove it (and its export + assertion); the load-bearing plural getLegacyChatModelKeys, which powers legacy-key resolution in isChatModelSelectionForEntry, is kept and now carries the rationale comment. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(model-management): dedupe catalog-id to provider map Drop the duplicate CATALOG_ID_TO_LEGACY_PROVIDER table in chatModelSelection and reuse the now-exported CATALOG_ID_TO_CHAT_PROVIDER from configuredModelToCustomModel (extended with anthropic/google for the legacy-key path). Single source of truth for catalog-id to ChatModelProviders. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
149 lines
6.6 KiB
Markdown
149 lines
6.6 KiB
Markdown
# Getting Started with Copilot for Obsidian
|
|
|
|
Copilot for Obsidian is an AI-powered plugin that brings large language models (LLMs) directly into your note-taking workflow. You can chat with AI, ask questions about your vault, run custom commands, search the web, and even have the AI edit your notes — all without leaving Obsidian.
|
|
|
|
## What Can Copilot Do?
|
|
|
|
- **Chat**: Have a conversation with an AI assistant
|
|
- **Vault Q&A**: Ask questions and get answers grounded in your own notes
|
|
- **Note editing**: Ask the AI to write or update your notes for you
|
|
- **Semantic search**: Find notes by meaning, not just keywords
|
|
- **Custom commands**: Run AI-powered prompts on selected text
|
|
- **Web search**: Fetch and summarize information from the internet
|
|
- **Memory**: Have the AI remember facts about you across conversations
|
|
|
|
Copilot supports 16+ AI providers including OpenAI, Anthropic, Google Gemini, Ollama (local), and more.
|
|
|
|
---
|
|
|
|
## Installation
|
|
|
|
1. Open **Obsidian Settings** → **Community plugins**
|
|
2. Turn off **Safe mode** if prompted
|
|
3. Click **Browse** and search for **Copilot**
|
|
4. Click **Install**, then **Enable**
|
|
|
|
Copilot is now installed. A robot icon will appear in the left sidebar ribbon.
|
|
|
|
---
|
|
|
|
## First-Time Setup
|
|
|
|
### Step 1: Open Plugin Settings
|
|
|
|
Go to **Settings** → **Copilot** (scroll down to the Community Plugins section).
|
|
|
|
### Step 2: Add an API Key
|
|
|
|
On the **Basic** tab, click **Set Keys** to open the API key dialog. Enter the key for your chosen provider:
|
|
|
|
| Provider | Where to get a key |
|
|
| -------------------- | ------------------------------------------- |
|
|
| OpenRouter (default) | https://openrouter.ai/keys |
|
|
| OpenAI | https://platform.openai.com/api-keys |
|
|
| Anthropic | https://console.anthropic.com/settings/keys |
|
|
| Google Gemini | https://makersuite.google.com/app/apikey |
|
|
|
|
The default model is **OpenRouter Gemini 2.5 Flash**, which requires an OpenRouter API key. If you'd prefer a different provider, set up that key first, then change the default model.
|
|
|
|
### Step 3: Choose a Default Model
|
|
|
|
Add a provider and its models on the **Models (BYOK)** tab, then choose which of those models appear in chat under **Agents → Quick Chat models**. On the **Basic** tab, use the **Default Chat Model** dropdown to select the model you want to use.
|
|
|
|
### Step 4: Choose a Chat Mode
|
|
|
|
Use the **Default Mode** dropdown to set which mode opens by default:
|
|
|
|
- **Chat** — General conversation, good for most tasks
|
|
- **Vault QA** — Ask questions answered from your notes
|
|
- **Copilot Plus** — Advanced mode with autonomous agent and tools (requires Copilot Plus license)
|
|
- **Projects** — Focused workspaces (alpha feature)
|
|
|
|
Most users should start with **Chat** mode.
|
|
|
|
---
|
|
|
|
## Opening the Chat Panel
|
|
|
|
You can open Copilot in several ways:
|
|
|
|
- Click the **robot icon** in the left ribbon (sidebar)
|
|
- Use the command palette: `Ctrl/Cmd+P` → **Open Copilot Chat Window**
|
|
- Use the hotkey `Ctrl/Cmd+P` → **Toggle Copilot Chat Window** to show/hide it
|
|
|
|
### Sidebar vs. Editor Tab
|
|
|
|
By default, Copilot opens as a **view** (sidebar panel). You can change this in Settings → Copilot → Basic → **Open chat in**:
|
|
|
|
- **View** — Opens in the sidebar, stays visible as you work
|
|
- **Editor** — Opens as an editor tab, giving it more screen space
|
|
|
|
---
|
|
|
|
## Your First Conversation
|
|
|
|
1. Open the chat panel
|
|
2. Type your message in the input box at the bottom
|
|
3. Press **Enter** (or **Shift+Enter** if you changed the send shortcut) to send
|
|
4. Watch the AI's response stream in real time
|
|
5. Continue the conversation naturally
|
|
|
|
The AI will automatically include your currently open note as context, so you can say things like "summarize this note" or "what are the action items in this note?"
|
|
|
|
---
|
|
|
|
## Keyboard Shortcuts
|
|
|
|
These are the default shortcuts. You can customize them in **Obsidian Settings** → **Hotkeys** → search for "Copilot".
|
|
|
|
| Action | Default Shortcut |
|
|
| ----------------------------- | ------------------------------- |
|
|
| Open Copilot Chat Window | _(unbound — assign in Hotkeys)_ |
|
|
| Toggle Copilot Chat Window | _(unbound — assign in Hotkeys)_ |
|
|
| New Copilot Chat | _(unbound — assign in Hotkeys)_ |
|
|
| Quick Ask (floating input) | _(unbound — assign in Hotkeys)_ |
|
|
| Trigger Quick Command | _(unbound — assign in Hotkeys)_ |
|
|
| Add selection to chat context | _(unbound — assign in Hotkeys)_ |
|
|
|
|
### Send Shortcut
|
|
|
|
By default, **Enter** sends a message and **Shift+Enter** adds a new line. You can swap this in Settings → Copilot → Basic → **Default Send Shortcut**.
|
|
|
|
---
|
|
|
|
---
|
|
|
|
## Glossary
|
|
|
|
**LLM (Large Language Model)**
|
|
The AI "brain" behind Copilot — a model trained on vast text to understand and generate human language, powering chat, summarization, and writing assistance.
|
|
|
|
**API (Application Programming Interface)**
|
|
A way for Copilot to communicate with external AI services. You provide an API key, which is like a password that lets Copilot use a provider's AI models on your behalf. Note: an OpenAI API key is _different_ from a ChatGPT Plus subscription — you don't need ChatGPT Plus to use Copilot.
|
|
|
|
**API Key**
|
|
A secret token from an AI provider that authorizes Copilot to make requests. Most providers require you to have a billing account with a positive balance.
|
|
|
|
**Token**
|
|
A small unit of text (roughly ¾ of a word) that AI models process. Tokens measure how much text the AI can handle at once and relate to usage costs.
|
|
|
|
**Context Window**
|
|
The amount of text the AI can consider at one time when generating a response. A larger context window means the AI can use more of your notes or conversation history.
|
|
|
|
**Embeddings**
|
|
A method of converting text into numbers that capture meaning. Embeddings let the AI find notes that are conceptually related, even if they don't share exact words.
|
|
|
|
**RAG (Retrieval-Augmented Generation)**
|
|
A technique that enhances AI responses by first searching for relevant notes, then generating an answer based on both your query and the retrieved content. This is how Vault QA works.
|
|
|
|
**Vector Store / Index**
|
|
A database that stores your notes as mathematical vectors (embeddings) so they can be searched by meaning. Think of it as a smart index that understands the context of your notes, not just their keywords.
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
- [Chat Interface](chat-interface.md) — Learn about modes, history, and settings
|
|
- [LLM Providers](llm-providers.md) — Set up your preferred AI provider
|
|
- [Context and Mentions](context-and-mentions.md) — Control what context the AI sees
|
|
- [Vault Search and Indexing](vault-search-and-indexing.md) — Set up semantic search over your notes
|