Skip to content

yaoyhu/anki_packager

Repository files navigation

Logo
anki_packager

自动化 Anki 英语单词高质量卡片生成工具
关于项目 · 使用指南 · 开发计划 · 致谢

关于项目

anki_packager 是一款智能化的 Anki 单词卡片生成工具,能够自动创建高质量的 .apkg 牌组。本项目致力于为英语学习者提供一个高效、智能的记忆辅助工具。

核心特性

  • 多源精选词典整合:ECDICT《有道词语辨析》加强版单词释义比例词典
  • 智能化学习体验:
    • 自动抓取有道词典优质例句和常用短语
    • 支持谷歌 TTS 发音、中英双解、考纲标记等功能
    • 支持流行 AI 模型(需要 API-KEY)对单词进行总结、助记及和情境故事生成
  • 便捷的数据导入:支持欧路词典生词本一键导入并批量处理单词列表,自动生成卡片
  • 优良的命令行体验:显示处理进度,支持记录错误、支持丰富的命令行参数

卡片预览

每张单词卡片包含丰富的学习资源,结构清晰,内容全面:

  • 正面:词头、发音、音标 + 考试大纲标签(如 中高考、CET4、CET6、GRE 等)
  • 背面:
    • 释义:中文(ECDICT)、时态(AI)、释义和词性比例(《有道词语辨析》加强版
    • AI 生成词根 + 辅助记忆(联想记忆 + 谐音记忆)
    • 短语 + 例句(有道爬虫)
    • 单词辨析(单词释义比例词典
    • 英文释义(目前来自 ECDICT)+ AI 生成故事

背面

使用

快速开始

  1. 克隆项目
# 因为本项目包含子模块,克隆时请使用以下命令
git clone --recursive https://github.com/yaoyhu/anki_packager.git
  1. 正确配置

在使用 anki_packager 之前,你需要先进行配置。请在 config/config.json 文件中填写相关配置信息:

  1. 生词默认放在 config/vocabulary.txt
  2. 如果需要用 AI 必须配置 API_KEYMODELAPI_BASEPROXY
  3. 如果需要使用欧路词典生词本:先按照欧陆官方获取 TOKEN,然后使用python -m anki_packager --eudicid 选择 ID 写入配置文件

运行

方式一: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

# 从生词本读词生成卡片
python -m anki_packager

方式二:Docker 容器(有待重写)

如果你希望避免污染本地环境,可以使用 Docker 运行 anki_packager:

# 构建 Docker 镜像 (只需执行一次)
docker build --tag apkg .

# windows 用户
$folder=yourfolderpath # $folder_path="C:\Users\user\mybook\"
# linux/macos
export folder=yourfolderpath # export folder_path="/home/user/mybook/"

docker run --rm --name apkg --mount type=bind,source=$folder,target=/app/

# 使用 Makefile 简化命令(可选)
make build  # 构建镜像
make run    # 运行容器

TODO

  • 集成单词释义比例词典
  • 近一步优化单词卡片 UI
  • 从欧路词典导入生词
  • 支持 SiliconFlow、Gemini
  • 重新支持 Docker
  • 发布到 PyPI
  • 支持更多软件生词导出
  • 支持 Longman 词典
  • 训练现成的数据包发布 release
  • 开发 GUI

Thanks

本项目得到了众多开源项目和社区的支持:

  • 感谢 skywind 开源的 ECDICT 以及其他词典项目,为本项目提供了丰富的词典资源。
  • 感谢 yihong0618 开源的众多优秀 Python 项目,从中获益良多。

如果这个项目对你有帮助,欢迎 Star ⭐️

About

自动化 Anki 英语单词牌组生成工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published