Skip to content

Jensen-world/WordSnap

Repository files navigation

WordSnap

本地私有化查词 & 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 + 导航壳

SRS 算法

新词:复习 = 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 安装。

License

MIT © 2026 Jensen-world

About

WordSnap - 拍照学单词,AI 驱动的词汇学习应用

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors