epub-vocab-annotator 是一个为 EPUB 电子书提供英文词汇注释的工具,它通过 OpenAI 的语言模型来识别关键词汇,并提供精准的翻译,帮助读者更好地理解和学习英文词汇。
- 自动识别 EPUB 文件中的重要或困难英文词汇
- 为识别出的词汇添加准确的中文翻译注释
- 使用
<ruby>
标签添加注释,确保阅读体验流畅 - 支持通过 TOML 配置文件或命令行参数自定义 OpenAI API 设置
- 允许选择不同的 OpenAI 语言模型
- 保留原始 EPUB 文件的格式和样式
- 智能跳过代码块和数学公式,保持特殊内容的完整性
- 支持自定义词汇表,排除不需要注释的单词
- 显示处理进度,方便用户了解任务完成情况
- 支持中断恢复,可以从上次处理的位置继续
- 支持处理大型章节,自动拆分内容以提高效率和稳定性
-
克隆此仓库:
git clone https://github.com/wayhome/epub-vocab-annotator.git cd epub-vocab-annotator
-
安装所需依赖:
uv sync
- 创建一个名为
config.toml
的文件,设置 OpenAI API:
[openai]
api_key = "your_api_key_here"
base_url = "https://api.openai.com/v1"
model = "gpt-3.5-turbo"
- 创建一个名为
vocabulary.txt
的文件,每行一个单词,列出不需要注释的单词。
uv run main.py input.epub output.epub --config config.toml --vocab vocabulary.txt --progress progress.json
input_file
: 输入的 EPUB 文件路径output_file
: 输出的 EPUB 文件路径--config
: 配置文件路径 (默认:config.toml
)--api_key
: OpenAI API 密钥--base_url
: OpenAI API 基础 URL (默认:https://api.openai.com/v1
)--model
: OpenAI 语言模型名称 (默认:gpt-3.5-turbo
)--vocab
: 词汇表文件路径 (默认:vocabulary.txt
)--progress
: 进度文件路径 (默认:progress.json
)
- 本工具会自动跳过代码块和数学公式,以保持这些特殊内容的完整性
- 词汇表中的单词不会被添加注释
- 请确保您有足够的 OpenAI API 使用额度
- 处理大型 EPUB 文件可能需要较长时间
- 处理过程中会显示进度条,方便了解任务完成情况
- 如果处理过程中断,可以使用相同的命令重新运行,工具会从上次中断的位置继续处理,并保留之前的所有修改
欢迎提交 issues 和 pull requests 来帮助改进这个项目!
本项目采用 MIT 许可证。详情请见 LICENSE 文件。