本地私有化查词 & AI 辅助学英语。拍照即查、离线词典、智能聊天,数据绝不上传。
- 拍照取词 — Tesseract OCR 离线识别,拍一张照即可收录单词
- 手动查词 — 内置 ECDICT 精简词库(58K 词条),中英文释义、音标、词形变化
- AI 辅助聊天 — 接入 LLM(DeepSeek 等),针对单词智能对话学英语
- 离线优先 — 词典 + Tatoeba 例句库全部本地,不依赖网络
- SRS 间隔复习 — 10:1 新词复习比,10 次正确 = 掌握
- 多单词本 — 自由创建、编辑、移动、批量管理单词
- 学习档案 — 已掌握/复习中/词汇总量统计 + 10 个成就里程碑
- 数据自由 — TXT/CSV 导入 + JSON 导出,数据完全由你控制
- 隐私优先 — 所有数据仅保存在本机,云端不上传任何信息
| 层 | 技术 |
|---|---|
| 框架 | Flutter 3.x (Dart) |
| 状态管理 | flutter_riverpod |
| 路由 | GoRouter (StatefulShellRoute) |
| 数据库 | sqflite (SQLite) + ECDICT 精简词库 |
| OCR | Tesseract (tesseract_ocr) |
| TTS | flutter_tts |
| 平台 | Android |
# 克隆
git clone https://github.com/Jensen-world/WordSnap.git
cd WordSnap
# 安装依赖
flutter pub get
# 调试运行(需连接 Android 设备)
flutter run
# 构建 Release APK(约 83MB)
flutter build apk --release注意:Release 构建需要配置 Android 签名。参考 Flutter 官方文档 创建
android/key.properties。
lib/
├── app.dart # MaterialApp.router + 主题
├── main.dart # 入口
├── core/
│ ├── database/ # SQLite 单例
│ ├── router/ # GoRouter 配置
│ └── theme/ # 颜色/字体/间距/圆角
├── data/
│ ├── models/ # Word, Notebook, ReviewSession
│ ├── repositories/ # 数据访问层
│ └── services/ # 词典/OCR/SRS/剪贴板/TTS/导入导出
├── features/
│ ├── learn/ # 记单词主页 + 学习页
│ ├── wordbook/ # 单词本列表 + 详情 + 单词详情
│ ├── capture/ # 手动录入 + 拍照识别
│ ├── archive/ # 档案卡(统计+成就)
│ └── settings/ # 设置(导出/导入)
└── widgets/ # 底部 Pill Bar + 导航壳
新词:复习 = 10:1 交错排列
认识 → reviewCount+1 → 满 10 次 = 掌握
不认识 → reviewCount 归零 → 重新排队
三种模式:
normal ≥10 新词可用
transition 1-9 新词可用
pureReview 0 新词,全部复习
flutter test # 41 单元 + widget tests
flutter test integration_test/ -d <device_id> # 集成测试(需真机)基于 ECDICT 免费词库,筛选 CET4/6 + 托福 + 雅思 + 考研 + GRE + 高频词,共 58K 词条,精简为 15MB SQLite 数据库随 App 安装。
MIT © 2026 Jensen-world



