AnkiWeb
- Rating
- 4 (๐ 3 ยท ๐ 1)
- Updated
- 2026-09-26
- Anki versions
- 2.1.1~
- Description language
- en
AnkiWeb addon 2119980872
Generates AI hints or multiple-choice options for flashcards during review, with multi-provider fallbacks, batch generation, mobile support, and customizable configuration.
Open on AnkiWeb GitHub Ask about alternatives
active
| Min Anki | Max Anki | Updated |
|---|---|---|
| 2.1.1 | + | 2026-09-26 |
Loadingโฆ
Generates Gemini/ChatGPT-powered explanations, multiple-choice hints, clinical vignettes, side-panel Q&A, and custom URL browsing, with per-card saved explanations controlled by remember and auto-reshow toggles.
Converts cloze cards into on-demand multiple-choice hints using Gemini AI or offline distractors, with hotkeys, instant feedback, caching, and customizable settings.
Creates interactive multiple-choice dropdown quizzes in Anki with shuffled answer choices, customizable distractors, optional hints, and cross-device review.
Turns vocabulary flashcards into nine AI-powered language games with example sentences, stories, quizzes, hints, multilingual exam levels, and offline matching.
Provides AI-powered semantic scoring of typed Anki answers with multilingual feedback, review suggestions, configurable prompts, and support for multiple LLM providers.
Mimics Quizlet Learn Mode with progressive multiple-choice, true/false, written, and matching phases, supporting cloze notes, dynamic field mapping, companion fields, native text-to-speech, and configurable question types.
AI-Hints is a powerful Anki add-on that uses Artificial Intelligence to generate helpful hints or multiple-choice options for your flashcards during review. It helps simulate real exam conditions by including the correct answer alongside plausible distractors even for open-ended cards.
Install from anki web
github:https://github.com/athulkrishna2015/AI-Hints
1-9) with color-coded results (green for correct, red for incorrect).Good or Again) automatically upon selecting an option.Ctrl+Click / Cmd+Click). Holding Ctrl/Cmd also reveals a + Add row at the end of each list โ Ctrl+click it, type, and press Enter to append a new hint or option without regenerating (or spending an API call). Clearing an item's text and confirming removes it.ai-hints) when hints are generated and un-tagged when cleared/skipped, enabling fast batch scanning. A "Tag All Cards with Hints" tool in Advanced settings covers cards created before tagging was enabled.The add-on features a multi-tiered, intelligence-driven fallback system. If your primary provider fails (due to rate limits, API key exhaustion, or network issues), the system automatically attempts fallback providers and models strictly ranked by absolute intelligence and reasoning capability.
A read timeout no longer throws the request away. The slow-but-alive request is re-dispatched in a background thread with an extended deadline (default: 3ร the request timeout, clamped to 180โ900s) while fallback continues immediately with the next candidate:
linger_race_policy: "priority", default โ the button shows an amber "โณ Waiting for higher-priority modelโฆ" state). Set "first" to make the first usable result win instantly instead.data envelope, and reasoning models (e.g. some Minimax models) often return the JSON in message.reasoning / reasoning_details instead of content. Responses are now unwrapped and parsed from those fields too, so a good but unusually-shaped reply is no longer reported as "no parseable hints/options".linger_on_timeout: false disables it).Each generation flow has its own base request budget โ request_timeout (explicit review), pregen_request_timeout (pre-generation), batch_request_timeout (batch, default 120s) โ and custom per-model/per-provider timeouts are honored by every flow with extend-only semantics: a value greater than the flow's base wins; a smaller one never shortens an unattended budget.
Fallback lists colour-code models after a fetch so you can spot stale entries at a glance:
A single Remove dropdown removes the models you choose: Selected, Deprecated, No Longer Returned, or both flagged types. Tests are unified under one Test dropdown (Checked / Row / All) in both per-provider and global fallback dialogs.
The batch generation queue is designed for heavy-duty background processing with maximum reliability:
batch_request_timeout, default 120s) instead of the short review timeout. Batch linger retries are disabled by default so timed-out requests do not keep threads and memory alive after a job finishes; opt in with batch_linger_on_timeout: true when late results are worth the extra resource use.batch_state.json) at most every 30 seconds during steady progress โ immediately on every lifecycle event โ and the state file excludes volatile per-model tables (MBs โ KBs).The Mobile Support tab allows you to run AI-Hints on mobile devices (AnkiDroid, AnkiMobile, or AnkiWeb) with a premium, responsive layout.
_ai_hints_template.js script to your media folder automatically).If you have recently updated the add-on and still see the old card style, duplicate labels (e.g., AI Hints:), or missing buttons on AnkiDroid, it is because Android's internal WebView aggressively caches local JavaScript files.
To force AnkiDroid to load the new script:
On AnkiMobile (iOS), tapping an answer option used to blank the card and show the literal text undefined at the top instead of flipping to the answer side.
Cause: AnkiMobile has no JavaScript API for showing the answer. Older builds of the add-on called pycmd('ans') / showAnswer() when an option was tapped (the same API used on Desktop). On iOS that call makes the WebView navigate to a blank page whose content is the string undefined.
Fix (built into v5.8.2+): On iOS, the add-on now detects the AnkiMobile WebView bridge and skips the JS reveal call entirely โ tapping an option only saves your selection and lets AnkiMobile's own tap-to-reveal flip the card, exactly as it does for blank areas, so no undefined screen appears. Desktop and AnkiDroid are unchanged and continue to use their platform JS reveal APIs (pycmd('ans') / showAnswer()). On AnkiWeb (ankiuser.net/study) โ which exposes no JS reveal API either โ the option tap now simulates a click on the reviewer's own Show Answer button instead.
To update your phone:
_ai_hints_template.js reaches AnkiWeb.[!IMPORTANT] Because the reveal uses the native tap zones, keep Review โ Tap Zones โ When Question Shown โ "tap anywhere" (or a zone covering the options) โ Show Answer enabled in AnkiMobile preferences. If you pick a more restrictive zone (e.g. only left/right), tap an option in the middle won't flip the card.
[!TIP] Quick Script Force-Refresh: Sometimes after an update, in order to guarantee loading the absolute latest Javascript template, go to Tools -> Add-ons -> AI-Hints -> Config -> Mobile Support, first click Remove from All Note Types to clean the old assets, and then click One-Click Install: Setup All Note Types again to install the fresh script. Then sync your devices.
If you want to remove AI-Hints from mobile:
_ai_hints_template.js file from your media folder, and trigger a sync to push the cleanup to AnkiWeb in a single click!Go to Tools -> Add-ons -> AI-Hints -> Config to open the graphical configuration window.
http://localhost:11434/v1 or https://aihubmix.com/v1/chat/completions), and models can be dynamically fetched directly from the local server.
{"think": "low"} to control model reasoning traces on thinking-capable models like GPT-OSS or Qwen3).off/low/medium/high) and a Timeout spinbox. Set thinking to "low" for minimal reasoning traces on GPT-OSS or Qwen3, or "off" to disable (where supported). Timeout overrides the provider/global timeout for that specific model โ and is honored by every generation flow (review, pregen, batch) whenever it is greater than that flow's base budget (extend-only).prompt_tokens/completion_tokens/total_tokens) to ai_hints.log, visible in the Logs tab.addon/ai_hints.log).linger_on_timeout, timeout_linger_seconds, linger_race_policy via raw config), migrate hints inside your collection, use maintenance cleanups (now with Searchable Deck Scoping), hide visible hint boxes with the HTML to JSON tool, edit raw JSON configs, and manage the Model Cooldowns & Blacklist (including the Ignore network/offline checks bypass).DEBUG-level output instantly (no restart needed), and a Clear on startup option.
ai-latex-fixeris included as a Git submodule ataddon/latex_fixer/. When cloning for development, rungit submodule update --initto pull it.
See docs/setup.md for build, test, and release instructions, and docs/architecture.md for the high-level architecture and per-module description.
MIT
<img width="2083" height="1188" alt="Screenshot_20260507_215546" src="https://github.com/user-attachments/assets/b3b54ab4-fefb-44cf-85c4-3cf02b7cbe88" /> <img width="1920" height="1025" alt="Screenshot_20260601_002447" src="https://github.com/user-attachments/assets/90a4fea1-bd1d-4dc8-8052-218b017b6131" /> <img width="337" height="750" alt="image" src="https://github.com/user-attachments/assets/1965d9f5-c353-423d-8721-c7581aecae82" />
Mobile support (AnkiDroid and AnkiMobile) is achieved through a โZero-Addonโ architecture. This means that while the Desktop requires the Python addon to generate data, the mobile devices only need the data itself and a lightweight JavaScript renderer to display it.
See changelog.md for the full history of changes and releases.
Full user documentation is available in the docs folder:
Developer documentation: docs/architecture.md (architecture and code) and docs/setup.md#install-from-github-development (build / test / release).