# بهترین برنامه‌های فلش‌کارت متن‌باز در ۲۰۲۶: مقایسهٔ ۶ گزینهٔ آزاد و متن‌باز

*2026-08-02*

Anki در سال ۲۰۲۶ هنوز برای بیشتر افراد بهترین برنامهٔ فلش‌کارت متن‌باز است. انتخاب زمانی جالب‌تر می‌شود که «متن‌باز بودن» تنها شرط قطعی شما نباشد.

شاید یک برنامهٔ مرورگری روی سرور خودتان بخواهید. یا دسته‌کارتی که بتوانید آن را به‌صورت Markdown ساده بخوانید. یا یک سیستم یادداشت خصوصی که فلش‌کارت هم بسازد. هرکدام از این نیازها شما را به محصول متفاوتی می‌رساند و وجود یک مخزن عمومی در GitHub تکلیف انتخاب را روشن نمی‌کند.

ممکن است کنار یک کلاینت دسکتاپ متن‌باز، اپلیکیشنی برای آیفون با کد بسته وجود داشته باشد. یک کانتینر Docker می‌تواند رابط مرورگری را میزبانی کند، بدون اینکه کلاینت‌های بومی را همگام کند. وارد کردن داده‌ها ممکن است کلمات را حفظ کند، اما قالب‌ها، رسانه‌ها و سال‌ها سابقهٔ مرور را که به مجموعه ارزش داده‌اند از بین ببرد.

شش پروژه معیارهای این بررسی را برآورده کردند. کد منتشرشده و مجوز آن، آخرین نسخهٔ پایدار، داده‌های محلی، زمان‌بند، همگام‌سازی، مهاجرت از Anki، خروجی و دقیقاً آن بخش از محصول را که می‌توان شخصاً میزبانی کرد مقایسه کردم. این مورد آخر بیش از آنچه اغلب فهرست امکانات نشان می‌دهند اهمیت دارد.

> **شفاف‌سازی:** من Kirill Markin، سازندهٔ [Nibomo](https://nibomo.com/fa/) هستم؛ یکی از شش برنامهٔ زیر. مخزن MIT آن برنامهٔ وب، کلاینت‌های بومی، بک‌اند، همگام‌سازی و زیرساخت را پوشش می‌دهد. آن را در رتبهٔ اول نگذاشته‌ام. Anki انتخاب پیش‌فرض مطمئن‌تری است، Mnemosyne مسیر جاافتاده‌تری برای مهاجرت از Anki دارد و ادارهٔ چند گزینهٔ این فهرست بسیار ساده‌تر است.

**تاریخ بررسی اطلاعات:** ۵ سپتامبر ۲۰۲۶. نسخه‌های پایدار از کارهایی که فقط در شاخهٔ پیش‌فرض مخزن وجود دارند جدا شده‌اند.

![کوهنوردی پیش از انتخاب یک برنامهٔ فلش‌کارت متن‌باز، شش کوله‌پشتی باز را مقایسه می‌کند و تجهیزات پشتیبان را می‌آزماید](/blog/best-open-source-flashcard-apps-2026-v2.png)

## پاسخ کوتاه

| نیاز اصلی شما | مناسب‌ترین گزینه | دلیل | محدودیتی که باید اول آزمایش کنید |
| --- | --- | --- | --- |
| یک سیستم عمومی قابل‌اتکا یا یک مجموعهٔ پیچیدهٔ موجود | [Anki](https://apps.ankiweb.net/) | کارت‌ها و قالب‌های جاافتاده، FSRS، افزونه‌ها، کلاینت‌های متنوع و خروجی‌های غنی در قالب بسته | اپلیکیشن رسمی iOS و AnkiWeb جزو کد متن‌باز دسکتاپ نیستند؛ میزبانی شخصی همگام‌سازی فراهم می‌کند، نه AnkiWeb |
| جایگزین دسکتاپ متمرکز با ورود دادهٔ جاافتاده از Anki | [Mnemosyne](https://mnemosyne-proj.org/) | مطالعهٔ محلی، ورود انواع کارت و داده‌های یادگیری Anki و سرور همگام‌سازی قابل‌اجرا روی دستگاه خودتان | نسخهٔ 2.11 هنوز آخرین نسخهٔ پایدار است؛ در Android می‌توان مرور کرد، اما ویرایش نه |
| یادداشت و فلش‌کارت در یک پایگاه دانش محلی | [SiYuan](https://b3log.org/siyuan/en/) | اپلیکیشن‌های بومی آفلاین، FSRS داخلی و یک برنامهٔ واقعی مرورگری روی Docker | کلاینت‌های Docker نمی‌توانند با اپلیکیشن‌های بومی همگام شوند و چند فرمان ورود و خروج داده در Docker در دسترس نیست |
| دسترسی به کد وب، موبایل، بک‌اند و زیرساخت | [Nibomo](https://github.com/kirill-markin/flashcards-open-source-app) | یک مونوریپوی MIT با استقرار مستندشده برای محیط عملیاتی | استقرار عملیاتی پشتیبانی‌شده حول AWS طراحی شده و مهاجرت از Anki با از دست رفتن بخشی از داده همراه است |
| برنامهٔ دسکتاپ جوان‌تر با اولویت ذخیرهٔ محلی و ورود مستقیم APKG | [Recall](https://github.com/Madlezz/Recall) | FSRS، نسخه‌های دسکتاپ، PWA، پایگاه‌های دادهٔ محلی و واسط اختیاری رمزگذاری‌شده | ورود داده فقط تصویری از وضعیت زمان‌بندی را حفظ می‌کند، دو فیلد اول یادداشت را می‌خواند و صدا را نادیده می‌گیرد |
| دسته‌کارت‌های Markdown خوانا و بی‌نیاز از شبکه | [Essentialist](https://github.com/essentialist-app/essentialist) | فایل‌های سادهٔ دسته‌کارت و برنامهٔ دسکتاپ و Android که عمداً آفلاین است | همگام‌سازی ندارد و پیشرفت در پایگاه دادهٔ مخفی جداگانه‌ای ذخیره می‌شود |

این جدول امتیازدهی به امکانات نیست. از مشکلی شروع کنید که نمی‌توانید بپذیرید. اگر ده سال سابقهٔ مرور در Anki دارید، حفظ دقیق داده‌ها در مهاجرت از رابط مرتب‌تر مهم‌تر است. اگر استقرار یک مدرسه را اداره می‌کنید، دسترسی مرورگری و بازیابی آزمایش‌شده شاید از افزونه‌ها مهم‌تر باشند.

## چه چیزی برنامهٔ فلش‌کارت متن‌باز محسوب شد؟

چهار شرط را در نظر گرفتم:

1. **بخش اصلی مطالعه کد منتشرشده و مجوز متن‌باز صریح داشته باشد.** فهرستی از ابزارهای یکپارچه‌سازی پیرامون هسته‌ای که کدش منتشر نشده، کافی نیست.
2. **مرور فاصله‌دار همین حالا کار کند.** وعده در نقشهٔ راه یا یک حالت آزمون عمومی کافی نیست.
3. **نسخهٔ منتشرشده یا روش استقرار رسمی با مستندات روشن وجود داشته باشد.** کامیت‌های تازه به‌تنهایی یک نمونهٔ اولیه را به گزینه‌ای مطمئن برای توصیه تبدیل نمی‌کنند.
4. **منابع رسمی جزئیات کافی برای بررسی نحوهٔ نگهداری و جابه‌جایی داده ارائه کنند.** دربارهٔ ذخیره‌سازی آفلاین، همگام‌سازی، ورود و خروج داده یا میزبانی به پاسخ‌های مشخص نیاز داشتم، نه وعدهٔ مبهم «مالکیت داده» برای کاربران.

تعداد ستاره‌ها معیار حذف نبود. ستاره‌ها به‌اندازهٔ تناسب محصول، از قدمت و تبلیغات آن تأثیر می‌گیرند. بااین‌حال بلوغ محصول مهم است. Anki، Mnemosyne و SiYuan نسخه‌ها و شیوه‌های عملیاتی جاافتاده‌ای دارند. Recall و Essentialist برای کاربردهای محدودتری وارد فهرست شدند، چون رفتار نسخه‌های منتشرشده‌شان به‌اندازه‌ای مستند است که بتوان توصیه‌ای مشخص درباره‌شان کرد.

«توسعهٔ فعال» هم به دو بررسی نیاز دارد. نسخهٔ دارای تگ نشان می‌دهد کاربران چه چیزی می‌توانند نصب کنند؛ شاخهٔ پیش‌فرض مسیر آیندهٔ پروژه را نشان می‌دهد. Essentialist روشن‌ترین مثال است: مستندات نسخهٔ پایدارش SM-2 را معرفی می‌کند، اما مستندات شاخهٔ فعلی از FSRS می‌گوید. جدول زیر SM-2 را ثبت کرده است.

## مقایسهٔ شش برنامهٔ فلش‌کارت آزاد و متن‌باز

| برنامه | نسخهٔ پایدار بررسی‌شده | پلتفرم‌ها | داده‌های آفلاین | زمان‌بند | همگام‌سازی | مهاجرت از Anki و راه خروج | بخش قابل‌میزبانی شخصی |
| --- | --- | --- | --- | --- | --- | --- | --- |
| **Anki** | [26.08.1](https://github.com/ankitects/anki/releases/tag/26.08.1)، ۵ اوت ۲۰۲۶ | Windows، macOS، Linux؛ کلاینت‌های جداگانهٔ Android و iOS؛ AnkiWeb | مطالعه در کلاینت‌های نصب‌شده از مجموعه‌های محلی انجام می‌شود | FSRS یا SM-2 قدیمی | AnkiWeb یا سرور رسمی همگام‌سازی با میزبانی شخصی | ورود متن، APKG/COLPKG و پایگاه‌های دادهٔ Mnemosyne؛ خروجی متن یا بسته با امکان انتخاب رسانه و زمان‌بندی | **فقط سرور همگام‌سازی.** خبری از AnkiWeb یا رابط مطالعهٔ مرورگری با میزبانی شخصی نیست |
| **Mnemosyne** | [2.11](https://github.com/mnemosyne-proj/mnemosyne/releases/tag/2.11)، ۱۲ نوامبر ۲۰۲۳؛ فعالیت مخزن در ۲۰۲۶ ادامه داشت | Windows، macOS، Linux، Android؛ مرور محدود در مرورگر | دسکتاپ محلی است؛ Android مرور آفلاین دارد، اما ویرایش ندارد | امتیازدهی تطبیقی یادآوری از ۰ تا ۵ | همگام‌سازی داخلی با یک نمونه روی دسکتاپ یا دستگاه بدون رابط گرافیکی | ورود کامل Anki با انواع کارت سفارشی و داده‌های یادگیری رسماً مستند شده؛ خروجی مخصوص اشتراک‌گذاری پشتیبان کامل نیست | **همگام‌سازی و مرور محدود مرورگری.** سرور مرورگری امکانات امنیتی ندارد |
| **SiYuan** | [v3.8.2](https://github.com/siyuan-note/siyuan/releases/tag/v3.8.2)، ۳۰ اوت ۲۰۲۶ | Windows، macOS، Linux، Android، iOS، HarmonyOS؛ مرورگر از طریق Docker | کلاینت‌های بومی فضای کاری را محلی نگه می‌دارند | FSRS | همگام‌سازی رسمی پولی با رمزگذاری سرتاسری یا اتصال پولی به S3/WebDAV شخص ثالث | برنامه در حالت کلی Markdown و داده وارد می‌کند و چند قالب سند و داده خروجی می‌دهد؛ واردکنندهٔ APKG مستندشده ندارد | **برنامهٔ کامل مرورگری.** Docker کلاینت‌های بومی را همگام نمی‌کند و برخی فرمان‌های ورود و خروج را حذف می‌کند |
| **Nibomo** | [v1.23.0](https://github.com/kirill-markin/flashcards-open-source-app/releases/tag/v1.23.0)، ۱ سپتامبر ۲۰۲۶ | وب، iOS، Android | IndexedDB در وب؛ SQLite در iOS؛ Room روی SQLite در Android؛ تغییرات محلی در صف همگام‌سازی قرار می‌گیرند | FSRS | بک‌اند میزبانی‌شده یا مستقرشده توسط گرداننده | ZIP اختصاصی کارت‌ها، برچسب‌ها، فرادادهٔ منبع و رسانه‌های ارجاع‌شده را منتقل می‌کند، اما دسته‌کارت‌ها، وضعیت یادگیری، تنظیمات و حساب‌ها را نه؛ واردکنندهٔ APKG ندارد | **کل پشتهٔ وب و بک‌اند.** استقرار عملیاتی حول AWS است؛ ساخت نسخه‌های بومی خصوصی جداگانه انجام می‌شود |
| **Recall** | [v1.3.0](https://github.com/Madlezz/Recall/releases/tag/v1.3.0)، ۳۱ ژوئیهٔ ۲۰۲۶ | Windows، macOS، Linux؛ PWA قابل‌نصب | SQLite در دسکتاپ؛ IndexedDB در مرورگر؛ بدون نیاز به حساب و با تله‌متری خاموش به‌صورت پیش‌فرض | FSRS | همگام‌سازی پوشه در دسکتاپ یا واسط اختیاری رمزگذاری‌شده با Cloudflare Worker/R2 | ورود APKG در دسکتاپ دو فیلد اول، دسته‌کارت‌ها، برچسب‌ها، تصویری تقریبی از وضعیت زمان‌بندی و تصاویر را می‌خواند؛ خروجی JSON و آرشیو Recall | **فقط واسط انتقال تصویر وضعیت رمزگذاری‌شده.** خود PWA را میزبانی نمی‌کند |
| **Essentialist** | [v0.3.22](https://github.com/essentialist-app/essentialist/releases/tag/v0.3.22)، ۱۰ اکتبر ۲۰۲۵؛ فعالیت کد در ۲۰۲۶ ادامه داشت | APK برای Android، DMG برای macOS، Flatpak برای Linux؛ Windows با ساخت از کد | بدون دسترسی به شبکه؛ محتوای دسته‌کارت Markdown است | نسخهٔ پایدار: SM-2؛ شاخهٔ پیش‌فرض: FSRS | ندارد | Markdown محتوای کارت را حفظ می‌کند؛ یک پایگاه دادهٔ مخفی کنار فایل، پیشرفت را نگه می‌دارد | **چیزی برای میزبانی وجود ندارد.** از فایل Markdown و فایل همراهش با هم پشتیبان بگیرید |

## ۱. Anki مطمئن‌ترین انتخاب پیش‌فرض است

Anki در بخش‌هایی برنده است که چندان چشمگیر نیستند. از انواع یادداشت پیچیده پشتیبانی می‌کند، از قالب‌ها کارت‌های هم‌خانواده بسازد، رسانه را کنار مجموعه نگه دارد و سال‌ها دادهٔ زمان‌بندی را منتقل کند. نسخهٔ پایدار دسکتاپ در این بررسی [26.08.1](https://github.com/ankitects/anki/releases/tag/26.08.1) است. نسخهٔ جدیدتر 26.09b2 به‌عنوان بتا منتشر شده، پس مبنای این مقاله نیست.

محدودهٔ متن‌باز بودن آن یکدست نیست. [مخزن دسکتاپ مجوز AGPL-3.0-or-later دارد](https://github.com/ankitects/anki/blob/26.08.1/LICENSE) و استثناهای اجزای همراهش را فهرست کرده است. [AnkiDroid](https://github.com/ankidroid/Anki-Android) پروژهٔ متن‌باز جداگانه‌ای برای Android است. AnkiMobile و AnkiWeb محصولات رسمی‌اند، اما کدشان در این مخزن‌ها نیست. توضیح مفصل‌تر در [آیا Anki متن‌باز است؟](/blog/is-anki-open-source/) آمده است.

کلاینت‌های نصب‌شده مجموعه‌ها را محلی نگه می‌دارند، بنابراین مرور معمولی بدون اتصال کار می‌کند. AnkiWeb بخش آنلاین است. اگر کارکرد آفلاین معیار تعیین‌کنندهٔ شماست، [آیا Anki آفلاین کار می‌کند؟](/blog/does-anki-work-offline/) مشخص می‌کند چه چیزهایی محلی می‌مانند و چه کارهایی منتظر همگام‌سازی می‌شوند.

Anki از [FSRS و زمان‌بند قدیمی‌ترش](https://docs.ankiweb.net/deck-options.html) پشتیبانی می‌کند. قالب‌های خروجی آن در این گروه قوی‌ترین نقطهٔ شروع مهاجرت‌اند. [COLPKG کل مجموعه را همراه با زمان‌بندی در بر می‌گیرد](https://docs.ankiweb.net/exporting.html)، و خروجی‌های APKG هم در صورت انتخاب گزینه‌های مربوطه می‌توانند اطلاعات زمان‌بندی و رسانه را شامل شوند. Anki همچنین متن، بسته‌های Anki و پایگاه‌های دادهٔ Mnemosyne 2.0 را وارد می‌کند.

این بستهٔ غنی تضمین نمی‌کند داده‌ها در مقصد بی‌نقص وارد شوند. مقصد همچنان باید قالب‌ها، قواعد تولید کارت، ارجاع‌های رسانه و فیلدهای زمان‌بند را بفهمد. فقط نسبت به یک فایل CSV اطلاعات بیشتری برای کار در اختیار دارد.

[سرور رسمی با قابلیت میزبانی شخصی](https://docs.ankiweb.net/sync-server.html) عمداً محدود است. کلاینت‌های سازگار Anki را همگام می‌کند؛ AnkiWeb، مرور در مرورگر یا پرتال حساب کاربری ارائه نمی‌دهد. به‌طور پیش‌فرض با HTTP رمزگذاری‌نشده گوش می‌دهد و راهنما توصیه می‌کند آن را در شبکهٔ محلی نگه دارید یا جلوی آن VPN یا پراکسی معکوس HTTPS بگذارید. نسخه‌های کلاینت و سرور هم باید سازگار بمانند.

وقتی حفظ دقیق مجموعه، قالب‌ها، افزونه‌ها یا پشتیبانی گسترده از کلاینت‌ها اولویت دارند، Anki را انتخاب کنید. فقط زمانی سراغ گزینهٔ دیگر بروید که محدودیتی مشخص، مثل نبود رابط مرورگری با میزبانی شخصی یا منتشر نشدن کل پشتهٔ موبایل، اهمیت بیشتری داشته باشد.

## ۲. Mnemosyne روی مطالعهٔ محلی تمرکز دارد

Mnemosyne حس یک ابزار مطالعهٔ دسکتاپ را دارد، چون دقیقاً همین است. پایگاه دانش یا پلتفرم ابری اضافه‌ای همراهش نمی‌آید. یک پایگاه دادهٔ محلی، گردش‌کار سنتی مرور فاصله‌دار، برنامهٔ همراه Android برای مرور و سرور همگام‌سازی دریافت می‌کنید که روی دسکتاپ یا دستگاه بدون رابط گرافیکی اجرا می‌شود.

آخرین نسخهٔ پایدار آن هنوز [2.11 از نوامبر ۲۰۲۳](https://github.com/mnemosyne-proj/mnemosyne/releases/tag/2.11) است. مخزن در ۲۰۲۶ تغییراتی دریافت کرده، اما این تغییرات به‌خودی‌خود نصب‌کنندهٔ پایدار نیستند. نسخهٔ 2.11 را روی سیستم‌عامل‌هایی که قصد دارید چند سال آینده استفاده کنید آزمایش کنید.

مجوز را هم نمی‌توان با یک نشان خلاصه کرد. [نقشهٔ مجوزها در ریشهٔ مخزن](https://github.com/mnemosyne-proj/mnemosyne/blob/master/LICENSE) برای openSM2sync مجوز LGPL v3 و برای بقیهٔ Mnemosyne شرایط جداگانه تعیین می‌کند. [مجوز برنامهٔ اصلی](https://github.com/mnemosyne-proj/mnemosyne/blob/master/mnemosyne/LICENSE) AGPL v3 است، با شرط اضافه‌ای که می‌گوید نام Mnemosyne باید در آثار مشتق‌شده به‌وضوح دیده شود و شکل دقیق نمایش با نگه‌دارندگان پروژه هماهنگ شود. پیش از بازتوزیع نسخهٔ تغییریافته، آن متن را بخوانید.

[کلاینت Android مرور آفلاین دارد، اما نمی‌تواند کارت‌ها را ویرایش کند](https://mnemosyne-proj.org/help/android-client). دستگاه‌های دیگر می‌توانند از سرور مرور کارت‌ها در مرورگر که از برنامهٔ دسکتاپ راه‌اندازی می‌شود استفاده کنند، اما صفحهٔ رسمی امکانات هشدار می‌دهد که این سرور امکانات امنیتی ندارد. رابط مفیدی برای شبکهٔ محلی است، نه یک برنامهٔ وب عمومی و کامل.

مهاجرت قوی‌ترین دلیل Mnemosyne برای نماندن در Anki است. صفحهٔ رسمی امکانات، [ورود کامل Anki، شامل انواع کارت سفارشی و داده‌های یادگیری](https://mnemosyne-proj.org/features)، را مستند کرده است. [همگام‌سازی داخلی](https://mnemosyne-proj.org/help/syncing) کارت‌ها و داده‌های یادگیری را ادغام می‌کند و می‌تواند به دستگاهی تحت کنترل شما متصل شود.

فرمان عادی خروجی گرفتن برای پشتیبان‌گیری گمراه‌کننده است. برای اشتراک‌گذاری کارت‌های انتخاب‌شده طراحی شده و داده‌های یادگیری را حذف می‌کند. برای انتقال یا بازیابی کل سیستم، [راهنمای استفاده روی چند کامپیوتر](https://mnemosyne-proj.org/help/mnemosyne-and-multiple-computers) می‌گوید کل پوشهٔ داده را کپی کنید.

Mnemosyne در این فهرست قوی‌ترین جایگزین متن‌باز Anki با تمرکز بر مطالعه است. در عوض، انتشار نسخه‌های پایدار کند است، ویرایش روی موبایل محدود است و رابط مرورگری به محدودسازی دقیق دسترسی شبکه نیاز دارد.

## ۳. SiYuan وقتی مناسب است که یادداشت‌ها محور کار باشند

SiYuan برنامهٔ مدیریت دانشی با اولویت حریم خصوصی است که فلش‌کارت را در همان مدل بلوک و سند جا داده است. وقتی مطالب مرور از یادداشت‌هایتان می‌آیند، این طراحی مفید است. اگر فقط صفی از کارت‌ها بخواهید، امکانات و پیچیدگی زیادی همراه آن می‌آید.

[مخزن AGPL-3.0](https://github.com/siyuan-note/siyuan) به رابط کاربری، هسته، برنامه‌های موبایل، لایهٔ داده و جزء FSRS پیوند می‌دهد. نسخهٔ [v3.8.2](https://github.com/siyuan-note/siyuan/releases/tag/v3.8.2) نسخهٔ پایدار بررسی‌شده در این مقاله است. کلاینت‌های دسکتاپ و موبایل فضای کاری را محلی ذخیره می‌کنند و آفلاین به کار ادامه می‌دهند.

همگام‌سازی جزو طرح رایگان ذخیره‌سازی محلی نیست. [صفحهٔ رسمی قیمت‌گذاری](https://b3log.org/siyuan/en/pricing.html) همگام‌سازی رسمی با رمزگذاری سرتاسری را در اشتراک ارائه می‌دهد و امکانات پولی Pro اتصال به فضای S3 یا WebDAV خودتان را اضافه می‌کنند. پروژه همچنین هشدار می‌دهد فضای کاری فعال را در یک پوشهٔ عادی همگام‌سازی فایل نگذارید، چون ویرایش‌های هم‌زمان ممکن است داده‌ها را خراب یا بازنویسی کنند.

Docker یک برنامهٔ واقعی مرورگری اجرا می‌کند، اما به سرور همگام‌سازی برنامه‌های نصب‌شده تبدیل نمی‌شود. [مستندات Docker در v3.8.2](https://github.com/siyuan-note/siyuan/blob/v3.8.2/README.md#docker-hosting) می‌گوید کلاینت‌های دسکتاپ و موبایل نمی‌توانند به آن وصل شوند. Docker ورود Markdown و خروجی PDF، HTML و Word را هم حذف می‌کند. این فرمان‌ها در برنامهٔ بومی کامل وجود دارند؛ بنابراین کپی کردن فهرست عمومی امکانات در برنامهٔ استقرار Docker گمراه‌کننده خواهد بود.

واردکنندهٔ رسمی APKG پیدا نکردم. SiYuan می‌تواند Markdown و قالب‌های دادهٔ خودش را جابه‌جا کند، اما مجموعهٔ Anki به بازسازی حساب‌شده‌تری نیاز دارد.

SiYuan را وقتی انتخاب کنید که پایگاه دانش محصول اصلی شماست و فلش‌کارت باید داخل آن باشد. اگر جایگزین مستقیم Anki می‌خواهید، حدود و امکانات مهاجرت در Mnemosyne و Anki روشن‌ترند.

## ۴. Nibomo کد بخش‌های بیشتری را منتشر می‌کند؛ ادارهٔ آن‌ها هم با شماست

Nibomo در این مقایسه کد گسترده‌ترین بخش‌های محصول را منتشر می‌کند. مونوریپوی MIT شامل برنامهٔ وب، کلاینت‌های iOS و Android، بک‌اند، سرویس احراز هویت، همگام‌سازی، برنامهٔ مدیریت، مایگریشن‌های پایگاه داده و زیرساخت AWS است. نسخهٔ پایدار مبنای این مقاله [v1.23.0](https://github.com/kirill-markin/flashcards-open-source-app/releases/tag/v1.23.0) است. کارهای بعدی روی شاخهٔ پیش‌فرض، قابلیت منتشرشده محسوب نشده‌اند.

[معماری](/docs/architecture/) بر کارکرد آفلاین بنا شده، اما «آفلاین» در هر کلاینت معنای کمی متفاوتی دارد. برنامهٔ وب نسخهٔ مرجع محلی داده را در IndexedDB نگه می‌دارد. iOS از SQLite و Android از Room روی SQLite استفاده می‌کند. تغییرات ابتدا محلی نوشته و پیش از همگام‌سازی در صف خروجی قرار می‌گیرند. این طراحی قطعی اتصال را مدیریت می‌کند؛ ذخیره‌سازی مرورگر را دائمی نمی‌کند و نیاز به آزمایش اجرای برنامه از حالت کاملاً بسته روی هر دستگاه را از بین نمی‌برد.

بستهٔ ZIP اختصاصی Nibomo قالب انتقال محتواست، نه پشتیبان حساب. در v1.23.0، [ساختار بسته](https://github.com/kirill-markin/flashcards-open-source-app/blob/v1.23.0/apps/backend/src/workspacePackages/types.ts) محتوای رو و پشت کارت، برچسب‌ها، نوع کارت، فرادادهٔ منبع و فرادادهٔ بسته را حمل می‌کند؛ رسانه‌های ارجاع‌شده جداگانه در بسته قرار می‌گیرند. ساختار دسته‌کارت‌ها، سابقهٔ مرور، وضعیت FSRS، تنظیمات فضای کاری و حساب‌ها منتقل نمی‌شوند.

در v1.23.0 واردکنندهٔ APKG وجود ندارد. [گردش‌کار مستند مهاجرت با TXT/CSV از Anki](/blog/migrate-from-anki-txt-export-open-source-flashcards/) کارت‌ها را از متن خروجی بازسازی می‌کند و به بازبینی انسانی نیاز دارد. قالب‌ها، وضعیت زمان‌بندی، ساختار دسته‌کارت‌ها و رسانه‌های همراه از این مسیر خودکار حفظ نمی‌شوند. برای دسته‌کارت متنی ساده معقول است، اما برای مجموعه‌ای با سفارشی‌سازی زیاد انتخاب خوبی نیست.

[راهنمای میزبانی شخصی](/docs/self-hosting/) هم به همین اندازه صریح است. محیط عملیاتی از پشتهٔ AWS CDK شامل RDS، Cognito، API Gateway و Lambda، S3 و CloudFront، اطلاعات محرمانه، هشدارها و پشتیبان‌ها استفاده می‌کند. DNS در Cloudflare، ایمیل Resend و پیکربندی Sentry بیرون AWS هستند. Docker Compose برای توسعهٔ محلی است و بستهٔ پشتیبانی‌شدهٔ محیط عملیاتی نیست. گردانندگانی که فایل اجرایی خصوصی iOS یا Android می‌خواهند، باید آن‌ها را جداگانه بسازند و توزیع کنند.

Nibomo را وقتی انتخاب کنید که مالکیت کل کد وب، کلاینت‌های بومی و بک‌اند ارزش این کار عملیاتی را داشته باشد. اگر حفظ مجموعهٔ موجود شرط سخت‌تری است، Anki یا Mnemosyne را انتخاب کنید.

## ۵. Recall مدرن است، اما واردکنندهٔ آن را دقیق بخوانید

Recall جوان‌ترین گزینهٔ اصلی این فهرست است. دلیل حضورش این است که [v1.3.0](https://github.com/Madlezz/Recall/releases/tag/v1.3.0) نسخه‌های شماره‌دار دسکتاپ، PWA قابل‌نصب، ذخیره‌سازی محلی مشخص، FSRS، خروجی داده و طراحی مستند همگام‌سازی با میزبانی شخصی ارائه می‌کند.

برنامهٔ دسکتاپ با مجوز MIT از SQLite استفاده می‌کند؛ PWA از IndexedDB. هیچ‌کدام حساب کاربری نمی‌خواهند و پروژه می‌گوید تله‌متری به‌طور پیش‌فرض خاموش است. نسخه‌های دسکتاپ Windows، macOS و Linux را پوشش می‌دهند.

واردکنندهٔ APKG مفید است، اما عبارت «سابقهٔ مرور» در README بیش از آن چیزی است که پیاده‌سازی نسخهٔ دارای تگ انجام می‌دهد. [کد واردکننده در v1.3.0](https://github.com/Madlezz/Recall/blob/v1.3.0/src-tauri/src/anki_import.rs) گزارش مرورهای Anki را نمی‌خواند. وضعیت فعلی کارت، فاصلهٔ مرور، تعداد تکرار و فراموشی و همچنین پایداری و دشواری FSRS را، در صورت ذخیره شدن آن‌ها توسط Anki، می‌خواند. برای کارت‌های قدیمی‌تر فاقد این فیلدهای FSRS، Recall آن‌ها را از مقادیر SM-2 تخمین می‌زند.

تبدیل محتوا هم محدودیت‌های مهمی دارد. واردکننده به‌جای بازسازی انواع یادداشت و قالب‌های Anki، دو فیلد اول یادداشت را به‌عنوان رو و پشت کارت استفاده می‌کند. نام دسته‌کارت‌ها و برچسب‌ها را نگه می‌دارد. قالب‌های رایج تصویر را استخراج و ارجاع‌هایشان را بازنویسی می‌کند، اما صدا و سایر رسانه‌ها را کنار می‌گذارد. چون واردکننده یک فرمان Tauri است، مهاجرت مستقیم APKG قابلیت دسکتاپ است، نه PWA در مرورگر.

این بسیار بهتر از بازسازی از متن ساده است، اما مجموعه را با تمام جزئیات حفظ نمی‌کند. پیش از اعتماد به یک انتقال بزرگ، کارت‌های جای‌خالی، کارت‌های هم‌خانواده، فیلدهای اضافه، HTML/CSS، تصاویر، صدا، موعدها و یادداشت‌های تکراری را آزمایش کنید.

Recall دو مسیر همگام‌سازی دارد. دسکتاپ می‌تواند تصویری از وضعیت داده‌ها را در پوشه‌ای بنویسد که Dropbox، Drive یا ابزار همگام‌سازی فایل دیگری آن را مدیریت می‌کند. واسط اختیاری از Cloudflare Worker و یک باکت R2 استفاده می‌کند. طبق [طراحی همگام‌سازی در نسخهٔ دارای تگ](https://github.com/Madlezz/Recall/blob/v1.3.0/docs/SYNC.md)، کلاینت‌ها تصویر وضعیت را پیش از بارگذاری با AES-GCM رمزگذاری می‌کنند؛ واسط متن رمزگذاری‌شده را می‌بیند، نه دادهٔ کارت یا کلید را. به‌روزرسانی‌ها از کنترل هم‌زمانی خوش‌بینانه استفاده می‌کنند و در صورت تعارض، یک بار دیگر تلاش می‌کنند، اما همچنان تصویرهای کامل وضعیت را ادغام می‌کنند، نه فیلدها را. واسط عمومی با هزینهٔ نگه‌دارندگان پروژه وجود ندارد؛ خودتان آن را مستقر می‌کنید و URL آن را وارد می‌کنید.

خروجی‌های JSON و آرشیو Recall راه خروج به شما می‌دهند. پیش از آنکه آن‌ها را پشتیبان بنامید، یکی را در یک پروفایل خالی بازیابی کنید.

Recall را وقتی انتخاب کنید که تجربهٔ مدرن دسکتاپ/PWA با اولویت دادهٔ محلی می‌خواهید و می‌توانید جوان بودن پروژه و واردکننده‌ای را بپذیرید که تصویری مفید از وضعیت را حفظ می‌کند، نه کل سیستم Anki را.

## ۶. در Essentialist دسته‌کارت خواناست، اما همهٔ وضعیت یادگیری در آن نیست

Essentialist محدودترین دامنه را در اینجا دارد. هر دسته‌کارت یک فایل Markdown است که می‌توانید در ویرایشگر متن باز کنید، در سیستم کنترل نسخه نگه دارید یا با ابزارهای عادی فایل کپی کنید. برنامه عمداً هیچ درخواست شبکه‌ای نمی‌فرستد.

آخرین نسخهٔ پایدار [v0.3.22](https://github.com/essentialist-app/essentialist/releases/tag/v0.3.22) است. فایل‌های آن شامل نسخه‌های Android، macOS و Linux می‌شوند؛ کاربران Windows باید برنامه را از کد بسازند. [README نسخهٔ دارای تگ](https://github.com/essentialist-app/essentialist/blob/v0.3.22/README.md) زمان‌بند را SM-2 معرفی می‌کند.

[README شاخهٔ پیش‌فرض](https://github.com/essentialist-app/essentialist/blob/main/README.md) اکنون FSRS را معرفی می‌کند و مخزن در ۲۰۲۶ تغییرات کد دریافت کرده است. این مسیر آینده را نشان می‌دهد، اما دلیل نمی‌شود فایل اجرایی ۲۰۲۵ را دارای FSRS بدانیم.

Markdown هم کمتر از چیزی که ابتدا به نظر می‌رسد پوشش می‌دهد. متن کارت در فایل قابل‌مشاهده است، اما پیشرفت در پایگاه دادهٔ مخفی با نام `.<deck file>.db` ذخیره می‌شود. کپی کردن `sample.md` بدون `.sample.md.db` پرسش‌ها و پاسخ‌ها را حفظ می‌کند، اما وضعیت یادگیری را از دست می‌دهد.

همگام‌سازی داخلی بین دستگاه‌ها یا سرور وجود ندارد. می‌توانید فایل‌ها را در پوشهٔ همگام‌شوندهٔ خودتان قرار دهید، اما آن وقت حل تعارض و بازیابی به عهدهٔ شماست.

Essentialist را وقتی انتخاب کنید که Markdown خوانا و کار بدون شبکه هدف اصلی باشند. سیستم بی‌دردسر چنددستگاهی نیست و یک فایل قابل‌مشاهده پشتیبان کامل به حساب نمی‌آید.

## چهار پروژهٔ فعال که ارزش پیگیری دارند

این پروژه‌ها در ۲۰۲۶ فعالیت توسعهٔ واقعی داشته‌اند. بیرون فهرست شش‌تایی اصلی مانده‌اند، چون توصیهٔ یک محصول به چیزی بیش از کد جالب نیاز دارد.

| پروژه | آنچه اکنون مشخص و موجود است | مانع توصیه در فهرست اصلی |
| --- | --- | --- |
| [HSK Nest](https://github.com/s-mberli/hsknest) | کد AGPL، زمان‌بندهای FSRS/SM-2/Leitner، استقرار Docker، سرویس مدیریت‌شده، ورود CSV و خروجی داده | در ژوئیهٔ ۲۰۲۶ ساخته شده؛ نسخهٔ شماره‌دار برنامه ندارد. انتشار GitHub آن بستهٔ صوتی است، نه نسخه‌ای از برنامه |
| [Openlet](https://github.com/ChloeVPin/openlet) | برنامهٔ وب MIT با FSRS، ورود CSV، پوشاندن بخش‌هایی از تصویر و معماری مستند Supabase/Vercel | نسخهٔ دارای تگ ندارد و مستندات رسمی هنوز دامنهٔ کامل کارکرد آفلاین، خروجی و بازیابی در میزبانی شخصی را تعریف نکرده‌اند |
| [Prep](https://github.com/Zamua/prep-app) | کد MIT، FSRS، استفادهٔ میزبانی‌شده و استقرار مستند روی محیط اجرای celld که خود قابل‌میزبانی شخصی است | نسخهٔ دارای تگ ندارد؛ میزبانی شخصی به معنای ادارهٔ celld و فضای ذخیره‌سازی شیء هم هست، نه فقط استقرار یک فایل اجرایی مستقل فلش‌کارت |
| [Kado](https://github.com/LisandroDiMeo/kado-app) | برنامهٔ موبایل Kotlin با GPLv3، زمان‌بندهای FSRS/SM-2، نسخهٔ Android و ورود APKG همراه با قالب‌ها و رسانه | در ۲۰۲۶ ساخته شده؛ iOS نیاز به ساخت از کد دارد و مستندات رسمی همگام‌سازی عمومی بین گوشی‌ها را تعریف نکرده‌اند |

چند نام آشنا به دلایل ساده‌تری این معیارها را برآورده نمی‌کنند. [مخزن متن‌باز Mochi](https://github.com/mochi-cards/open-source) مجموعه‌ای از ابزارهای یکپارچه‌سازی است، نه برنامهٔ اصلی. [Scholarsome](https://github.com/hwgilbert16/scholarsome#features-coming-soon) متن‌باز و قابل‌میزبانی شخصی است، اما README رسمی آن هنوز مرور فاصله‌دار را زیر «امکاناتی که به‌زودی می‌آیند» قرار می‌دهد. [OpenCards](https://github.com/holgerbrandl/opencards) از [v2.5.1 در ژانویهٔ ۲۰۱۷](https://github.com/holgerbrandl/opencards/releases/tag/v2.5.1) نسخه‌ای منتشر نکرده و مخزن آن از ۲۰۱۸ تغییر کد نداشته است.

اگر دسترسی به کد برایتان اختیاری است، [مقایسهٔ گسترده‌تر جایگزین‌های Anki](/fa/blog/best-anki-alternatives/) محصولاتی را هم شامل می‌شود که به نیاز متفاوتی پاسخ می‌دهند.

## مهاجرت را در پنج لایهٔ جدا آزمایش کنید

عبارت «داده‌های Anki را وارد می‌کند» بدون توضیح بعدی تقریباً بی‌فایده است. مهاجرت می‌تواند در یک لایه موفق و در چهار لایهٔ دیگر ناموفق باشد.

| لایه | چه چیزهایی را مقایسه کنید | نشانهٔ گمراه‌کنندهٔ موفقیت |
| --- | --- | --- |
| محتوای کارت | تمام فیلدها، علامت‌های جای‌خالی، برچسب‌ها، نویسه‌های خاص و یادداشت‌های تکراری | تعداد کل کارت‌ها تقریباً برابر است |
| ساختار | انواع یادداشت، قالب‌ها، کارت‌های هم‌خانوادهٔ تولیدشده و دسته‌کارت‌های تودرتو | متن رو و پشت کارت جایی ظاهر شده است |
| رسانه | تصاویر و صدا کپی شده‌اند، از مسیر محلی در دسترس‌اند و آفلاین پخش می‌شوند | واردکننده نام فایل‌ها را تشخیص داده است |
| وضعیت یادگیری | گزارش مرورها، وضعیت، موعد، فاصله، فراموشی‌ها و پارامترهای زمان‌بند | کارت‌های واردشده وجود دارند، اما بی‌سروصدا از نو و به‌عنوان کارت جدید شروع می‌شوند |
| خروج و بازیابی | خروجی یا پشتیبان مستند می‌تواند همان سیستم را جای دیگری بازسازی کند | خروجی متنی خوانا به‌جای پشتیبان کامل در نظر گرفته می‌شود |

پیش از انتقال مجموعهٔ واقعی، عمداً یک دسته‌کارت آزمایشی دردسرساز بسازید. فیلدهای اضافه، جای‌خالی‌ها، قالب‌های مستقیم و معکوس، دسته‌کارت‌های تودرتو، برچسب‌ها، تصاویر، صدا و سابقهٔ مرور کافی در آن بگذارید تا معلوم شود مقصد سابقه را نگه داشته یا نه.

پشتیبان دست‌نخوردهٔ مبدأ را حفظ کنید. پس از ورود، تعداد یادداشت‌ها، کارت‌ها و رسانه‌ها را جداگانه مقایسه کنید. به‌جای اعتماد به پیام «زمان‌بندی وارد شد»، موعدها را بررسی کنید. روی هر دستگاهی که قرار است استفاده کنید، آفلاین مرور کنید. بعد روی دو دستگاه ویرایش‌های آزمایشی متعارض بسازید و رفتار همگام‌سازی را ببینید.

چند روز هر دو سیستم را به کار ببرید. حذف مجموعهٔ قدیمی آخرین مرحله است؛ نشانهٔ کارکرد درست سیستم جدید نیست.

## میزبانی شخصی فقط پس از بازیابی کامل می‌شود

محصولات بالا اصطلاح «میزبانی شخصی» را برای ساختارهای بسیار متفاوت به کار می‌برند:

- Anki و Mnemosyne **سرویس‌های همگام‌سازی** اجرا می‌کنند و کلاینت‌های نصب‌شده همچنان رابط مطالعه‌اند.
- SiYuan در Docker یک **برنامهٔ مرورگری** اجرا می‌کند که کلاینت‌های بومی نمی‌توانند از آن به‌عنوان سرور همگام‌سازی استفاده کنند.
- Recall **واسط انتقال تصویر وضعیت رمزگذاری‌شده** اجرا می‌کند، نه خود PWA را.
- Nibomo **کل پشتهٔ وب و بک‌اند** را مستقر می‌کند و برنامه‌های بومی همچنان جداگانه ساخته می‌شوند.
- Essentialist **سرور ندارد**؛ آنچه در اختیار دارید فایل‌های محلی است.

وقتی این محدوده روشن شد، بخشی را آزمایش کنید که گردانندگان معمولاً عقب می‌اندازند:

1. کارت بسازید، رسانه اضافه کنید، مرورها را انجام دهید و از دو کلاینت همگام کنید.
2. از تمام پایگاه‌های داده، باکت‌های ذخیره‌سازی شیء، فایل‌های محلی، اطلاعات محرمانه و مقادیر پیکربندی ذکرشده در مستندات نسخه بردارید.
3. آن‌ها را در حساب یا دستگاهی خالی، یا استقراری جداگانه بازیابی کنید.
4. تعداد کارت‌ها، رسانه‌ها، سابقهٔ مرور، وضعیت موعدها، ورود به حساب و همگام‌سازی کلاینت‌ها را مقایسه کنید.
5. نسخهٔ بازیابی‌شده را ارتقا دهید و یک چرخهٔ مرور دیگر انجام دهید.

اگر بازسازی هنوز به دستگاه قدیمی وابسته است، سرویس شما در حال اجراست، اما پشتیبان تأییدشده‌ای ندارید.

## پرسش‌های متداول

### بهترین برنامهٔ فلش‌کارت متن‌باز در ۲۰۲۶ چیست؟

Anki برای بیشتر یادگیرندگان بهترین انتخاب پیش‌فرض است. مدل مجموعهٔ جاافتاده، FSRS، پوشش گستردهٔ کلاینت‌ها و غنی‌ترین قالب‌های رسمی پشتیبان و خروجی را کنار هم دارد. محدودیتش این است که محصولات رسمی iOS و وب آن تحت پوشش مخزن متن‌باز دسکتاپ نیستند و سرور قابل‌میزبانی شخصی آن همگام‌سازی ارائه می‌دهد، نه مطالعه در مرورگر.

### بهترین جایگزین متن‌باز Anki چیست؟

Mnemosyne جاافتاده‌ترین جایگزین متمرکز بر مطالعه است و ورود انواع کارت سفارشی و داده‌های یادگیری Anki را رسماً مستند کرده است. Recall ظاهر مدرن‌تری دارد و فایل‌های APKG را مستقیماً در دسکتاپ وارد می‌کند، اما دو فیلد اول یادداشت را تبدیل می‌کند، فقط تصویری از وضعیت زمان‌بندی را نگه می‌دارد، تصاویر را وارد می‌کند، اما صدا و گزارش کامل مرورها را منتقل نمی‌کند.

### آیا می‌توانم Anki را خودم میزبانی کنم؟

بله، می‌توانید سرور رسمی همگام‌سازی Anki را برای کلاینت‌های سازگار اجرا کنید. اما این جایگزین خودمیزبان AnkiWeb نیست: رابط مطالعه در مرورگر ندارد.

### آیا متن‌باز بودن یعنی آفلاین بودن؟

نه. متن‌باز بودن مجوز و دسترسی به کد را توصیف می‌کند. رفتار آفلاین به محل ذخیرهٔ داده در کلاینت و کارهایی بستگی دارد که به سرویس نیاز دارند. عکس آن هم درست است: یک برنامه می‌تواند داده‌ها را محلی نگه دارد، بدون اینکه کد اصلی‌اش را منتشر کند.

### آیا میزبانی شخصی انتقال‌پذیری را تضمین می‌کند؟

نه. میزبانی شخصی تعیین می‌کند سرویس کجا اجرا شود. انتقال‌پذیری به خروجی‌ها، پشتیبان‌های کامل و بازیابی‌ای بستگی دارد که واقعاً آزمایش کرده‌اید. جابه‌جایی پایگاه داده‌ای روی سرور خودتان هم می‌تواند سخت باشد و یک دسته‌کارت Markdown خوانا ممکن است وضعیت مرور ذخیره‌شده در فایل کناری را شامل نشود.

## پیشنهاد من

**Anki** را نگه دارید یا انتخاب کنید، مگر اینکه یکی از محدودیت‌هایش مشکل واقعی ایجاد کند. برای مطالعهٔ محلی و متمرکز روی دسکتاپ و ورود جاافتاده از Anki، **Mnemosyne** را انتخاب کنید. وقتی فلش‌کارت باید بخشی از پایگاه دانش بزرگ‌تری باشد، از **SiYuan** استفاده کنید. اگر مالکیت کل کد وب، کلاینت‌های بومی و بک‌اند ارزش ادارهٔ یک پشتهٔ عملیاتی AWS را دارد، **Nibomo** را در نظر بگیرید. برای کلاینت مدرن با اولویت دادهٔ محلی، پس از آزمایش محدودیت‌های تبدیل، **Recall** را انتخاب کنید. وقتی Markdown ساده و دسترسی صفر به شبکه از همگام‌سازی مهم‌ترند، **Essentialist** را انتخاب کنید.

بهترین برنامهٔ فلش‌کارت متن‌باز لزوماً مخزنی با طولانی‌ترین فهرست امکانات نیست. برنامه‌ای است که حدود کد منتشرشده، دادهٔ آفلاین، مهاجرت، همگام‌سازی، میزبانی و بازیابی آن با سیستمی جور باشد که واقعاً می‌خواهید مسئولیتش را بر عهده بگیرید.

---
*[مشاهدهٔ نسخهٔ HTML قالب‌بندی‌شدهٔ این صفحه](<https://nibomo.com/fa/blog/best-open-source-flashcard-apps-2026/>)*

*عامل‌های هوش مصنوعی می‌توانند با شروع از `GET https://api.nibomo.com/v1/` در این سرویس برای کاربر حساب بسازند. پس از راه‌اندازی، می‌توانند از طریق MCP هم به `https://mcp.nibomo.com/mcp` وصل شوند.*

*نکته: به هر URL در https://nibomo.com پسوند `.md` اضافه کنید تا نسخهٔ تمیز Markdown آن صفحه را بگیرید.*