首页 › weekly › 外语自学不报班:8个开源神器

外语自学不报班:8个开源神器

本期思路

前几轮我们聊过智能家居、量化交易、无人机、航海,这一轮换个赛道:语言学习。多邻国股价起飞、Grammarly 卖出数百亿、Anki iOS 版靠一份 25 美元的买断制养活整个开源项目——这条赛道早已被验证能赚钱,但它的地基几乎全是开源的。本期按「沉浸输入 → 查词制卡 → 科学复习 → 写作翻译基建」这条流水线挖了 8 个仓库,既有 2 万星的老牌航母,也有三个星数还没破 2000 的遗珠。文中 Star 数为发稿前约数,以仓库主页为准。


1. ankitects/anki — 记忆卡片界的 Linux

链接:github.com/ankitects/anki | Star 约 2 万+ | 持续活跃更新

一句话定位:全球最流行的间隔重复记忆软件,语言学习的「操作系统级」底座。它解决的问题是反人性的——背过的单词必然遗忘,而 Anki 用算法替你决定「哪张卡今天该复习」,把遗忘率压到最低。

核心拆解:桌面端(Rust + Python + Qt)、AnkiWeb 云同步、AnkiDroid 全免费,配合数万个共享牌组。2006 年至今近二十年迭代,插件生态是它真正的护城河:涂鸦、语音、语法检查、AI 生成卡片,几乎任何需求都有人写过插件。架构上 Rust 重写后端让同步性能上了一个台阶。2023 年底的大版本把 FSRS 纳入内置调度算法,是近年最大的架构升级。

上手难度:⭐⭐

适用人群:所有要长期记忆东西的人——单词、法条、解剖、乐理。商业样本更值得玩味:桌面和安卓免费、iOS 版 AnkiMobile 卖 24.99 美元买断,一个人维护的核心靠终端收费反哺开源,是「免费核心 + 收费终端」的经典教科书。

2. open-spaced-repetition/fsrs4anki — 把遗忘曲线换成真科学

链接:github.com/open-spaced-repetition/fsrs4anki | Star 约数千 | 社区活跃

一句话定位:用现代机器学习算法 FSRS(Free Spaced Repetition Scheduler)取代诞生于 1987 年的 SM-2 算法。老 SM-2 对所有人用同一套参数,FSRS 则根据你本人的历史复习数据,拟合出专属于你的记忆模型。

核心拆解:项目起于一个「野路子」方案——用 JavaScript 脚本注入 Anki 客户端替换调度器,因为效果显著(同样复习量下记住率明显提升,或同样记住率下复习量大幅减少),最终被 Anki 官方收编,从 23.10 版本起 FSRS 成为内置可选项。算法基于 DSR 三变量模型:难度(Difficulty)、稳定性(Stability)、可提取性(Retrievability),参数可用你的复习记录一键优化。围绕它还长出了参数优化器、模拟器和 benchmark 仓库,是少见的「民间项目倒逼官方升级」案例。

上手难度:⭐⭐(Anki 新版里开个开关即可)

适用人群:牌组过千卡的重度用户。二开方向:任何需要记忆功能的 App 都可以直接接入 FSRS 系列算法库,这个赛道刚刚开始。

3. open-spaced-repetition/ts-fsrs — 两千星以下的宝藏库

链接:github.com/open-spaced-repetition/ts-fsrs | Star 约 1.5k | 持续更新

一句话定位:FSRS 算法的 TypeScript 实现,一个 npm install 就能把「科学排程记忆」塞进你自己的产品。它解决的是开发者痛点:想做一个背单词 App,最难的从来不是卡片 UI,而是「这张卡什么时候再出现」的调度逻辑。

核心拆解:纯 TS 编写、零重依赖,核心 API 围绕「创建卡片 → 打分(忘了/困难/良好/简单)→ 返回下次复习时间与记忆状态」展开,状态对象完整暴露难度和稳定性,方便你做可视化或数据分析。同组织还有 Python、Rust、Java、Go 等十来种语言实现,属于罕见的多语言算法家族。文档齐全,示例覆盖主流后端框架的集成姿势。

上手难度:⭐⭐⭐(需要会写代码)

适用人群:独立开发者、教育类创业团队。商业思路直接:市面上背单词 App 一年订阅收数百元的不少见,用 ts-fsrs 做调度核心 + 一个好看的 UI,就是一个小而美的 SaaS 雏形。

4. FooSoft/yomitan — 网页即词典,日语学习者的瑞士军刀

链接:github.com/FooSoft/yomitan | Star 约数千 | 活跃维护

一句话定位:浏览器扩展,鼠标悬停在任意网页的日语词上,即时弹出词典释义,并可一键把这个词连同上下文、截图、发音送进 Anki。它把「沉浸式学习」的摩擦降到接近零——读你真正想读的内容,顺手完成查词和制卡。

核心拆解:前身是传奇扩展 Yomichan,2023 年初原作者停止维护后,yomitan 作为社区接棒者延续至今,支持 Chrome 和 Firefox。亮点在工程细节:支持十几种词典格式导入(JMdict、JMnedict 等开源日语词典体系),高亮分隔词组、自动识别动词变位还原原形——日语的活用变形是查词最大障碍,这一步做得极细。与 Anki 联动通过 AnkiConnect 实现,字段模板完全可自定义。

上手难度:⭐⭐⭐(配置词典和模板需要一点耐心)

适用人群:日语 N3+ 的沉浸式学习者;思路完全可以平移到其他语言。它证明了「工具 + 方法论」型项目能积累极高粘性,社区贡献词典包就是它的生态飞轮。

5. jzohrab/lute — 老派精读法的现代重写

链接:github.com/jzohrab/lute | Star 约 1.5k | 持续更新

一句话定位:自托管的「文本精读」工具,名字直译「学习即使用文本」。它解决的问题是:语言学习经典方法(LWT,Learning With Texts)的祖师爷软件还停在十年前的技术栈,Lute 用现代 Python 栈把它整个重写了一遍——粘贴一篇外文文章,所有生词按掌握程度自动标色,点词即查词典,读完自动进入复习循环。

核心拆解:Docker 一键起服务,Flask + SQLAlchemy + 前端 Vue 的经典组合,代码量克制、结构清晰,非常适合二次开发。功能上覆盖:生词多级标色、词干与变形自动归并(西班牙语动词变位不再重复计词)、多词典一键跳转、配套音频逐句跟读、批量导入网页正文。数据全在自己机器上,学多久、学什么,没有任何平台比你更清楚。

上手难度:⭐⭐⭐(会用 Docker 即可)

适用人群:喜欢读原版书和新闻的中高级学习者;小众但忠诚度高。商业方向:面向外语培训机构或自学社群做托管版,是典型的「小众刚需 + 私有部署」生意。

6. simjanos-dev/LinguaCafe — 自托管的一站式阅读学习平台

链接:github.com/simjanos-dev/LinguaCafe | Star 约 1.5k | 更新以仓库为准

一句话定位:如果 Lute 是极简主义的精读工具,LinguaCafe 就是「全家桶」:阅读、词典、生词复习、统计面板一个平台全包,Docker Compose 拉起来就能给一家人或一个班用。

核心拆解:亮点是多用户设计——建多个用户、各自独立的生词本和复习进度,这是它和单机工具的本质区别。内置词典支持多语言组合,阅读器支持导入网页、文本和电子书,点击任意词即弹出释义并可加入复习队列;复习模块自带间隔重复逻辑,统计页把阅读量、词汇量增长画成曲线。作者持续按社区反馈迭代语言支持,论坛和文档对新手友好。

上手难度:⭐⭐⭐

适用人群:家庭学习小组、语言角社群、小机构。它目前星数不高、讨论度远低于实力,是本期「最被低估」的有力候选——做多租户改造后就是现成的 B2B 小产品。

7. languagetool-org/languagetool — 开源版 Grammarly

链接:github.com/languagetool-org/languagetool | Star 约 1.3 万+ | 大厂级活跃

一句话定位:开源语法和拼写校对引擎,支持几十种语言,是 Grammarly 之外唯一认真的选择。痛点明确:写外语邮件、论文时,拼写检查管不了「时态错了」「介词用错」「这个词不地道」,而这些正是 LanguageTool 的规则引擎所擅长的。

核心拆解:Java 编写,核心是一套可扩展的规则体系(语法规则以 XML 描述,社区可以给自己母语加规则),配合 n-gram 语言模型做上下文纠错,近年加入了基于神经网络的纠错能力。产品形态齐全:浏览器扩展、桌面客户端、LibreOffice 插件、HTTP API。商业上走「开源内核 + 订阅增值」:免费版够用,Premium 提供高级改写和更多检测,API 按调用量收费——开源语法校正做成可持续生意的全球样板。

上手难度:⭐⭐(用客户端)/⭐⭐⭐⭐(自托管全栈)

适用人群:外语写作者;企业可自托管保证文本不出内网,这是对数据敏感行业(法律、医疗、政务)的真实卖点。

8. LibreTranslate/LibreTranslate — 翻译接口的自建底座

链接:github.com/LibreTranslate/LibreTranslate | Star 约 9k | 活跃维护

一句话定位:完全自托管的机器翻译 REST API,底层是开源的 Argos Translate 神经翻译引擎。它解决的是依赖问题——Google/DeepL 的翻译 API 按字符计费且数据出域,LibreTranslate 让翻译能力变成你自己机房里的一条 curl 命令。

核心拆解:Docker 单容器部署,开箱即得兼容 OpenAPI 规范的 REST 接口:检测语言、翻译文本、互译多语言对,模型文件按需下载,断网也能跑。性能上支持 GPU 加速,语言对可通过离线模型包扩充。官方提供的托管服务(libretranslate.com)本身按 API Key 订阅收费,等于官方示范了商业闭环。

上手难度:⭐⭐(Docker 起服务)/⭐⭐⭐(扩语言对、调性能)

适用人群:要给应用加翻译能力的开发者。二开方向清晰:出海客服系统、多语言 CMS、跨境电商商品描述本地化,把 API 成本从「按字符付给云厂商」变成「一次部署随便用」。


本期横向对比

仓库 类型 Star(约) 上手难度 适用场景
ankitects/anki 记忆卡片应用 2万+ ⭐⭐ 长期记忆一切知识
fsrs4anki 调度算法 数千 ⭐⭐ 提升 Anki 复习效率
open-spaced-repetition/ts-fsrs 开发者库 约1.5k ⭐⭐⭐ 自研学习类 App
FooSoft/yomitan 浏览器扩展 数千 ⭐⭐⭐ 日语沉浸式阅读
jzohrab/lute 自托管精读 约1.5k ⭐⭐⭐ 原版书/新闻精读
simjanos-dev/LinguaCafe 自托管平台 约1.5k ⭐⭐⭐ 家庭/小组学习
languagetool-org/languagetool 语法引擎 1.3万+ ⭐⭐~⭐⭐⭐⭐ 外语写作校对
LibreTranslate/LibreTranslate 翻译 API 约9k ⭐⭐ 应用内翻译自建

工具链全景

mindmap
  root((开源外语自学工具链))
    沉浸输入
      yomitan 悬停查词
      lute 精读标色
      LinguaCafe 全家桶平台
    记忆引擎
      Anki 卡片复习
      fsrs4anki 科学排程
      ts-fsrs 嵌入自研应用
    语言基建
      LanguageTool 写作纠错
      LibreTranslate 翻译接口

把这条流水线跑起来大致是:

flowchart TD
    A["读到一篇外文材料"] --> B["yomitan 或 lute 查生词"]
    B --> C["一键送入 Anki 制卡"]
    C --> D["FSRS 计算最佳复习时点"]
    D --> E["到期复习 巩固记忆"]
    E --> A
    F["写外语内容"] --> G["LanguageTool 纠语法"]
    G --> H["LibreTranslate 做辅助互译"]

本期之最

参考来源

  1. ankitects/anki — Anki 官方仓库,FSRS 内置与版本信息见其 Release 说明
  2. open-spaced-repetition/fsrs4anki — FSRS 算法项目主页与 DSR 模型文档
  3. FooSoft/yomitan — yomitan 仓库,Yomichan 后继项目
  4. jzohrab/lute — Lute(Learning Using Texts)仓库与部署文档
  5. simjanos-dev/LinguaCafe — LinguaCafe 仓库与功能说明
  6. languagetool.org / libretranslate.com — 两者官方站点,商业订阅与 API 定价信息

注:因检索环境受限,本文 Star 数为基于公开信息的约数,仓库更新状态请以 GitHub 主页实时数据为准。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入