Smart Search for Anki — Medical

AnkiWeb addon 677438639

Provides keyboard-first medical flashcard search with typo recovery, alias matching, exact Anki filters, optional local semantic search, deck picking, previews, safe bulk actions, and privacy-focused local processing.
AI-generated summary; may contain mistakes.

note-managementtaggingsearchdeck-managementshortcutsbeta

Open on AnkiWeb GitHub Ask about alternatives

AnkiWeb

Rating
1 (👍 1 · 👎 0)
Updated
2026-08-25
Anki versions
<=26.08
Description language
en

Maintenance

active

  • Last update or commit was 37 days before the snapshot (2026-08-25).
  • The repository has 37 test files.
  • The repository has 1 GitHub Actions workflows.

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
24.1126.082026-08-25
History across monthly snapshots

Loading…

Similar addons

Smart:Search

Adds ranked natural-language search to Anki Browser, using rarity-weighted matching, synonym cleanup, bounded feedback, native filters, note grouping, and score cutoffs.

search

Rating 0 👍 0 · 👎 0 ⭐ 0 Anki <=26.09 Updated 2026-09-25
Anki Semantic Search

Searches Anki notes by meaning with keyword, embedding, or hybrid retrieval, then generates cited AI answers using local or cloud providers.

aisearch

Rating 3 👍 3 · 👎 0 ⭐ 3 Anki 25.09.2~ Updated 2026-06-15
Anki Image Picker

Lets Anki users interactively pick web-search images for flashcards, batch-process notes, and choose Bing, DuckDuckGo, or API-based Google Images providers.

card-creationsync-integrationshortcuts

Rating 4 👍 4 · 👎 0 ⭐ 0 Anki 26.12~ Updated 2026-04-03

README

Smart Search for Anki — Medical

Fast, forgiving medical search for Anki Desktop—with native filters, local semantic search, and safe card actions.

Created by Saleh Mostafa with MedBrevia.

Distribution: the public beta is available from AnkiWeb. Install it with add-on code 677438639. The frozen release archive is also available through GitHub Releases.

Smart Search showing typo recovery and ranked synthetic medical results

Find the card you meant

Open the palette with Command-K on macOS or Ctrl-K on Windows/Linux, type naturally, and press Return to open the result in Anki's Browser. In Anki's Browser, click the green magnifier-plus at the left edge of the main search field to open that visible query in Smart Search. In Smart Search, right-click the query field and choose Search in Anki Browser to send the current query back to Anki's native Browser.

  • buproprion can find bupropion.
  • A supported brand name can find its generic medication.
  • Search is case-insensitive by default.
  • Native filters such as deck:, tag:, note:, is:, flag:, prop:, rated:, field searches, Boolean groups, and wildcards are delegated to Anki.
  • In Smart and Semantic modes, simple filters constrain the final eligible cards without changing the free-text relevance calculation.
  • Card-specific filters return only the sibling cards that actually match.
  • Choose one or several nested decks from the searchable deck picker without having to remember or type their full paths.
  • Set one regular deck as the profile-specific default in that picker. A new, blank Smart Search window starts in that deck; explicit Browser handoffs and one-off deck choices remain unchanged.
  • Adaptive relevance cutoffs remove weak trailing results instead of filling the list to an arbitrary maximum.

Three useful modes

Mode Best for Network/model required
Smart Typos, medical aliases, phrases, and everyday retrieval No
Exact Standard Anki Browser syntax: separate terms are ANDed; quotes preserve a phrase No
Semantic Finding cards by clinical meaning One explicit local setup

Smart/Exact and Semantic use separate local indexes. Smart and Exact remain usable while Semantic prepares.

Semantic Search setup explaining the separate index and supported platform

Work with results without losing context

  • Move into the result list and the rendered inline card preview opens automatically; disable it or choose whether new previews start on the question, answer, or editable fields in Search Settings.
  • Press Space or Right Arrow to reveal the selected card's answer; press Left Arrow to return to its front. These controls keep working after you click inside the rendered card.
  • Preview and edit the selected card in a resizable pane without leaving the search window; close it temporarily or expand it when more room is useful.
  • See compact suspension and flag indicators on each result.
  • Flag, suspension, and tag changes keep the current list in place; press Enter or search again whenever you want filters to be reapplied.
  • Undo the latest Smart Search collection action directly from the result toolbar; the button disables itself if another Anki change happens first.
  • Check one result, Shift-click a range, or choose All shown, None, or Invert.
  • Choose Related for the highlighted or checked results to find notes that share the same complete UWorld or AMBOSS source tag. Related matches can come from any deck, show why they matched, and open as a temporary view; Back to search restores the prior results and selection without rerunning the query.
  • Open exactly the checked cards in Anki's Browser.
  • Flag, suspend, unsuspend, add tags, or remove tags from the toolbar or right-click menu. The right-click menu can also bury/unbury cards or move the exact selection with a searchable hierarchical destination picker.
  • Right-click one note and choose Create Copy… to open Anki's native Add Cards editor prefilled with its fields, tags, media references, and home deck. The copy is created only after you click Add and starts with fresh scheduling.
  • Review the live selection summary before acting; tags apply to notes, while flags, suspension, burial, and deck moves apply to cards.

Every collection change uses Anki's supported, undoable operations and creates one clean Undo step per action. Smart Search never writes directly to collection.anki2.

Bulk selection and card actions using synthetic content

Inline card editing in the clean synthetic test profile

Privacy by design

Search, typo recovery, alias expansion, indexing, and semantic inference run on the user's computer.

  • No Smart Search account
  • No analytics, advertising, telemetry, or crash reporting
  • No upload of card text, queries, tags, deck names, profile names, or embeddings
  • No automatic model installation

Anki may check AnkiWeb for compatible add-on updates. Public installations also offer Check & Update in the About tab; it uses Anki's native updater and never sends card content or search queries.

When the user explicitly starts Semantic setup, the add-on downloads pinned model/tokenizer files over HTTPS and verifies their SHA-256 digests. Ordinary request metadata such as an IP address and user-agent can be visible to the download host; no Anki content or query is included.

Semantic inference and vector-index arithmetic run in a local, short-lived worker process. Card text, embeddings, and validated result records travel only through local operating-system pipes; the worker does not open a network service. Exiting it lets macOS reclaim NumPy, the model, and the native inference libraries instead of retaining them inside Anki.

The local full-text index contains searchable copies of note/card content and metadata. The vector index contains embeddings derived from note text. Treat both with the same privacy as the Anki profile.

Read the complete privacy notice, data-source record, and third-party notices. The intended hosted notice is https://medbrevia.com/legal/smart-search-privacy.

Compatibility

  • Host: Anki Desktop only. Desktop add-ons do not run inside AnkiMobile or AnkiDroid.
  • Anki: Anki Desktop 24.11 through 26.08, including the 25.02, 25.07, 25.09, 26.05, and 26.08 release families.
  • Tested host: The supported-version matrix is exercised on macOS with Apple silicon. Smart and Exact do not load the optional platform-specific Semantic runtime, but Windows, Linux, and Intel Mac integration testing is not part of this release's support claim.
  • Semantic: macOS 14 or later on Apple-silicon Macs only for this release.
  • On Windows, Linux, Intel Mac, or a Mac below macOS 14, Semantic is unavailable gracefully while Smart and Exact remain usable.

See Known limitations for the practical boundaries around indexes, sync, ranking, and collection operations.

Installation

AnkiWeb public beta

  1. In a supported Anki Desktop release, choose Tools → Add-ons → Get Add-ons….
  2. Enter code 677438639 and complete the installation.
  3. Restart Anki, then press Command/Ctrl-K.

The live listing is https://ankiweb.net/shared/info/677438639. Installation by that numeric code was verified in a fresh disposable Anki base: the installed folder was 677438639, Smart and Exact search worked, the inline preview rendered both front and answer, and Semantic remained opt-in without downloading a model.

Install from the frozen archive

The exact signed-off .ankiaddon remains available from GitHub Releases. In Anki, choose Tools → Add-ons → Install from file…, select the archive, and restart.

If you previously installed a manually shared development build, remove or disable that copy before installing the AnkiWeb version. Loading both the named development folder and AnkiWeb's numeric folder would register the add-on twice. Local indexes are disposable and may be rebuilt safely.

Development checkout

Clone the repository, then run the validation and package builder:

python3 -m pip install -r scripts/requirements-test.txt
python3 -m unittest discover -s tests -t . -p 'test_*.py' -v
python3 scripts/build_addon.py

The builder:

  • starts from an explicit public-file allowlist;
  • excludes local models, expanded runtimes, indexes, caches, logs, profiles, collection databases, credentials, and historical builds;
  • verifies every reviewed binary by SHA-256;
  • compiles all packaged Python;
  • validates resources, licenses, wheel CRCs, standalone-runtime size and structure, archive paths and links, manifest parity, and a 64 MiB regression ceiling; and
  • writes a SHA-256 checksum beside the deterministic archive.

Keyboard reference

  • Command/Ctrl-K: open or focus Smart Search
  • Up/Down or Control-J/Control-K: move through results; the open preview follows
  • Space/Right Arrow: show the highlighted card's answer, including when the rendered card has focus
  • Left Arrow: return to the highlighted card's front
  • Return: open the highlighted result in Anki's Browser
  • Control-Shift-P: open or close the inline card preview
  • Command/Ctrl-Return: open checked results, or all shown when none are checked
  • Shift-Space: check or uncheck the focused result
  • Shift-click: select a continuous range
  • Command/Ctrl-1, 2, or 3: switch Smart, Exact, or Semantic
  • Escape: clear the query or close the palette
  • Escape in Related view: return to the original search results

Architecture and safety

The add-on reads exact changed notes and compact metadata manifests through Anki while Anki owns the collection connection. External SQLite work, text processing, spelling vocabulary construction, model and vector operations, profile initialization, and cleanup run outside Anki's graphical interface thread.

Collection and media sync establish a synchronous embargo before Anki queues host work. Every queued Smart Search collection operation checks that embargo again before it runs, and the gate opens only after all nested sync activity and Anki's deferred reset finish. If Anki reports a PyO3-wrapped Rust backend panic, Smart Search converts it to one normal restart message, cancels its optional work, and makes no more collection calls in that Anki process.

Reviewing has an explicit background-work embargo: card answers schedule no search maintenance, and pending edit/sync/index work resumes only after the reviewer closes and the interface has settled. An explicitly submitted Semantic query remains available in the foreground; it is bounded by an end-to-end timeout and cannot silently leave the interface in Searching….

All native Semantic work is isolated in a pinned standalone Python 3.13 worker with one ONNX thread, single-sequence inference, bounded authenticated messages, and a 256 MiB macOS process-memory ceiling. The worker starts only for Semantic work and exits afterward, allowing the operating system to reclaim NumPy, the model, ONNX Runtime, and Tokenizers memory. While the visible palette remains in Semantic mode, a 90-second idle lease avoids reloading the helper between adjacent searches. Closing the palette reaps it immediately; switching modes leaves the existing idle timer to unload it. Anki receives only validated plain vectors and result records and imports none of those native packages.

Adds, edits, and deletes normally refresh only affected notes. Operations for which Anki does not expose stable affected IDs—such as sync, imports, native bulk edits, undo/redo, and structural deck/note-type changes—schedule a compact manifest audit, then hydrate only the affected notes in bounded batches.

Indexes are disposable and profile-scoped under user_files/. They are not added to collection.anki2 and are not synced by Smart Search.

Medical terminology and model provenance

  • RxTerms 202607 alias snapshot, U.S. National Library of Medicine
  • MedEmbed-small-v0.1 reproducible ONNX INT8 export, based on BAAI BGE small English v1.5
  • Reproducible CLS-pooled, L2-normalized INT8 ONNX export for local inference
  • NumPy, ONNX Runtime, Hugging Face Tokenizers, and FlatBuffers
  • Pinned python-build-standalone CPython 3.13 worker for reclaimable inference

These components improve retrieval; they do not verify that a card is current or medically correct. Search results are not medical advice.

Exact versions, transforms, licenses, checksums, limitations, and required NLM attribution are recorded in DATA_SOURCES.md and THIRD_PARTY_NOTICES.md.

Support and contribution

Use synthetic or fully redacted examples. Never attach an Anki collection, profile folder, search database, vector index, patient information, credentials, or identifiable card content to a public issue.

License

Original add-on code and documentation are available under the MIT License. Third-party components retain their own licenses and notices.

Smart Search is an independent Anki add-on and is not affiliated with or endorsed by Anki or AnkiWeb.