自动化 Anki 英语单词高质量卡片牌组生成工具
关于项目
·
使用指南
·
开发计划
·
致谢
anki_packager
是一款自动化的 Anki 单词卡片生成工具,能够自动创建高质量的 .apkg
牌组。本项目致力于为英语学习者提供一个高效、智能的记忆辅助工具。
- 多源精选词典整合:ECDICT、《有道词语辨析》加强版、单词释义比例词典
- 智能化学习体验:
- 自动抓取有道词典优质例句和常用短语
- 支持谷歌 TTS 发音、中英双解、考纲标记等功能
- 支持流行 AI 模型(需要 API-KEY)对单词进行总结、助记及和情境故事生成
- 便捷的数据导入:支持欧路词典生词本一键导入并批量处理单词列表,自动生成卡片
- 优良的命令行体验:显示处理进度,支持记录错误、支持丰富的命令行参数
- 支持 Docker 运行、支持 PyPI 安装
每张单词卡片包含丰富的学习资源,结构清晰,内容全面:
- 正面:词头、发音、音标 + 考试大纲标签(如 中高考、CET4、CET6、GRE 等)
- 背面:
- 释义:中文(ECDICT)、时态(AI)、释义和词性比例(《有道词语辨析》加强版)
- AI 生成词根 + 辅助记忆(联想记忆 + 谐音记忆)
- 短语 + 例句(有道爬虫)
- 单词辨析(单词释义比例词典)
- 英文释义(目前来自 ECDICT)+ AI 生成故事
# 直接使用 pip 安装
pip install apkger
在使用 apkger 之前,你需要先在 config/config.json
文件中填写相关配置信息:
{
"API_KEY": "your-api-key-here",
"API_BASE": "https://api.openai.com/v1",
"MODEL": "gpt-4o",
"PROXY": "127.0.0.1:7890",
"EUDIC_TOKEN": "your-eudic-token",
"EUDIC_ID": "0",
"DECK_NAME": "anki_packager"
}
- 如果需要 AI 功能,必须配置
API_KEY
、MODEL
、API_BASE
和PROXY
- 如果需要使用欧路词典生词本:先按照欧陆官方获取 TOKEN,然后使用
apkger --eudicid
选择 ID 写入配置文件
下载字典到配置目录中(注意名称不要错):
- Linux/MacOS:
~/.config/anki_packager/dicts/
- Windows:
C:\Users\<用户名>\AppData\Roaming\anki_packager\dicts\
字典数据(感谢skywind)下载地址:
字典下载完毕后,解压和处理交给 anki_packager 即可。
目前软件没有 UI 界面,只支持命令行运行,下面给出一些参考:
# 查看帮助信息
apkger -h
# 从默认生词本读词生成卡片
apkger
### 关闭 AI 功能
apkger --disable_ai
### 从欧路词典生词本导出单词,生成卡片(需要先配置)
## 先查看 ID 写入配置文件
apkger --eudicid
## 生成卡片
apkger --eudic
方式一:Conda 环境
# 创建并激活一个名为 apkg 的 Python 3.9 虚拟环境
conda create -n apkg python=3.9
conda activate apkg
# 安装项目依赖
pip install -r requirements.txt
# 查看帮助信息
python -m anki_packager -h
# 从欧路词典生词本导出单词,生成卡片(需要先配置)
python -m anki_packager --eudic
# 关闭 AI 功能
python -m anki_packager --disable_ai
# 从生词本读词生成卡片
python -m anki_packager
方式二:Docker 容器
如果你希望避免污染本地环境,可以使用 Docker 运行 anki_packager,可以配合 Makefile
使用:
# 构建 Docker 镜像 和 创建持久化卷
make build
# 第一次运行容器下载词典(需要一点时间)
make run
# 进入容器(注意!需要在主机先配置 config/config.json)
# 在容器中运行 anki_packager,生成的牌组会保存在当前目录中
make shell
-
集成单词释义比例词典 -
近一步优化单词卡片 UI -
从欧路词典导入生词 -
支持 SiliconFlow、Gemini -
重新支持 Docker -
发布到 PyPI - 支持更多软件生词导出
- 支持 Longman 词典
- 训练现成的数据包发布 release
- 开发 GUI
本项目得到了众多开源项目和社区的支持:
- 感谢 skywind 开源的 ECDICT 以及其他词典项目,为本项目提供了丰富的词典资源。
- 感谢 yihong0618 开源的众多优秀 Python 项目,从中获益良多。
如果这个项目对你有帮助,欢迎 Star ⭐️