多感官智能背单词系统 - 用科学改变记忆
一个基于 SM-2 间隔重复算法 的智能背单词 Web 应用,结合 AI 智能解释、真实语境例句、多感官学习等功能,帮助用户高效记忆英语词汇。
- SM-2 间隔重复 - 根据掌握程度智能调整复习时间
- 遗忘曲线优化 - 在遗忘临界点精准复习
- 个性化学习计划 - 每日新词 + 复习任务自动规划
- 电影台词例句 - 从热门电影中精选的真实对话
- 新闻报道语境 - 时事新闻中的单词应用
- 自动获取例句 - 从 Tatoeba 等开源例句库获取
- AI 单词解释 - 详细释义、词根词缀、记忆技巧
- AI 句子翻译 - 智能翻译并解析句子结构
- 划词翻译 - 选中文字即时翻译和解释
- 语境分析 - 分析单词在特定语境中的用法
- 卡片模式 - 经典翻卡学习
- 拼写模式 - 强化书写记忆
- 听写模式 - 听音识词练习
- 句子填空 - 语境应用练习
- 发音功能 - 美式/英式发音切换
- 学习日历 - 热力图展示学习轨迹
- 进度统计 - 词汇掌握情况一目了然
- 成就系统 - 学习里程碑解锁成就
- 排行榜 - 与其他学习者良性竞争
- 账户注册登录 - 数据云端存储
- 多设备同步 - 随时随地继续学习
- 个人词库管理 - 创建和订阅词库
- 学习偏好设置 - 自定义学习体验
- Python 3.9+
- pip
- 克隆项目
git clone https://github.com/yourusername/vocabmaster.git
cd vocabmaster- 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows- 安装依赖
pip install -r requirements.txt- 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入你的配置- 运行应用
python app.py- 访问应用
打开浏览器访问: http://localhost:5000
| 变量 | 说明 | 默认值 |
|---|---|---|
SECRET_KEY |
Flask 密钥 | 随机生成 |
DATABASE_URL |
数据库连接 | sqlite:///vocabmaster.db |
| 变量 | 说明 | 示例 |
|---|---|---|
AI_API_KEY |
AI API 密钥 | sk-xxx |
AI_API_BASE |
API 基础URL | https://api.openai.com/v1 |
AI_MODEL |
模型名称 | gpt-3.5-turbo |
支持的 AI 服务:
- OpenAI (GPT-3.5, GPT-4)
- Anthropic Claude
- 其他 OpenAI 兼容 API
| 变量 | 说明 | 获取方式 |
|---|---|---|
NEWS_API_KEY |
新闻 API | newsapi.org |
YOUDAO_APP_KEY |
有道词典 | 有道智云 |
vocabmaster/
├── app.py # Flask 主应用
├── api_routes.py # API 路由
├── services.py # 外部服务(词典、AI、翻译)
├── requirements.txt # Python 依赖
├── .env.example # 环境变量示例
├── .gitignore # Git 忽略文件
├── templates/ # HTML 模板
│ ├── base.html # 基础模板(含划词翻译)
│ ├── landing.html # 着陆页
│ ├── login.html # 登录页
│ ├── register.html # 注册页
│ ├── dashboard.html # 仪表盘
│ ├── study.html # 学习页面
│ ├── wordbooks.html # 词库管理
│ ├── stats.html # 统计页面
│ ├── leaderboard.html # 排行榜
│ └── settings.html # 设置页面
└── static/ # 静态资源
├── css/
├── js/
└── images/
GET /api/dictionary/lookup?word=xxx- 查询单词GET /api/dictionary/enrich?word=xxx- 获取完整信息POST /api/auto-fetch- 自动获取并保存单词
POST /api/ai/explain- AI 解释单词POST /api/ai/translate- AI 翻译句子POST /api/ai/selection- 划词翻译
GET /api/study/next- 获取下一个学习单词POST /api/study/rate- 提交评分
GET /api/stats/overview- 统计概览GET /api/stats/calendar- 学习日历数据GET /api/achievements- 成就列表
- 注册账号 - 创建你的学习账户
- 添加单词 - 手动输入或导入词库
- 自动获取 - 系统自动获取释义和例句
- 开始学习 - 按照系统规划的任务学习
- 评价掌握 - 对每个单词评价掌握程度
- 定期复习 - 系统智能安排复习时间
| 评分 | 含义 | 下次复习 |
|---|---|---|
| 1 (完全忘记) | 完全不记得 | < 1分钟 |
| 2 (有点印象) | 需要提示才能想起 | 1天 |
| 3 (想起来了) | 稍作思考能想起 | 3天 |
| 4 (非常熟悉) | 立即想起 | 7天+ |
| 按键 | 功能 |
|---|---|
空格 |
翻转卡片 |
1-4 |
评分(翻转后) |
# 初始化数据库
flask db init
flask db migrate
flask db upgrade- 在
app.py中添加数据模型 - 在
api_routes.py中添加 API 路由 - 在
templates/中添加前端模板
# 使用 Gunicorn
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app
# 或使用 Docker
docker build -t vocabmaster .
docker run -p 8000:8000 vocabmaster欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
本项目采用 MIT 协议 - 查看 LICENSE 文件了解详情
- Free Dictionary API - 免费词典数据
- Tatoeba - 开源例句库
- SM-2 Algorithm - 间隔重复算法
用科学改变记忆,让学习更高效! 🚀