Smart Search for Anki — Medical

AnkiWeb addon 677438639

Provides a keyboard-first search palette for large medical collections with typo/alias matching, native Anki syntax, local semantic search, deck filtering, inline previews, editing, and safe bulk card actions.
AI-generated summary; may contain mistakes.

note-managementsearchbeta

Open on AnkiWeb GitHub Find alternatives

AnkiWeb

Votes
1 (👍 1 · 👎 0)
Updated
2026-08-25
Anki versions
<=26.08
License
MIT (from the license file in the package)
Virus scan
No ClamAV match A match does not prove malware. No match does not prove that the code is safe.
Languages
Python, JSON
Description language
en

Maintenance

active

  • Last update or commit: 2026-08-25 (68 days before the snapshot).
  • Test files: 37.
  • GitHub Actions workflows: 1.
  • Commits in the last year: 86.
  • Issues: 0 open, 0 closed.
  • Pull requests: 1 open, 19 merged.
  • Median first response: 118 hours (1 answered issues and pull requests).

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 a local AI panel in Anki's Browser that turns plain-English requests into Anki searches, expands synonyms, and finds matching cards privately.

aisearch

1 votes 21% approval 👍 1 · 👎 0 ⭐ 1 Anki 2.1.2~ Updated 2026-06-27
Anki Semantic Search

Enables semantic and keyword search across selected Anki notes, generating cited AI answers through local or cloud providers.

aisearch

3 votes 44% approval 👍 3 · 👎 0 ⭐ 3 Anki 25.09.2~ Updated 2026-06-15
DirectEdit

Enables direct in-reviewer flashcard text editing with formatting, cloze and list tools, a medical spellchecker, and image resizing, avoiding the browser or edit window.

note-managementformattingshortcutscloze

3 votes 21% approval 👍 2 · 👎 1 Anki 2.1.1~ Updated 2026-10-25
The Widget Addon

Transforms Anki's home screen into a customizable study dashboard with 34+ coordinated light/dark scenes, drag-and-drop widgets, progress stats, a review calendar heatmap, and countdown timers.

statisticsprogress-trackingappearance

1 votes 21% approval 👍 1 · 👎 0 Anki 2.1.1~ Updated 2026-10-29
Semantic search

Enables natural-language semantic card search via Voyage AI embeddings, optional Claude reranking and smart search, plus duplicate finding, card actions, and clinical vignette/guideline review modes.

aiduplicatessearch

8 votes 68% approval 👍 8 · 👎 0 Anki 2.1.1~ Updated 2026-04-05

Description

Install from AnkiWeb with code 677438639.

Smart Search for Anki — Medical is a keyboard-first search palette for large medical collections. Press Command-K on macOS or Ctrl-K on Windows/Linux and start typing.

Smart Search results

  • Smart: case-insensitive search with typo recovery and common medication aliases.
  • Exact: Anki's native Browser-search syntax, including phrases, Boolean operators, fields, wildcards, and filters.
  • Semantic: local clinical-meaning search after an explicit, one-time setup.

Use the searchable deck picker to choose one or several decks, or select a parent while excluding individual subdeck branches. One regular deck can be saved as the profile-specific default for new Smart Search windows. Native deck:, tag:, note:, is:, flag:, prop:, rated:, field, wildcard, and Boolean filters are delegated to Anki.

Search results can be previewed or edited in place, opened in Anki's Browser, selected in ranges, and acted on with safe flag, suspension, burial, deck, tag, copy, and Undo workflows.

New in version 1.0.35

  • Smart Search now stops collection access before Anki starts collection or media sync. Queued work rechecks that safety state before it can run.
  • If an add-on collection call receives a PyO3-wrapped Anki backend panic, Smart Search stops all later collection work for that Anki process and asks for a restart instead of calling the damaged backend again.
  • Native Semantic model and vector work now runs only in the disposable helper process, outside Anki.
  • A compact emerald button in Anki's Browser sends the visible Browser query to Smart Search. Right-click the Smart Search query field and select Search in Anki Browser to send the query back.
  • The deck picker can save or clear one profile-specific default deck. A saved default applies only to a fresh, blank Smart Search window.
  • A compact Suspended only control safely adds or removes is:suspended. Complex native queries remain unchanged.

Compatibility

Version 1.0.35 supports Anki Desktop 24.11 through 26.08, including the 25.02, 25.07, 25.09, 26.05, and 26.08 release families. The compatibility matrix is tested on macOS with Apple silicon.

Semantic Search requires macOS 14 or later on Apple silicon. Smart and Exact remain available when Semantic is unsupported, not prepared, or still building its separate index. Windows, Linux, and Intel Mac integration testing is not part of this public-beta support claim.

Privacy and safety

Searches, card text, and indexes stay on the computer. There is no analytics or telemetry. Semantic files download only after the user explicitly starts setup. Card changes use Anki's supported operations; the add-on never edits collection.anki2 directly.

Created by Saleh Mostafa with MedBrevia.

  • Project and support: https://github.com/salehsquared/smart-search-for-anki-medical
  • MedBrevia mobile app: https://medbrevia.com/app
  • Feedback: product@medbrevia.com

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

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.