Skip to main content

自动化 Anki 英语单词卡片牌组生成器

Project description

Logo
anki_packager

自动化 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_KEYMODELAPI_BASEPROXY
  • 如果需要使用欧路词典生词本:先按照欧陆官方获取 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

TODO

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

Thanks

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

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apkger-0.9.3.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apkger-0.9.3-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file apkger-0.9.3.tar.gz.

File metadata

  • Download URL: apkger-0.9.3.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for apkger-0.9.3.tar.gz
Algorithm Hash digest
SHA256 25401c355c04456428adf0cd2f6dfff852e7432217dfdcd006af28e7a5db8707
MD5 3b817c76de9622dbbb8a350e8d75b8bb
BLAKE2b-256 5daa8a1eda2b329bb5eda6bd59fa1cf6bfc72906ad590ba4ea881bf5f9bd7d88

See more details on using hashes here.

File details

Details for the file apkger-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: apkger-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for apkger-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f7a99a64dfac9384c99317477ceb776a8ca052aac9d6450fe426afcf6791ae46
MD5 90604a463d66a4cac510d13a4b6b8ec7
BLAKE2b-256 b6856ff89c8d020436b1f6fa2d97693b128b92862c7b7c5a1c79835cef5f556e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page