README file from
GithubAI LLM Search
AI LLM Search is a Chinese-first AI sidebar for Obsidian. It lets you use your own OpenAI-compatible model API to chat with selected text, the current note, relevant notes from your knowledge base, and optional web search results without leaving your reading workflow.
Features
- Ask questions about the current note.
- Select text in editing or reading view, then right-click to ask AI or search the whole vault.
- Select text in Obsidian's built-in Web Viewer, then right-click to ask AI with the page URL as source context (desktop).
- Search Markdown notes locally with BM25; no embedding service is required.
- Combine current-note, whole-vault, and web context in one conversation.
- Show exactly which selections, current notes, vault results, and web candidates were sent to the model, grouped by context type.
- Use DuckDuckGo without a search API key, or configure Tavily.
- Connect to OpenAI-compatible services, including local endpoints.
- Store API keys in Obsidian SecretStorage rather than the plugin data file.
- Adapt the sidebar to narrow desktop panes and mobile layouts.
The interface is currently available in Simplified Chinese.
Installation
Community plugins
- Open Settings → Community plugins → Browse.
- Search for AI LLM Search.
- Install and enable it.
Manual installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest GitHub release. - Create
<knowledge-base>/.obsidian/plugins/ai-llm-search/. - Copy the three files into that directory.
- Reload Obsidian and enable AI LLM Search under Community plugins.
Configuration
- Open Settings → AI LLM Search.
- Enter an OpenAI-compatible API base URL and model ID.
- Select or create the model API key with Obsidian SecretStorage. A key is optional for local endpoints such as
localhost. - Optionally limit the folders included in local vault search.
- Optionally choose DuckDuckGo or Tavily for web search.
- Use the ribbon icon to open the AI sidebar.
The command 针对划线内容提问 is available in the command palette. Obsidian community guidelines do not allow plugins to assign default hotkeys, so you can bind your preferred shortcut under Settings → Hotkeys.
Web Viewer questions
- In Obsidian's built-in Web Viewer on desktop, select text on the page, right-click, then choose an AI action. The selected text and page URL appear as pending context in the sidebar.
The built-in Web Viewer selection hook uses Obsidian desktop's embedded webview and is therefore desktop-only. The rest of the plugin remains mobile-compatible.
How context is handled
- Current note: sends the active Markdown note when that scope is enabled.
- Whole vault: builds a local in-memory BM25 index and sends only the highest-ranked excerpts for the selected text plus the current question.
- Selected text: sends the highlighted text as additional context.
- Web: searches for the selected topic plus the current question, filters unrelated candidates, and may fetch URLs included in the question.
Vault indexing happens locally. The plugin does not upload the entire vault unless the selected context itself contains that content.
Privacy and network disclosure
This plugin has no telemetry, analytics, advertising, or developer-operated server.
When you send a message, the question and enabled note excerpts are transmitted directly to the model API endpoint you configured. If web search is enabled, the query is sent to DuckDuckGo or Tavily, and relevant public pages may be fetched directly. API providers and websites process data under their own privacy policies.
Model and Tavily keys are read from Obsidian SecretStorage. They are not stored in the plugin repository or data.json. Non-secret preferences such as the API base URL, model ID, folder filters, and selected SecretStorage entry names are stored through Obsidian's plugin settings API.
Review sensitive note content before sending it to any third-party model or search service.
Development
npm install
npm run build
The production build generates the release asset main.js.
Support
Please report bugs or request features through GitHub Issues.