自动化 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.toml 文件中填写相关配置信息:
本项目使用 litellm 统一调用 LLM 服务。关于 MODEL_PARAM 的详细配置方法,请参考 LiteLLM Providers 文档。
PROXY = ""
EUDIC_TOKEN = ""
EUDIC_ID = "0"
DECK_NAME = "anki_packager"
[[MODEL_PARAM]]
model = "gemini/gemini-2.5-flash"
api_key = "GEMINI_API_KEY"
rpm = 10 # 每分钟请求次数
### OpenAI-Compatible Endpoints 示例
# [[MODEL_PARAM]]
# model = "openai/gpt-4o"
# api_key = "OPENAI_API_KEY"
# api_base = "YOUR_API_BASE"
# rpm = 200下面是关于配置文件中各参数的详细说明:
-
MODEL_PARAM:model: Provider Route on LiteLLM + Model IDapi_key: 对应模型的 API 密钥。api_base: (可选) 仅在模型为 OpenAI-Compatible Endpoints 时需要填写rpm: (可选) 每分钟的请求次数限制,用于控制 API 调用频率。
-
PROXY: 如果你无法直接连接到 AI 服务提供商,可以在这里设置代理服务器地址 -
如果需要使用欧路词典生词本:先按照欧陆官方获取 TOKEN,然后使用
apkger --eudicid选择 ID 写入配置文件
下载字典到配置目录中(注意名称不要错):
- Linux/MacOS:
~/.config/anki_packager/dicts/ - Windows:
C:\Users\<用户名>\AppData\Roaming\anki_packager\dicts\
字典数据(感谢 skywind)下载地址:
- stardict.7z
- 单词释义比例词典-带词性
- 有道词语辨析:需要手动解压放入
config/dicts
字典下载完毕后,解压和处理交给 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.toml)
# 在容器中运行 anki_packager,生成的牌组会保存在当前目录中
make shell-
集成单词释义比例词典 -
近一步优化单词卡片 UI -
从欧路词典导入生词 -
支持 SiliconFlow、Gemini -
重新支持 Docker -
发布到 PyPI -
训练现成的数据包发布 release@Initsnow - 支持更多软件生词导出
- 支持 Longman 词典
- 开发 GUI
本项目得到了众多开源项目和社区的支持:
- 感谢 skywind 开源的 ECDICT 以及其他词典项目,为本项目提供了丰富的词典资源。
- 感谢 yihong0618 开源的众多优秀 Python 项目,从中获益良多。
如果这个项目对你有帮助,欢迎 Star ⭐️

