Home

Awesome

FSRS Helper

Code style: black

FSRS Helper is an Anki add-on that supports FSRS algorithm. It has six main features:

Requirements

Installation

The FSRS Helper add-on is purely an added bonus and is not recommended for extensive use.

Installation link: https://ankiweb.net/shared/info/759844606

Usage

Overview

Feature nameHow does it work?When should I use it?
RescheduleCalculates stability, difficulty, and the optimum interval from the entire review history for each card using FSRS parameters. Then, it changes the due dates of cards.When you update the parameters or desired retention of FSRS. However, this is not necessary anymore, as Anki has a built-in feature "Reschedule cards on change".
AdvanceDecreases the intervals of undue cards based on current and requested R, and interval length to minimize damage to long-term learning.When you want to review your material ahead of time, for example, before a test.
PostponeIncreases the intervals of cards that are due today based on current and requested R, and interval length in a way that minimizes damage to long-term learning.When you are dealing with a large number of reviews after taking a break from Anki or after rescheduling.
Load BalancingAfter the optimal interval is calculated, it is adjusted by a random amount to make the distribution of reviews over time more uniform.Always. This feature makes your workload (reviews per day) more consistent.
Easy DaysAfter the optimal interval is calculated, it is slightly adjusted to change the due date.If you want to spend less time on Anki on some days of the week, for example, Sundays.
Disperse SiblingsSiblings are cards generated from the same note. Their intervals are adjusted to spread them further apart from each other.Always. This feature alleviates the interference; disabling it will only decrease the efficiency of spaced repetition.
FlattenIf the number of future due cards exceeds the limit, the cards are postponed.When you want to spread your backlog to the future.

Reschedule

Rescheduling can calculate the memory states and intervals based on each card's review history and the parameters from the Scheduler code. These parameters can be personalized with the FSRS Optimizer.

Note: For cards that have been reviewed multiple times using Anki's default algorithm, rescheduling may give different intervals than the Scheduler because the Scheduler can't access the full review history when running. In this case, the intervals given by rescheduling will be more accurate. But after rescheduling once, there will be no difference between the two.

image

Advance/Postpone

These two functions are very similar, so I'll talk about them together. You can set the number of cards to advance/postpone, and the Helper add-on will sort your cards and perform the advance/postpone in such a way that the deviation from the original review schedule is minimal while meeting the number of cards you set.

image

image

Load Balance

Once the load balance option is enabled, rescheduling will make the daily review load as consistent and smooth as possible.

image

Here's a comparison, the first graph is rescheduling before enabling it, and the second graph is after enabling:

image

image

Easy Days

You can select any day or days from Monday through Sunday to take off. Once enabled, the Helper add-on will try to avoid these days when rescheduling. On "Reduced" days, you will only have ~50% the usual amount of reviews. On "Minimum" days, there will be ~0% reviews.

Note: Easy Days only works for cards in the "review" stage. Due to technical limitations, FSRS doesn't modify the interval and due date of cards in the "(re)learning" stage. And it also doesn't reschedule cards whose interval is less than 3 days.

Fuzz example:

Exceptions:

If the fuzz range is too narrow or does not exist (review less than 3 days) to satisfy the selected easy days, the day of the week may be selected for review of the card.

image

image

Effect:

image

Disperse Siblings

In Anki, some templates will generate multiple cards related in content from the same note, such as reversed cards (Front->Back, Back->Front) and cloze cards (when you make multiple clozes on the same note). If the review dates of these cards are too close, they may interfere with or remind you of each other. Dispersing siblings can spread the review dates of these cards out as much as possible.

image

Flatten

You can set the maximum number of reviews per day for future days. The Helper add-on will find out the days that exceed the limit and postpone the extra cards to the future.

Advanced Search (<=2.1.66)

In the card browser, you can right-click on the header and click on Difficulty, Stability, Retention to display the current memory states of cards.

image

The Helper also adds search syntax for these three properties, here are some examples:

In Anki 23.10+, you can use the built-in search syntax to search for them as card properties.

Advanced Statistics

Hold down the Shift key and click "Stats" to enter the old version of Anki's statistics interface.

image

The FSRS Stats are based on all cards in your deck or collection (whichever is selected) that you have ever reviewed. They remain unaffected by the 1 month/year settings.

Interpretation:

Other features

Mechanism

Please see this wiki page: FSRS Helper WIKI

Support My Work

I'm Jarrett Ye, a diehard fan of spaced repetition. I used Anki during my high school life and attended my dream college. Now, I'm a researcher and developer in the field of spaced repetition. FSRS is my homage to Anki, expressing my deep gratitude for its invaluable support.

If you like FSRS Helper, please Rate this!👍 Your support will allow more people to enjoy this fantastic tool and improve their learning experience!

A kind request: Writing, supporting, and maintaining FSRS takes considerable time and effort. If this tool has become a valuable asset in your studies, please consider showing your appreciation by clicking the button below to make a contribution on Ko-fi. Every bit of support is greatly appreciated and will go a long way in helping me maintain and improve FSRS over time!

<a href='https://ko-fi.com/X8X6LQZM4' target='_blank'><img height='32' width="127" style='border:0px;height:32px;' src='https://storage.ko-fi.com/cdn/kofi1.png?v=6' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>

Or support me in GitHub: Sponsor @L-M-Sherlock on GitHub Sponsors

Acknowledgements

I referred to the following projects while developing FSRS Helper:

Thanks to all the contributors for their valuable contributions!