Skip to content

Repository files navigation

JLPT Review

把“看得懂的日语”,变成真正能够主动还原的句子。

JLPT Review 是一款面向中文日语学习者的自托管句子重组、汉字读音与间隔复习应用。

输入中文提示和日语原句,系统会在本地自动拆分词块、生成假名注音,并将句子转化为主动回忆练习;完成练习后,再由 FSRS 根据真实表现安排后续复习。

它不是固定题库,而是一套帮助你整理和消化个人日语材料的学习工具。JLPT 例句、教材句子、语法笔记、错题、影视台词和个人表达,都可以逐渐形成自己的日语句库。

本地分词 · 自动评分 · FSRS 复习 · 练习报告 · 学习统计 · Docker 部署

为什么使用句子重组

单纯阅读例句容易产生“看懂了,但无法主动说出来”的错觉。

JLPT Review 会展示中文提示,将日语原句拆分为词块。你需要重新排列这些词块,主动回忆语序、搭配和语法结构,而不是被动查看答案。

一次练习流程:

  1. 根据中文提示回忆日语表达;
  2. 重新排列词块组成句子;
  3. 查看正确答案和假名注音;
  4. 系统根据作答过程判断掌握情况;
  5. FSRS 自动安排下一次复习。

核心功能

句子重组练习

  • 根据中文提示还原日语原句
  • 每个 KWJA 文节对应一个横线槽位
  • 只点选和调整非标点词块,标点与空白固定在原句位置
  • 查看正确句子与假名注音
  • 支持上一题、下一题自由切换
  • 未回答题目不会被强制判错

个人句库管理

  • 创建多个句集
  • 添加、编辑、搜索和删除句子
  • 在句集之间批量移动句子
  • 指定句子进行专项练习
  • 支持教材、JLPT、错题和个人表达整理

汉字读音选择题

  • 根据完整句子的 KWJA 上下文读音生成独立四选一练习
  • 每个目标词拥有独立 FSRS 状态,不影响句子重组进度
  • 选项在服务器生成并持久化,练习时只改变显示顺序
  • 核对后显示完整假名注音、翻译和备注

本地日语解析

系统通过一个仅容器内网可访问的 KWJA tiny 单实例服务完成:

  • 文节级学习词块分析
  • 形态素、词元和上下文读音分析
  • 固定标点与可排序槽位分离
  • 汉字假名注音生成
  • 汉字读音练习卡生成

固定配置为 CPU、char + seq2seq + word、批量大小 1、num_workers=0torch_compile=false。模型只在 analyzer 容器加载一次,结果按原文 SHA256、模型版本和分析模式缓存。解析失败时不会降级为字符分割,也不会覆盖已有有效结果。句子不会发送到外部模型或第三方 API。

FSRS 间隔复习

项目使用官方 FSRS 调度算法,根据每张练习卡的历史表现动态安排复习时间。句子重组卡和汉字读音卡分别调度、分别计算每日上限。

系统不会要求用户手动选择“简单”“困难”等评价,而是根据真实核对过程自动生成学习结果:

  • 忘记
  • 模糊
  • 认识
  • 轻松掌握

答题耗时仅用于统计,不参与评分。

学习报告与统计

每轮练习结束后,可以查看:

  • 本轮完成情况
  • 每道题的用户排列与正确答案
  • FSRS 评分结果
  • 历史练习记录

统计页面提供最近五天的学习表现与学习时长、未来三天预计到期数量,以及当前记忆掌握度。

快速部署

推荐使用 Docker Compose:

git clone https://github.com/Kairitsu/jlpt-review.git
cd jlpt-review
cp secrets/app.env.example secrets/app.env
docker compose up -d --build

默认监听:

127.0.0.1:3220

生产环境建议通过 Caddy、Nginx 等反向代理配置 HTTPS。

数据与隐私

所有学习数据默认保存在自己的服务器中。

包括:

  • 句子内容
  • 练习记录
  • FSRS 记忆状态
  • 学习统计

项目采用 SQLite 存储,不依赖 Redis、PostgreSQL 或外部 AI 服务。

技术栈

  • Python / Flask
  • SQLite
  • Py-FSRS
  • KWJA tiny / rhoknp
  • Transformers / CPU PyTorch
  • 原生 HTML、CSS、JavaScript
  • Chart.js
  • Docker Compose

常见问题

是否自带 JLPT 题库?

不提供。项目用于管理和复习自己的句子材料。

是否需要配置大模型 API?

不需要。分词、注音、评分和复习调度均在本地完成。

是否支持手机访问?

支持。界面适配手机、平板和桌面浏览器。

许可证

本项目采用 GNU Affero General Public License v3.0(AGPL-3.0)。

About

Master Japanese sentences through active recall — a self-hosted, privacy-first app for Chinese learners, with local parsing and FSRS-powered spaced repetition.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages