QuickCite

approved

by ismail saoulaj

Inline, zero-friction fact-checking and citations. DuckDuckGo search with no API keys required. - This plugin has not been manually reviewed by Obsidian staff.

↓ 31 downloadsUpdated 25d agoMIT

πŸ”Ž QuickCite for Obsidian

License: MIT Obsidian Plugin Version

Instant inline fact-checking and verified markdown citations under your cursor β€” without breaking flow.

QuickCite turns any selection or thought into a properly cited, fact-checked reference in seconds. Hit the hotkey, search the web, and drop a sequential markdown footnote into your note. Optionally, let an LLM tell you whether the sources actually support your claim β€” before you cite it.


✨ Features

πŸ” Zero-Config Web SearchPowered by DuckDuckGo with a resilient 3-layer strategy (HTML β†’ Lite β†’ Instant Answer API). No API keys required β€” it works out of the box.
🧠 AI Fact-Checking (Optional)Add an OpenRouter key (or point at a local Ollama / OpenAI-compatible endpoint) to get instant confidence scores, verdict notices, and color-coded [βœ“ Verified] badges on every suggestion.
⚑ Auto Sequential FootnotesInserts [^1], [^2], … inline at your cursor and appends a formatted reference (title + domain link) at the bottom of the note. Never manage footnote numbering by hand again.
🌐 In-Modal Article Reader (⇧↡)Open any highlighted result in your default browser to read the full article β€” without dismissing the modal β€” then come back and cite it.
♾️ Infinite ScrollScroll near the bottom of results and the next page loads automatically. A persistent footer tells you when you've reached the end.
✏️ Editable QueryThe modal opens pre-filled with your selected text, fully selected β€” type to replace it instantly, or backspace to refine.

⌨️ Keyboard Shortcuts

ShortcutAction
Ctrl/Cmd + Shift + COpen QuickCite (fact-check selection / insert citation)
↑ / ↓Navigate search results
EnterInsert footnote citation at cursor
Shift + EnterOpen highlighted result in browser
EscDismiss the modal

πŸš€ Installation

From Community Plugins (when published)

  1. Open Settings β†’ Community plugins in Obsidian.
  2. Click Browse and search for QuickCite.
  3. Click Install, then Enable.

Manual Installation

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Create the folder <your-vault>/.obsidian/plugins/quickcite/.
  3. Copy the three files into it.
  4. Reload Obsidian and enable QuickCite under Settings β†’ Community plugins.

Building from Source

git clone https://github.com/ismailsaoulaj/quickcite.git
cd quickcite
npm install
npm run build   # type-checks and bundles src/main.ts β†’ main.js
npm run dev     # watch mode for development

Then symlink or copy main.js, manifest.json, and styles.css into your vault's plugin folder.

βš™οΈ Configuration

QuickCite works with zero configuration for search. Optional settings live under Settings β†’ QuickCite:

SettingDescription
OpenRouter API KeyOptional. Enables AI fact-checking. Get one free at openrouter.ai. Leave empty to use QuickCite as a pure citation tool.
ModelAny OpenRouter model ID (default: openai/gpt-4o-mini).
Base URLAny OpenAI-compatible endpoint. Point it at http://localhost:11434/v1 for local Ollama models, or LM Studio β€” no cloud required.

When AI fact-checking is active, each result row displays a badge:

  • 🟒 βœ“ Verified β€” sources support the claim
  • πŸ”΄ βœ— Contradicted β€” sources refute the claim
  • 🟑 ? Unclear β€” inconclusive evidence

…plus a notice with confidence percentage and a short explanation. Cited footnotes include the verdict inline.

πŸ› οΈ How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    Ctrl+Shift+C   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Selection /  β”‚ ───────────────▢ β”‚  SuggestModal      β”‚
β”‚ cursor text  β”‚                  β”‚  (editable input)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                            β”‚ debounced query (350 ms)
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β”‚ DuckDuckGoService         β”‚
                              β”‚ 1. HTML  2. Lite  3. API  β”‚
                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                            β”‚ SearchResult[] { title, url, snippet }
                          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                          β”‚ optional LLMService verification   β”‚
                          β”‚ β†’ verdict Β· confidence Β· citations β”‚
                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                            β”‚ Enter
                                 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                 β”‚ [^n] ref at cursor  β”‚
                                 β”‚ [^n]: def at bottom β”‚
                                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“„ License

MIT Β© 2026 Ismail Saoulaj

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.