liaocaoxuezhe1k downloadsSearch your vault semantically with local vector embeddings and expose RAG search to MCP clients.
Analogy adds local semantic search to Obsidian and exposes your indexed vault to MCP clients for retrieval-augmented generation.
The plugin is desktop-only because it runs a managed local runtime (Node.js, ONNX Runtime) for embeddings and a local SQLite vector store.
Download the release assets from GitHub and copy them into:
<Vault>/.obsidian/plugins/analogy-rag-in-your-vault/
Required release assets:
main.jsmanifest.jsonstyles.cssEnable the plugin in Obsidian Settings -> Community plugins.
Obsidian installs only the three files above; Analogy's guided onboarding sets up the rest. It downloads the managed embedding runtime for your platform from this repository's runtime-<version> release and one embedding model, verifies every file against hashes pinned in the plugin, and builds a first index. No Python, npm install or command line is needed. Supported: macOS on Apple Silicon and Windows x64.
Details: docs/local-runtime.md. Error codes: docs/install-troubleshooting.md.
Semantic Walk is a local, chunk-level exploration canvas in the main Obsidian workspace. Open it from the ribbon, the command palette, the current document, a sidebar search result, or a random indexed chunk.
Expanding a node queries the existing local index on demand. Multiple chunks from the same Markdown document can remain on the canvas while you follow another branch. Use New batch to reset the graph and choose a new random root. Relationship labels are relative to the current candidate batch rather than an absolute similarity percentage.
Indexes created by older Analogy versions may lack stable chunk identity, heading, or position metadata. Existing search remains compatible, but run Rebuild index to enable every Semantic Walk entry and obtain accurate chunk positioning.
~/Library/Application Support/Analogy or %LOCALAPPDATA%\Analogy) and is never synced.https://hf-mirror.com/.https://analogy.zexing.club/api/v1/obsidian/license/validate; deactivation uses /api/v1/obsidian/license/deactivate. These requests send the license key, plugin version, a local device identifier, and a vault identifier, but never note contents, paths, queries, or embeddings.https://analogy.zexing.club/analogy and https://analogy.zexing.club/analogy/account in the browser. The plugin does not receive Stripe credentials or payment-card data.grace_until; after that, the plugin falls back to the free limits without blocking local note access.ANALOGY_ALLOWED_PATHS to restrict which vault paths the MCP server can return.npm install
npm run dev
Build for CI without deploying to Obsidian or creating release assets:
npm run build:ci
Build and atomically deploy the three-file plugin to the configured local Obsidian vault:
npm run build:local
Prepare release assets:
npm run release:prepare
The release tag must exactly match manifest.json version.
src/ - Obsidian plugin source.src/mcp/server/ - MCP server bundled into main.js; reuses the read-only store reader and config in mcp-server/src/.runtime-package/ - Reviewed managed-runtime inputs, including the per-platform version table.scripts/ - Runtime build, verification and release scripts.benchmark/ - Hybrid retrieval and vector scan benchmarks..obsidian/ - Local development vault, ignored by the standalone plugin repo.Apache-2.0