# Superpower Inside ![version](https://img.shields.io/badge/version-1.0.10-blue) ![Obsidian](https://img.shields.io/badge/Obsidian-desktop%20only-7c3aed) ![license](https://img.shields.io/badge/license-MIT-green) ![RAG](https://img.shields.io/badge/RAG-vault%20notes-0f766e) ![MCP](https://img.shields.io/badge/MCP-stdio%20tools-f97316) > **Desktop AI copilot for Obsidian.** Chat with LLMs, search your vault with RAG, call trusted MCP tools, and keep source-aware answers close to your notes. Superpower Inside is built for people who use Obsidian as a working knowledge base, not just a folder of notes. | What it helps with | How it works | | --- | --- | | ๐Ÿ”Ž Find answers in your vault | Index Markdown notes and attach relevant context to chat | | ๐Ÿ“Œ Work with sources | Show source cards and insert citations back into notes | | ๐Ÿง  Use your preferred model | OpenAI, Claude, Ollama, OpenRouter, or custom OpenAI-compatible providers | | ๐Ÿ”Œ Extend the assistant | Connect trusted local MCP stdio servers | > [!IMPORTANT] > Superpower Inside is **desktop-only**. It depends on desktop Obsidian features such as MCP stdio servers, local Ollama support, and local runtime path handling. Mobile Obsidian is not supported. ## ๐Ÿงญ Quick Look ```mermaid flowchart LR A["Your Obsidian vault"] --> B["RAG index"] C["Chat sidebar"] --> D["LLM provider"] B --> C E["Trusted MCP stdio servers"] --> C C --> F["Answer with sources"] F --> G["Insert or copy citations"] ``` ## โœจ Features | Feature | Description | | --- | --- | | ๐Ÿ’ฌ Chat sidebar | Ask questions without leaving Obsidian. | | ๐Ÿ”Ž Vault RAG | Search indexed Markdown notes and send relevant chunks as context. | | ๐Ÿ“Ž File and folder mentions | Attach specific notes or folders with `@file.md` or `@[folder/path]`. | | ๐Ÿ”Œ MCP mentions | Use `@server` to let the assistant work with a trusted MCP server. | | ๐Ÿ“Œ Source cards | Open sources, copy Obsidian links, and insert citations into the active note. | | ๐Ÿ—‚๏ธ Chat history | Save and reopen chat sessions inside your vault. | | ๐Ÿง  Provider choice | Use OpenAI, Claude, Ollama, Ollama Cloud, OpenRouter, or a custom OpenAI-compatible endpoint. | ## ๐Ÿš€ Install ### Community Plugin Directory 1. Open **Settings -> Community plugins** in Obsidian. 2. Search for **Superpower Inside**. 3. Install and enable the plugin. 4. Open the plugin settings and configure a provider. ### Manual Install 1. Download the latest release from [GitHub Releases](https://github.com/magnitus99/Superpower-Inside/releases). 2. Copy `manifest.json`, `main.js`, and `styles.css` into `.obsidian/plugins/superpower-inside/`. 3. Reload community plugins in Obsidian. 4. Enable **Superpower Inside**. ## โœ… First Setup | Step | What to do | Where | | --- | --- | --- | | 1 | Choose and enable your LLM provider | Settings -> Superpower Inside -> Providers | | 2 | Add the provider API key or local base URL | Settings -> Providers | | 3 | Choose the default chat model | Settings -> Chat | | 4 | Choose an embedding provider and model | Settings -> RAG | | 5 | Run the first vault index | Command Palette -> `Reindex Vault for RAG` | | 6 | Open the chat sidebar | Ribbon chat icon or Command Palette -> `Open AI Chat` | ## ๐Ÿ’ก Everyday Use ### ๐Ÿ’ฌ Chat With Your Vault Ask natural questions in the sidebar. When RAG is enabled, Superpower Inside searches your indexed Markdown notes and attaches relevant context before the model answers. Examples: ```text Summarize my notes about active projects. What did I write about retrieval-augmented generation last month? Find contradictions between my planning notes and meeting notes. ``` ### ๐Ÿ“Ž Attach Exact Context Use mentions when you want the assistant to look at a specific source. | Mention | Meaning | | --- | --- | | `@note.md` | Attach a note by path or name. | | `@[folder/path]` | Attach Markdown notes from a folder. | | `@server` | Attach and use a trusted MCP server. | ### ๐Ÿ“Œ Work With Sources Source cards help you check where an answer came from. You can open the source note, copy an Obsidian link, or insert a citation into the active note. ### ๐Ÿ—‚๏ธ Save Chat Sessions Chats can be saved as Markdown files in your configured chat folder. This keeps research trails, source metadata, and useful answers inside the vault.
Security and data access - Settings and API keys are stored in this device's Obsidian local storage and are not newly saved to the synced plugin `data.json` file. - Chat messages, selected notes, retrieved RAG chunks, tool arguments, and tool results may be sent to the configured LLM, embedding provider, or MCP server. - RAG features enumerate Markdown files in the vault to build and refresh the index. - Citation actions and copy buttons write text to the system clipboard. - MCP stdio launches local commands that you configure. Only add MCP servers you trust. - When you mention an MCP server with `@server`, Superpower Inside treats that mention as intent to use the trusted server and may auto-run non-destructive model-requested tools from it. Tool arguments and results may be sent back to the configured LLM provider to generate the final answer. - Local Ollama and local MCP servers can run on your machine, but provider settings may still send data over the network.
## ๐Ÿ“š Documentation | Document | Purpose | | --- | --- | | [Developer guide](docs/README_FOR_DEV.md) | Architecture map and feature-change guide | | [Development setup](docs/DEV_SETUP.md) | Local test vault, hot reload, and debugging setup | | [Community submission guide](docs/OBSIDIAN_COMMUNITY_SUBMISSION.md) | Release and Obsidian community plugin checklist | ## ํ•œ๊ตญ์–ด ์•ˆ๋‚ด > **Obsidian ๋ฐ์Šคํฌํ†ฑ์šฉ AI ์ฝ”ํŒŒ์ผ๋Ÿฟ.** LLM ์ฑ„ํŒ…, ๋ณผํŠธ RAG ๊ฒ€์ƒ‰, ์‹ ๋ขฐํ•œ MCP ๋„๊ตฌ ํ˜ธ์ถœ, ์ถœ์ฒ˜ ๊ธฐ๋ฐ˜ ๋‹ต๋ณ€์„ ๋…ธํŠธ ์ž‘์—… ํ๋ฆ„ ์•ˆ์—์„œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Superpower Inside๋Š” Obsidian์„ ์‹ค์ œ ์ง€์‹ ์ž‘์—… ๊ณต๊ฐ„์œผ๋กœ ์“ฐ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ž…๋‹ˆ๋‹ค. ์งˆ๋ฌธํ•˜๊ณ , ๋…ธํŠธ๋ฅผ ์ฐพ์•„๋ณด๊ณ , ์ถœ์ฒ˜๋ฅผ ํ™•์ธํ•˜๊ณ , ํ•„์š”ํ•œ ์ธ์šฉ์„ ๋‹ค์‹œ ๋…ธํŠธ์— ๋„ฃ๋Š” ํ๋ฆ„์„ ํ•œ ํ™”๋ฉด์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•์Šต๋‹ˆ๋‹ค. | ๋„์›€์ด ๋˜๋Š” ์ผ | ์ž‘๋™ ๋ฐฉ์‹ | | --- | --- | | ๐Ÿ”Ž ๋ณผํŠธ์—์„œ ๋‹ต ์ฐพ๊ธฐ | Markdown ๋…ธํŠธ๋ฅผ ์ธ๋ฑ์‹ฑํ•˜๊ณ  ๊ด€๋ จ ์ปจํ…์ŠคํŠธ๋ฅผ ์ฑ„ํŒ…์— ์ฒจ๋ถ€ | | ๐Ÿ“Œ ์ถœ์ฒ˜ ํ™•์ธํ•˜๊ธฐ | ๋‹ต๋ณ€ ์•„๋ž˜ ์ถœ์ฒ˜ ์นด๋“œ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๋…ธํŠธ๋กœ ๋‹ค์‹œ ์‚ฝ์ž… | | ๐Ÿง  ์›ํ•˜๋Š” ๋ชจ๋ธ ์“ฐ๊ธฐ | OpenAI, Claude, Ollama, OpenRouter, ์ปค์Šคํ…€ OpenAI-compatible provider ์ง€์› | | ๐Ÿ”Œ ๋„๊ตฌ ํ™•์žฅํ•˜๊ธฐ | ์‹ ๋ขฐํ•œ ๋กœ์ปฌ MCP stdio ์„œ๋ฒ„ ์—ฐ๊ฒฐ | > [!IMPORTANT] > Superpower Inside๋Š” **๋ฐ์Šคํฌํ†ฑ ์ „์šฉ**์ž…๋‹ˆ๋‹ค. MCP stdio ์„œ๋ฒ„, ๋กœ์ปฌ Ollama, ๋ฐ์Šคํฌํ†ฑ ๋Ÿฐํƒ€์ž„ ๊ฒฝ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ชจ๋ฐ”์ผ Obsidian์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ## โœจ ์ฃผ์š” ๊ธฐ๋Šฅ | ๊ธฐ๋Šฅ | ์„ค๋ช… | | --- | --- | | ๐Ÿ’ฌ ์‚ฌ์ด๋“œ๋ฐ” ์ฑ„ํŒ… | Obsidian์„ ๋– ๋‚˜์ง€ ์•Š๊ณ  AI์™€ ๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค. | | ๐Ÿ”Ž ๋ณผํŠธ RAG | Markdown ๋…ธํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๊ด€๋ จ ์ฒญํฌ๋ฅผ ๋ชจ๋ธ ์ปจํ…์ŠคํŠธ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. | | ๐Ÿ“Ž ํŒŒ์ผ/ํด๋” ๋ฉ˜์…˜ | `@file.md`, `@[folder/path]`๋กœ ํŠน์ • ๋…ธํŠธ๋‚˜ ํด๋”๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค. | | ๐Ÿ”Œ MCP ๋ฉ˜์…˜ | `@server`๋กœ ์‹ ๋ขฐํ•œ MCP ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. | | ๐Ÿ“Œ ์ถœ์ฒ˜ ์นด๋“œ | ์ถœ์ฒ˜ ์—ด๊ธฐ, Obsidian ๋งํฌ ๋ณต์‚ฌ, ํ™œ์„ฑ ๋…ธํŠธ์— ์ธ์šฉ ์‚ฝ์ž…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. | | ๐Ÿ—‚๏ธ ์ฑ„ํŒ… ์ €์žฅ | ์ฑ„ํŒ… ์„ธ์…˜์„ ๋ณผํŠธ ์•ˆ์˜ Markdown ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ณ  ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. | | ๐Ÿง  Provider ์„ ํƒ | OpenAI, Claude, Ollama, Ollama Cloud, OpenRouter, ์ปค์Šคํ…€ OpenAI-compatible endpoint๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. | ## ๐Ÿš€ ์„ค์น˜ ### ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ 1. Obsidian์—์„œ **์„ค์ • -> ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ**์„ ์—ฝ๋‹ˆ๋‹ค. 2. **Superpower Inside**๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. 3. ์„ค์น˜ํ•˜๊ณ  ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. 4. ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์ •์—์„œ ์‚ฌ์šฉํ•  provider๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ### ์ˆ˜๋™ ์„ค์น˜ 1. [GitHub Releases](https://github.com/magnitus99/Superpower-Inside/releases)์—์„œ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. 2. `manifest.json`, `main.js`, `styles.css`๋ฅผ `.obsidian/plugins/superpower-inside/`์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. 3. Obsidian ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. 4. **Superpower Inside**๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ## โœ… ์ฒซ ์„ค์ • | ์ˆœ์„œ | ํ•  ์ผ | ์œ„์น˜ | | --- | --- | --- | | 1 | LLM provider ์„ ํƒ ๋ฐ ํ™œ์„ฑํ™” | Settings -> Superpower Inside -> Providers | | 2 | API Key ๋˜๋Š” ๋กœ์ปฌ Base URL ์ž…๋ ฅ | Settings -> Providers | | 3 | ๊ธฐ๋ณธ ์ฑ„ํŒ… ๋ชจ๋ธ ์„ ํƒ | Settings -> Chat | | 4 | ์ž„๋ฒ ๋”ฉ provider์™€ ๋ชจ๋ธ ์„ ํƒ | Settings -> RAG | | 5 | ์ฒซ ๋ณผํŠธ ์ธ๋ฑ์‹ฑ ์‹คํ–‰ | Command Palette -> `Reindex Vault for RAG` | | 6 | ์ฑ„ํŒ… ์‚ฌ์ด๋“œ๋ฐ” ์—ด๊ธฐ | ๋ฆฌ๋ณธ ์ฑ„ํŒ… ์•„์ด์ฝ˜ ๋˜๋Š” Command Palette -> `Open AI Chat` | ## ๐Ÿ’ก ์‚ฌ์šฉ๋ฒ• ### ๐Ÿ’ฌ ๋ณผํŠธ์™€ ๋Œ€ํ™”ํ•˜๊ธฐ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ์ž์—ฐ์–ด๋กœ ์งˆ๋ฌธํ•˜์„ธ์š”. RAG๊ฐ€ ์ผœ์ ธ ์žˆ์œผ๋ฉด Superpower Inside๊ฐ€ ์ธ๋ฑ์‹ฑ๋œ Markdown ๋…ธํŠธ์—์„œ ๊ด€๋ จ ๋‚ด์šฉ์„ ์ฐพ์•„ ๋ชจ๋ธ ์š”์ฒญ์— ํ•จ๊ป˜ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ์‹œ: ```text ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ ๋…ธํŠธ๋ฅผ ์š”์•ฝํ•ด์ค˜. ์ง€๋‚œ๋‹ฌ์— RAG์— ๋Œ€ํ•ด ์ ์€ ๋‚ด์šฉ์„ ์ฐพ์•„์ค˜. ๊ธฐํš ๋…ธํŠธ์™€ ํšŒ์˜ ๋…ธํŠธ ์‚ฌ์ด์˜ ๋ชจ์ˆœ์„ ์ฐพ์•„์ค˜. ``` ### ๐Ÿ“Ž ์ •ํ™•ํ•œ ์ปจํ…์ŠคํŠธ ๋ถ™์ด๊ธฐ ํŠน์ • ์ž๋ฃŒ๋ฅผ ๋ณด๊ฒŒ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๋ฉ˜์…˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. | ๋ฉ˜์…˜ | ์˜๋ฏธ | | --- | --- | | `@note.md` | ๋…ธํŠธ ๊ฒฝ๋กœ๋‚˜ ์ด๋ฆ„์œผ๋กœ ๋…ธํŠธ๋ฅผ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. | | `@[folder/path]` | ํด๋” ์•ˆ์˜ Markdown ๋…ธํŠธ๋ฅผ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. | | `@server` | ์‹ ๋ขฐํ•œ MCP ์„œ๋ฒ„๋ฅผ ์ฒจ๋ถ€ํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. | ### ๐Ÿ“Œ ์ถœ์ฒ˜์™€ ํ•จ๊ป˜ ์ž‘์—…ํ•˜๊ธฐ ์ถœ์ฒ˜ ์นด๋“œ๋Š” ๋‹ต๋ณ€์ด ์–ด๋””์—์„œ ์™”๋Š”์ง€ ํ™•์ธํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์ถœ์ฒ˜ ๋…ธํŠธ๋ฅผ ์—ด๊ฑฐ๋‚˜, Obsidian ๋งํฌ๋ฅผ ๋ณต์‚ฌํ•˜๊ฑฐ๋‚˜, ํ™œ์„ฑ ๋…ธํŠธ์— ์ธ์šฉ์„ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### ๐Ÿ—‚๏ธ ์ฑ„ํŒ… ์„ธ์…˜ ์ €์žฅํ•˜๊ธฐ ์ฑ„ํŒ…์€ ์„ค์ •ํ•œ ์ €์žฅ ํด๋”์— Markdown ํŒŒ์ผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์‚ฌ ํ๋ฆ„, ์ถœ์ฒ˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ์œ ์šฉํ•œ ๋‹ต๋ณ€์„ ๋ณผํŠธ ์•ˆ์— ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณด์•ˆ๊ณผ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ - ์„ค์ •๊ณผ API ํ‚ค๋Š” ์ด ๊ธฐ๊ธฐ์˜ Obsidian ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ €์žฅ๋˜๋ฉฐ, ๋™๊ธฐํ™”๋˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ `data.json` ํŒŒ์ผ์—๋Š” ์ƒˆ๋กœ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. - ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€, ์„ ํƒ๋œ ๋…ธํŠธ, RAG ์ฒญํฌ, ๋„๊ตฌ ํ˜ธ์ถœ ์ธ์ž์™€ ๊ฒฐ๊ณผ๋Š” ์„ค์ •ํ•œ LLM, ์ž„๋ฒ ๋”ฉ provider, MCP ์„œ๋ฒ„๋กœ ์ „์†ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - RAG ๊ธฐ๋Šฅ์€ ์ธ๋ฑ์Šค ์ƒ์„ฑ๊ณผ ๊ฐฑ์‹ ์„ ์œ„ํ•ด ๋ณผํŠธ์˜ Markdown ํŒŒ์ผ ๋ชฉ๋ก์„ ์—ด๋žŒํ•ฉ๋‹ˆ๋‹ค. - ์ถœ์ฒ˜ ๋ณต์‚ฌ์™€ ๋ฉ”์‹œ์ง€ ๋ณต์‚ฌ ๊ธฐ๋Šฅ์€ ์‹œ์Šคํ…œ ํด๋ฆฝ๋ณด๋“œ์— ํ…์ŠคํŠธ๋ฅผ ์”๋‹ˆ๋‹ค. - MCP stdio๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ๋กœ์ปฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•˜๋Š” MCP ์„œ๋ฒ„๋งŒ ์ถ”๊ฐ€ํ•˜์„ธ์š”. - `@server`๋กœ MCP ์„œ๋ฒ„๋ฅผ ๋ฉ˜์…˜ํ•˜๋ฉด Superpower Inside๋Š” ํ•ด๋‹น ๋ฉ˜์…˜์„ ์‹ ๋ขฐํ•œ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์˜์‚ฌ๋กœ ๋ณด๊ณ , ๋ชจ๋ธ์ด ์š”์ฒญํ•œ non-destructive ํˆด์„ ์ž๋™ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํˆด ์ธ์ž์™€ ๊ฒฐ๊ณผ๋Š” ์ตœ์ข… ๋‹ต๋ณ€ ์ƒ์„ฑ์„ ์œ„ํ•ด ์„ค์ •ํ•œ LLM provider๋กœ ๋‹ค์‹œ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋กœ์ปฌ Ollama์™€ ๋กœ์ปฌ MCP ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž์˜ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์ง€๋งŒ, provider ์„ค์ •์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ๋กœ ์ „์†ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
## Development Development documentation lives in: - [Developer guide](docs/README_FOR_DEV.md) - [Development setup](docs/DEV_SETUP.md) - [Community submission guide](docs/OBSIDIAN_COMMUNITY_SUBMISSION.md) ## License MIT