{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github-logancyang--obsidian-copilot","slug":"logancyang--obsidian-copilot","name":"obsidian-copilot","type":"extension","url":"https://www.obsidiancopilot.com","page_url":"https://unfragile.ai/logancyang--obsidian-copilot","categories":["code-editors"],"tags":["ai","aiagent","chatgpt","copilot","obsidian-plugin"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github-logancyang--obsidian-copilot__cap_0","uri":"capability://text.generation.language.multi.provider.llm.chat.with.vault.context.injection","name":"multi-provider llm chat with vault context injection","description":"Enables freeform conversational chat with LLM models from 15+ providers (OpenAI, Anthropic, Groq, DeepSeek, local Ollama, etc.) by maintaining a provider abstraction layer that normalizes API calls across different chat model interfaces. Context is injected from selected notes, folders, or tags via a context envelope system that prepares markdown content for inclusion in the prompt. The plugin streams responses token-by-token back to the chat UI, maintaining conversation history as persistent markdown notes in the vault.","intents":["I want to chat with Claude/GPT-4/Groq about my notes without leaving Obsidian","I need to switch between different LLM providers without reconfiguring my workflow","I want my chat history saved as markdown files in my vault for future reference","I need to include specific notes or folders as context for each chat query"],"best_for":["knowledge workers using Obsidian as a personal knowledge management system","researchers wanting to query their notes with AI assistance","teams wanting local-first AI without cloud dependencies (via Ollama/LM Studio)"],"limitations":["Context window limited by chosen model's max tokens; large vaults require selective context injection","No built-in context compression — long note collections may exceed token limits","Streaming latency depends on provider response time; local models (Ollama) may be slower than cloud APIs","Chat history stored as markdown files — no built-in full-text search across conversations"],"requires":["Obsidian 0.15.0 or higher","API key for at least one supported provider (OpenAI, Anthropic, Groq, etc.) OR local Ollama/LM Studio instance","For local models: Ollama or LM Studio running on localhost"],"input_types":["text (user message)","markdown (vault notes as context)","images (when using vision-capable models like GPT-4V)"],"output_types":["text (streamed LLM response)","markdown (saved chat history)"],"categories":["text-generation-language","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_1","uri":"capability://search.retrieval.vault.wide.semantic.search.with.bm25.lexical.fallback","name":"vault-wide semantic search with bm25+ lexical fallback","description":"Provides dual-mode search across the entire vault: BM25+ lexical search (free tier) for keyword-based retrieval and optional embedding-backed vector search (Orama or Miyo) for semantic similarity matching. The indexing system maintains an inverted index of vault notes and can optionally compute embeddings via external providers. When a user queries, the system retrieves relevant notes ranked by relevance and injects them as context into the LLM chat, enabling vault-wide question-answering without manual note selection.","intents":["I want to ask a question about my entire vault and get relevant notes automatically","I need semantic search to find notes by meaning, not just keywords","I want to understand which notes are most relevant to my current chat query","I need to search my vault without leaving the chat interface"],"best_for":["researchers with large note collections (100+ notes) needing semantic retrieval","knowledge workers wanting to query their vault without manual context selection","teams using Obsidian as a documentation system needing full-text + semantic search"],"limitations":["BM25+ search is keyword-based and misses semantic relationships (e.g., 'vehicle' won't match 'car')","Embedding-based search requires external API (Orama, Miyo, or self-hosted) — adds latency and cost","Indexing is not real-time; vault changes require manual reindex or background indexing","Vector search quality depends on embedding model quality; poor embeddings degrade retrieval"],"requires":["Obsidian 0.15.0 or higher","For semantic search: API key for Orama, Miyo, or self-hosted embedding service","Vault with notes in markdown format"],"input_types":["text (search query)","markdown (vault notes)"],"output_types":["ranked list of markdown notes (BM25+ or vector similarity scores)","injected context in chat prompt"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_10","uri":"capability://automation.workflow.self.hosted.backend.replacement.for.privacy.first.deployments","name":"self-hosted backend replacement for privacy-first deployments","description":"Allows users on the self-host tier to replace Brevilabs-hosted backend services with self-hosted alternatives: Miyo (embedding service), Firecrawl (web scraping and document conversion), and Perplexity (web search). This enables fully local deployments where no data leaves the user's infrastructure, addressing privacy and compliance requirements. Configuration is via settings UI where users provide URLs to their self-hosted services.","intents":["I need to run Obsidian Copilot on-premises without sending data to Brevilabs","I want to use my own embedding service (Miyo) instead of external APIs","I need to comply with data residency requirements (GDPR, HIPAA, etc.)","I want to self-host document conversion and web search capabilities"],"best_for":["enterprises with strict data residency requirements","teams handling sensitive information (legal, medical, financial)","organizations wanting full control over their AI infrastructure"],"limitations":["Requires operational overhead — users must deploy and maintain Miyo, Firecrawl, Perplexity instances","Self-hosted services may have lower performance than Brevilabs-managed versions","No built-in monitoring or alerting for self-hosted services","Configuration is manual — no automated service discovery or health checks","Self-host tier is premium — requires paid subscription"],"requires":["Obsidian 0.15.0 or higher","Copilot Plus Self-Host (Believer) subscription (paid tier)","Self-hosted Miyo instance (for embeddings)","Self-hosted Firecrawl instance (for document conversion and web scraping)","Self-hosted Perplexity instance (for web search) OR external Perplexity API key","Network connectivity between Obsidian and self-hosted services"],"input_types":["configuration URLs (self-hosted service endpoints)"],"output_types":["embeddings, converted documents, web search results (from self-hosted services)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_11","uri":"capability://memory.knowledge.chat.persistence.and.conversation.history.as.markdown.notes","name":"chat persistence and conversation history as markdown notes","description":"Automatically saves chat conversations as markdown files in the vault, with each conversation stored as a separate note containing the full message history (user messages, AI responses, timestamps). Users can browse, search, and reference past conversations like any other vault note. Conversation files are stored in a designated folder and can be organized by date, project, or custom tags.","intents":["I want to save my chat history in my vault for future reference","I need to search across past conversations to find previous AI responses","I want to export conversations as markdown for sharing or archiving","I need to organize conversations by project or topic"],"best_for":["researchers wanting to maintain a record of their AI-assisted research","teams collaborating on projects and needing shared conversation history","knowledge workers building a searchable archive of AI interactions"],"limitations":["Conversation files are append-only — no built-in editing or pruning","Images attached to chat are not persisted in markdown (only text is saved)","No built-in conversation search — users must use vault search","Conversation files can grow large — no automatic archiving or compression","No privacy controls — all conversations are stored in the vault"],"requires":["Obsidian 0.15.0 or higher","Designated conversation folder in vault"],"input_types":["chat messages (user and AI)"],"output_types":["markdown (conversation history file)"],"categories":["memory-knowledge","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_12","uri":"capability://tool.use.integration.multi.model.provider.abstraction.with.unified.api","name":"multi-model provider abstraction with unified api","description":"Implements a provider abstraction layer (ChatModelProviders enum in src/constants.ts) that normalizes API calls across 15+ heterogeneous LLM providers (OpenAI, Anthropic, Groq, DeepSeek, Mistral, Ollama, LM Studio, etc.). The abstraction handles provider-specific authentication, request/response formatting, streaming protocols, and error handling. Users can switch providers in settings without changing their workflow, and the plugin automatically adapts to each provider's capabilities (e.g., function calling, vision, etc.).","intents":["I want to switch between different LLM providers without reconfiguring my workflow","I need to use local models (Ollama) for privacy but also access cloud models (OpenAI) for complex tasks","I want to compare responses from different providers on the same query","I need to use a specific provider's unique capabilities (e.g., Groq for speed)"],"best_for":["developers and power users wanting flexibility in model selection","teams evaluating different LLM providers","organizations wanting to avoid vendor lock-in"],"limitations":["Not all providers support all features (e.g., function calling, vision, streaming) — feature availability varies","Provider-specific quirks and limitations are not abstracted away — users must understand each provider's behavior","Authentication methods vary by provider — users must manage multiple API keys","Cost and latency vary significantly by provider — no built-in cost estimation or latency optimization","Provider APIs change over time — plugin must be updated to track API changes"],"requires":["Obsidian 0.15.0 or higher","API key for at least one supported provider (OpenAI, Anthropic, Groq, etc.) OR local Ollama/LM Studio instance"],"input_types":["provider configuration (API key, model name, endpoint URL)"],"output_types":["normalized LLM responses (text, streaming, function calls)"],"categories":["tool-use-integration","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_13","uri":"capability://text.generation.language.streaming.response.rendering.with.token.by.token.ui.updates","name":"streaming response rendering with token-by-token ui updates","description":"Streams LLM responses token-by-token directly into the Obsidian chat UI, rendering each token as it arrives from the provider. This provides real-time feedback to users and reduces perceived latency compared to waiting for the full response. The streaming implementation handles provider-specific streaming protocols (Server-Sent Events for OpenAI, streaming for Anthropic, etc.) and gracefully handles network interruptions.","intents":["I want to see the AI's response appear in real-time instead of waiting for the full response","I need to cancel a long-running response if it's going in the wrong direction","I want to see partial results while the AI is still thinking","I need responsive UI feedback during slow API calls"],"best_for":["users wanting responsive, real-time feedback from AI","long-running queries where partial results are useful","teams wanting to cancel expensive API calls mid-stream"],"limitations":["Streaming adds complexity to error handling — errors may occur mid-stream after partial response is rendered","Not all providers support streaming equally well — some have higher latency or incomplete implementations","Token-by-token rendering can be distracting for some users","Streaming responses cannot be edited or modified before being saved to history","Network interruptions may result in incomplete responses"],"requires":["Obsidian 0.15.0 or higher","LLM provider with streaming support (most modern providers support this)"],"input_types":["streamed tokens from LLM provider"],"output_types":["rendered text in chat UI (updated in real-time)"],"categories":["text-generation-language","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_14","uri":"capability://automation.workflow.settings.ui.with.provider.configuration.and.model.selection","name":"settings ui with provider configuration and model selection","description":"Provides a comprehensive settings interface where users configure LLM providers (API keys, model names, endpoints), embedding providers, search settings, and plugin behavior. The settings UI includes dropdowns for provider selection, text fields for API keys, and toggles for optional features. Settings are persisted to Obsidian's local storage and validated on save. The UI dynamically shows provider-specific options (e.g., Azure OpenAI requires endpoint URL and deployment name).","intents":["I want to configure my API keys and select which LLM provider to use","I need to switch between different models (GPT-4, Claude 3, Groq, etc.)","I want to enable optional features like semantic search or autonomous agents","I need to configure self-hosted services (Ollama, Miyo, Firecrawl)"],"best_for":["all users setting up the plugin for the first time","power users configuring advanced options","teams managing plugin settings across multiple users"],"limitations":["Settings UI is not mobile-friendly — designed for desktop Obsidian","No built-in validation of API keys — users must test connectivity manually","Settings are stored locally — no cloud sync across devices","No settings export/import — users must manually reconfigure on new devices","Sensitive data (API keys) are stored in plaintext in Obsidian's local storage"],"requires":["Obsidian 0.15.0 or higher"],"input_types":["user input (API keys, model names, URLs, toggles)"],"output_types":["persisted settings (stored in Obsidian local storage)"],"categories":["automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_2","uri":"capability://text.generation.language.ai.assisted.note.editing.with.diff.preview.and.one.click.apply","name":"ai-assisted note editing with diff preview and one-click apply","description":"Allows users to request AI-generated edits to notes via a 'Composer' mode that generates suggested changes, displays them as a side-by-side diff, and applies them back to the vault with a single click. The system uses the LLM to generate edited markdown content, compares it against the original note, and renders the diff in the UI. Users can accept or reject changes before they're written back to disk, providing a safety mechanism for AI-assisted writing.","intents":["I want to ask AI to rewrite/improve a note and preview changes before applying them","I need to refactor my notes with AI assistance while maintaining control over what gets saved","I want to use AI to format, summarize, or reorganize my notes without manual copy-paste","I need a safe way to apply AI suggestions without accidentally overwriting my work"],"best_for":["writers and researchers iterating on note content with AI assistance","teams collaborating on documentation wanting AI-assisted editing with review","knowledge workers wanting to refactor notes without manual rewriting"],"limitations":["Diff preview is visual only — no merge conflict resolution for complex edits","No version history or undo beyond Obsidian's native undo (changes are immediately written)","LLM may hallucinate or introduce errors — diff preview is essential but not foolproof","Large notes may exceed LLM context window, requiring manual chunking"],"requires":["Obsidian 0.15.0 or higher","API key for a supported LLM provider","Note must be in markdown format"],"input_types":["markdown (note content)","text (user edit request/prompt)"],"output_types":["markdown (edited note content)","diff visualization (side-by-side comparison)"],"categories":["text-generation-language","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_3","uri":"capability://text.generation.language.markdown.based.custom.command.templates.with.variable.substitution","name":"markdown-based custom command templates with variable substitution","description":"Enables users to define reusable AI prompts as markdown files with variable placeholders (e.g., {{selectedText}}, {{fileName}}) that are substituted at runtime. When a user invokes a custom command, the plugin reads the markdown template, substitutes variables with current context (selected text, file name, date, etc.), and sends the resulting prompt to the LLM. This allows non-technical users to create domain-specific prompts without touching code.","intents":["I want to create a reusable AI prompt for summarizing notes without writing code","I need to apply the same AI transformation to multiple notes (e.g., extract action items)","I want to define custom commands for my specific workflow (e.g., 'Generate meeting notes')","I need to share prompt templates with my team"],"best_for":["non-technical Obsidian users wanting to create custom AI workflows","teams defining domain-specific prompts (e.g., legal, medical, technical writing)","power users building personal productivity workflows"],"limitations":["Variable substitution is simple string replacement — no conditional logic or loops","Templates are stored as markdown files in the vault — no UI builder for non-technical users","No built-in versioning or testing for templates — users must manually verify outputs","Limited variable set (selectedText, fileName, date, etc.) — no access to arbitrary vault metadata"],"requires":["Obsidian 0.15.0 or higher","API key for a supported LLM provider","Markdown file with template syntax ({{variableName}})"],"input_types":["markdown (template file with {{variable}} placeholders)","text (selected text, file name, current date, etc.)"],"output_types":["text (LLM response to substituted prompt)"],"categories":["text-generation-language","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_4","uri":"capability://planning.reasoning.react.style.autonomous.agent.with.tool.calling.loop","name":"react-style autonomous agent with tool-calling loop","description":"Implements a ReAct (Reasoning + Acting) agent that iteratively reasons about tasks, calls tools (vault search, web search, note composition), observes results, and decides next steps. The agent uses function calling (supported by OpenAI, Anthropic, Groq, etc.) to invoke tools like 'search_vault', 'search_web', 'compose_note', and 'read_memory'. The loop continues until the agent decides the task is complete or a max iteration limit is reached. This enables multi-step workflows like 'research a topic, find related notes, and draft a summary' without user intervention.","intents":["I want the AI to autonomously research a topic using my vault and the web, then summarize findings","I need the AI to find related notes, synthesize them, and generate a new note automatically","I want to delegate a multi-step task (e.g., 'create a project plan') to the AI agent","I need the AI to iteratively refine answers by searching and reasoning"],"best_for":["researchers wanting autonomous literature review and synthesis","knowledge workers delegating multi-step research tasks to AI","teams using Obsidian as a knowledge base needing autonomous knowledge synthesis"],"limitations":["Agent loops can be unpredictable — may get stuck in infinite loops or take unexpected paths","Tool availability is limited (vault search, web search, composer) — no arbitrary function calling","Max iteration limit (typically 10-20) prevents very long reasoning chains","Web search requires external API (e.g., Perplexity) — adds latency and cost","Agent decisions are non-deterministic — same query may produce different results"],"requires":["Obsidian 0.15.0 or higher","API key for a function-calling LLM (OpenAI, Anthropic, Groq, etc.)","For web search: API key for Perplexity or similar web search provider","Copilot Plus subscription (paid tier)"],"input_types":["text (user task/query)","markdown (vault notes for search)"],"output_types":["text (agent reasoning and final answer)","markdown (generated notes via composer tool)"],"categories":["planning-reasoning","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_5","uri":"capability://memory.knowledge.persistent.memory.notes.for.long.term.agent.context","name":"persistent memory notes for long-term agent context","description":"Allows the autonomous agent to read and write persistent memory notes stored in the vault, enabling it to maintain state across conversations and build long-term context. The agent can create new memory notes, update existing ones, and retrieve them in future sessions. This enables use cases like tracking project progress, maintaining a research log, or building a personal knowledge graph that the agent can reference and update autonomously.","intents":["I want the AI agent to remember decisions and context from previous conversations","I need the agent to maintain a project log that it updates autonomously","I want to build a persistent knowledge graph that the agent can query and extend","I need the agent to track progress on long-running tasks across multiple sessions"],"best_for":["researchers conducting long-term studies needing persistent context","project managers wanting AI to maintain project logs autonomously","knowledge workers building personal knowledge graphs with AI assistance"],"limitations":["Memory notes are unstructured markdown — no schema validation or consistency guarantees","No built-in memory pruning — memory notes can grow unbounded and exceed context windows","Agent may overwrite or corrupt memory notes if prompts are poorly designed","No access control — agent can read/write any note in the vault","Memory retrieval is manual (agent must explicitly search) — no automatic memory injection"],"requires":["Obsidian 0.15.0 or higher","API key for a function-calling LLM","Copilot Plus subscription (paid tier)","Designated memory folder in vault"],"input_types":["text (agent task/query)","markdown (existing memory notes)"],"output_types":["markdown (new or updated memory notes)"],"categories":["memory-knowledge","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_6","uri":"capability://image.visual.image.understanding.and.vision.capable.model.support","name":"image understanding and vision-capable model support","description":"Enables users to attach images to chat messages and send them to vision-capable LLM models (e.g., GPT-4V, Claude 3 Vision, Gemini Vision). The plugin handles image encoding (base64 or URL), constructs the appropriate API request for the chosen provider, and streams the model's response back to the chat. This allows users to ask questions about images, extract text via OCR, analyze diagrams, or get visual feedback without leaving Obsidian.","intents":["I want to ask GPT-4V about a screenshot or diagram in my notes","I need to extract text from an image using AI vision capabilities","I want to analyze a chart or graph and get insights from the AI","I need to attach images to my research notes and discuss them with the AI"],"best_for":["researchers analyzing visual data (charts, diagrams, screenshots)","students wanting to ask questions about images in their notes","teams collaborating on visual content (designs, mockups, screenshots)"],"limitations":["Only vision-capable models support image input (GPT-4V, Claude 3+, Gemini Vision, etc.) — not all providers","Image encoding adds latency — base64 encoding large images can be slow","Vision model costs are higher than text-only models","No built-in image optimization — large images may exceed API limits","Image context is not persisted — images are not stored in chat history markdown"],"requires":["Obsidian 0.15.0 or higher","API key for a vision-capable LLM (OpenAI GPT-4V, Anthropic Claude 3+, Google Gemini Vision, etc.)","Image file in supported format (JPEG, PNG, GIF, WebP)"],"input_types":["image (JPEG, PNG, GIF, WebP)","text (user question about image)"],"output_types":["text (LLM response analyzing image)"],"categories":["image-visual","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_7","uri":"capability://search.retrieval.relevant.notes.sidebar.with.link.graph.and.semantic.suggestions","name":"relevant notes sidebar with link-graph and semantic suggestions","description":"Displays a sidebar panel that shows notes semantically related to the current chat or selected note, combining two ranking signals: link-graph proximity (notes linked via backlinks/forward links) and semantic similarity (via embeddings). The sidebar updates dynamically as the user chats, surfacing notes that might be relevant to the conversation without explicit search. This provides passive discovery of related notes and helps users understand the structure of their knowledge base.","intents":["I want to see which notes are related to my current chat topic","I need to understand the link structure around a note I'm reading","I want passive discovery of related notes without explicit search","I need to visualize my vault's knowledge graph structure"],"best_for":["researchers exploring their vault's knowledge structure","knowledge workers wanting passive note discovery during chat","teams understanding relationships between documentation"],"limitations":["Link-graph ranking only works if notes are explicitly linked — sparse vaults show poor results","Semantic ranking requires embeddings — adds latency and requires external API","Sidebar updates are not real-time — may lag behind chat context changes","No filtering or customization of ranking algorithm — users see default suggestions","Large vaults may produce too many suggestions, overwhelming the sidebar"],"requires":["Obsidian 0.15.0 or higher","For semantic ranking: API key for embedding provider (Orama, Miyo, etc.)","Notes with backlinks/forward links for link-graph ranking"],"input_types":["markdown (vault notes and their links)","text (current chat context)"],"output_types":["ranked list of note titles and links"],"categories":["search-retrieval","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_8","uri":"capability://memory.knowledge.project.scoped.context.with.folder.tag.url.boundaries","name":"project-scoped context with folder/tag/url boundaries","description":"Allows users to define 'projects' that scope the AI's context to specific folders, tags, or external URLs. When a project is active, the AI only searches and retrieves notes within the project's boundaries, preventing context pollution from unrelated notes. Projects can combine multiple context sources (e.g., 'folder: /research AND tag: #active') and can include external URLs for web-based documentation. This enables multi-project workflows where users switch between isolated contexts.","intents":["I want to isolate my AI context to a specific project folder without searching the entire vault","I need to combine notes from multiple folders and tags into a single project context","I want to include external documentation (URLs) in my project context","I need to switch between projects without manually selecting context each time"],"best_for":["teams managing multiple projects in a shared vault","researchers isolating different research areas","knowledge workers wanting project-specific AI assistance"],"limitations":["Project definitions are static — no dynamic context based on current file or selection","URL-based context requires external web scraping (Brevilabs-hosted or self-hosted Firecrawl)","No project templates — users must manually define each project","Context boundaries are not enforced at the LLM level — agent can still access other notes if prompted","No project-level permissions — all users see all projects"],"requires":["Obsidian 0.15.0 or higher","Copilot Plus subscription (paid tier)","For URL-based context: Brevilabs-hosted backend or self-hosted Firecrawl"],"input_types":["folder paths, tag names, URLs (project definition)","markdown (notes within project scope)"],"output_types":["scoped context for chat and search"],"categories":["memory-knowledge","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-logancyang--obsidian-copilot__cap_9","uri":"capability://data.processing.analysis.document.parsing.and.conversion.pdf.epub.docx.to.markdown","name":"document parsing and conversion (pdf/epub/docx to markdown)","description":"Enables users to upload PDF, EPUB, or DOCX files, which are converted to markdown via Brevilabs-hosted backend (or self-hosted Firecrawl for self-host tier). The converted markdown is stored in the vault and can be searched, referenced, and discussed with the AI. This allows users to import external documents into their knowledge base without manual transcription.","intents":["I want to import a PDF research paper into my vault and chat about it with AI","I need to convert an EPUB book to markdown for easier searching and annotation","I want to include external DOCX documents in my vault without manual copying","I need to extract text from PDFs and integrate them into my knowledge base"],"best_for":["researchers importing academic papers and books","students converting course materials to markdown","teams importing external documentation into their vault"],"limitations":["Conversion quality depends on document structure — complex layouts may not convert perfectly","Large documents may timeout or exceed API limits","Conversion is one-way — no sync if original document is updated","Requires Brevilabs-hosted backend or self-hosted Firecrawl — not available offline","Converted markdown may require manual cleanup for formatting issues"],"requires":["Obsidian 0.15.0 or higher","Copilot Plus subscription (paid tier)","PDF, EPUB, or DOCX file","For self-host tier: self-hosted Firecrawl instance"],"input_types":["PDF, EPUB, DOCX files"],"output_types":["markdown (converted document content)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":40,"verified":false,"data_access_risk":"high","permissions":["Obsidian 0.15.0 or higher","API key for at least one supported provider (OpenAI, Anthropic, Groq, etc.) OR local Ollama/LM Studio instance","For local models: Ollama or LM Studio running on localhost","For semantic search: API key for Orama, Miyo, or self-hosted embedding service","Vault with notes in markdown format","Copilot Plus Self-Host (Believer) subscription (paid tier)","Self-hosted Miyo instance (for embeddings)","Self-hosted Firecrawl instance (for document conversion and web scraping)","Self-hosted Perplexity instance (for web search) OR external Perplexity API key","Network connectivity between Obsidian and self-hosted services"],"failure_modes":["Context window limited by chosen model's max tokens; large vaults require selective context injection","No built-in context compression — long note collections may exceed token limits","Streaming latency depends on provider response time; local models (Ollama) may be slower than cloud APIs","Chat history stored as markdown files — no built-in full-text search across conversations","BM25+ search is keyword-based and misses semantic relationships (e.g., 'vehicle' won't match 'car')","Embedding-based search requires external API (Orama, Miyo, or self-hosted) — adds latency and cost","Indexing is not real-time; vault changes require manual reindex or background indexing","Vector search quality depends on embedding model quality; poor embeddings degrade retrieval","Requires operational overhead — users must deploy and maintain Miyo, Firecrawl, Perplexity instances","Self-hosted services may have lower performance than Brevilabs-managed versions","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.32973350827428227,"quality":0.35,"ecosystem":0.55,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.061Z","last_scraped_at":"2026-05-03T13:58:39.623Z","last_commit":"2026-05-01T04:37:26Z"},"community":{"stars":6861,"forks":637,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=logancyang--obsidian-copilot","compare_url":"https://unfragile.ai/compare?artifact=logancyang--obsidian-copilot"}},"signature":"o30aQNM/qXnFXX82q32pxiu3dzVwR0y38AP7ouLVBjAaskt6zDl2VVezZGHjd92pbswrE6h+U4WGmPWuJotHBw==","signedAt":"2026-06-20T05:32:08.723Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/logancyang--obsidian-copilot","artifact":"https://unfragile.ai/logancyang--obsidian-copilot","verify":"https://unfragile.ai/api/v1/verify?slug=logancyang--obsidian-copilot","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}