Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Cite Engine

NickNick115 downloads

Drift-proof, closed-corpus citations via block refs. Cite only from your clipped sources — fabrication impossible by construction.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates5

You paste a quote into your writeup, then later edit or reword the source note. The link still works, so Obsidian shows everything as fine, but the words you quoted no longer match the source, and nothing warns you. Cite Engine catches that.

It stamps your source notes, snapshots each quote at the moment you cite it, and an integrity check re-reads your sources and flags any quote that has drifted. No AI touches your citations, so it can never invent one, and it never rewrites your prose. It just tells you which quotes to look at.

Works alongside Zotero, the Web Clipper, or any workflow where you keep your sources as notes in your vault.

Cite Engine flags a quote that no longer matches its source

Three commands

  1. Stamp source — run on a clipped note. Adds a stable citekey to frontmatter (from author / year / title) and a ^block-id to every passage. Idempotent.
  2. Cite a passage — fuzzy-pick a passage from your stamped sources and insert a live block-ref citation [[citekey#^blk|p. NN]]. There is no free-text path, so you cannot cite something that doesn't exist.
  3. Integrity check — scan the active note; flags any citation that no longer resolves, and any quoted text that has drifted from its source block.

A quote icon in the left ribbon also runs Cite a passage.

Data model

A source note carries citekey in frontmatter and ^block-ids on its passages. A citation is a native block ref plus a page locator. It renders live, so it can't drift. Resolution is by citekey (content-derived, stable), independent of filename, so renames don't break anything.

Install

From Community Plugins: Settings, Community plugins, Browse, search "Cite Engine".

Beta / testing via BRAT: install the BRAT plugin, run Add a beta plugin, and paste Flyingmiata-droid/cite-engine.

Manual: copy main.js, manifest.json, versions.json into <your-vault>/.obsidian/plugins/cite-engine/, then enable in Settings, Community plugins.

Develop

npm install
npm run build      # bundle -> main.js
npm test           # core logic: G1 no-fabrication, G2 drift-proof
npx tsc --noEmit   # typecheck

The citation logic lives in src/core.ts with no Obsidian imports, so it's unit tested headl

HealthExcellent
ReviewPassed
About
Create drift-proof, closed-corpus citations by stamping source notes with stable citekeys and block IDs and inserting live block-reference citations that always resolve to the original passage. Run integrity checks to flag unresolved citations and quoted text that has drifted from its source.
ResearchLinksProperties
Details
Current version
0.0.5
Last updated
2 months ago
Created
2 months ago
Updates
5 releases
Downloads
115
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
NickNickflyingmiata-droid
GitHubflyingmiata-droid
  1. Community
  2. Plugins
  3. Research
  4. Cite Engine

Related plugins

Influx

A bullet journaling plugin that aggregates a terse stream of backlinked clippings in the footer of notes.

Wikilink Types

Type @ inside wikilink aliases to add relationship types, auto-synced to YAML frontmatter.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Advanced URI

Control everything with URI.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.