Vocab HTML Builder v2 — 英文生词一键变互动学习页面 🎯 一句话介绍 输入任何包含英文生词的文件(Excel / Word / PDF / TXT / CSV),自动生成带神经网络男女声对话朗读的交互式 HTML 词汇学习页面,电脑手机都能用。 ✨ 核心亮点 任意格式输入 — xlsx / csv / txt / pdf / docx 通吃,丢进去就出结果 AI 上下文感知对话 — 自动分析文档主题,生成贴合原始素材场景的对话,不是生硬模板 神经网络音频 — Microsoft
Vocab HTML Builder v2是一项面向实际任务的技能,主要用于输入任意包含英文生词的文件 → 输出:;交互式 HTML 学习页面 (格式完全参照 business_english_study_guide.html 蓝本);
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
输入任意包含英文生词的文件 → 输出:
business_english_study_guide.html 蓝本)audio/ 文件夹放同一目录即可支持输入格式:xlsx / csv / txt / pdf / docx / html
生成的 HTML 与 business_english_study_guide.html 完全一致:
📚 [主题] · 单词学习指南 ├── 顶部 sticky 导航(标题 + 词数统计) ├── TOC 分组标签 + 📝 复习组入口 ├── 单组显示(CSS :target 机制) ├── 每张卡片含: │ ├── 编号 + 单词 🔊 + 音标(英/美)+ 📝 复习按钮 │ ├── 📖 释义(中文 + 词性) │ ├── 🌱 词根词缀 │ └── 💬 场景对话(3 轮 A/B/A) │ ├── 每行:角色标签 + 英文 + 「中」按钮 + 🔊 │ └── 点击行 → 显示/隐藏中文翻译 └── 复习系统(localStorage 持久化)
这是生成高质量对话的关键一步。
结构化文件(xlsx/csv):运行 extract_words.py 自动解析
非结构化文件(txt/pdf/docx/html):AI 直接读取文件内容,然后:
words_normalized.csv:word,chinese,phonetic,etymology# 对于结构化文件,运行提取脚本 python scripts/extract_words.py--output ./work
这是最重要的差异化步骤——让对话参考原文件内容,而非生硬的模板。
AI 基于对文档内容的理解,创建 context_scenarios.json:
{
"supply_chain": [
["Have you reviewed the latest supplier report?", "Yes, the lead time for {} needs attention.", "Let's schedule a call with them tomorrow."],
["What's the status of our {} order?", "It's still pending customs clearance.", "Keep me posted. This is a priority shipment."],
["How do we handle {} in our supply chain?", "We use a dual-sourcing strategy to mitigate risk.", "Good. Diversification is key in today's market."]
],
"meeting_business": [
["Have you prepared the {} presentation?", "Almost done. I'm adding the Q3 projections.", "Great. The board expects a thorough analysis."],
["What's your take on the {} proposal?", "I think it has merit, but we need more data.", "Agreed. Let's request additional metrics."]
]
}
要点:
{}(用于填入生词)supply_chain, medical_terms)python scripts/build_vocab.py words_normalized.csv --output ./output --per-section 30 --title "商务英语360 · 单词学习指南" --custom-scenarios context_scenarios.json --extract-sentences
输出:
unique_sentences.json:所有去重对话句子(供翻译用)words_list.txt:单词 ID 映射(供音频生成用)AI 读取 unique_sentences.json,逐条翻译为中文,写入 cn_translations.py:
# -*- coding: utf-8 -*-
CN = {
"Have you reviewed the latest supplier report?": "你审阅过最新的供应商报告了吗?",
"Yes, the lead time for board needs attention.": "是的,board 的交货周期需要注意。",
# ... 全部句子
}
翻译规范:
python scripts/build_vocab.py words_normalized.csv --output ./output --per-section 30 --title "商务英语360 · 单词学习指南" --custom-scenarios context_scenarios.json --translations cn_translations.py
验证清单:
toggleCn(this) 调用数 = 对话总行数 × 3cn-tip 标签数 = 0data-audio="audio/d_XXXX.mp3" 属性全部存在data-audio-word="audio/words/w_XXXXX.mp3" 属性全部存在fetch() 调用(纯离线)# 1. 安装依赖(首次) pip install edge-tts # 2. 生成对话音频(男声 GuyNeural / 女声 JennyNeural) python scripts/gen_dialogue_audio.py output/xxx.html --audio-dir output/audio --concurrency 8 # 3. 生成单词音频(男声 GuyNeural,慢速学习) python scripts/gen_word_audio.py --words-list output/words_list.txt --output-dir output/audio/words --concurrency 8
# 验证音频完整性 echo "对话音频: $(ls output/audio/d_*.mp3 | wc -l) 文件" echo "单词音频: $(ls output/audio/words/w_*.mp3 | wc -l) 文件" echo "零字节: $(find output/audio -size 0 | wc -l) 个" echo "总大小: $(du -sh output/audio | cut -f1)"
通过 present_files 呈现 HTML 给用户。
output/
├── 商务英语360_单词学习指南.html # 主文件
└── audio/ # 音频文件夹
├── d_0000.mp3 ... d_XXXX.mp3 # 对话音频
└── words/
└── w_XXXXX.mp3 # 单词音频
部署:将 HTML + audio/ 文件夹拷贝到同一目录(电脑或手机均可)。
| 浏览器 | 单词发音 | 对话发音 | 备注 |
|---|---|---|---|
| 红米自带浏览器 | ✅ | ✅ | 完美运行 |
| 手机 Edge | ✅ | ⚠️ | 大部分正常 |
| 手机 Chrome | ⚠️ | ⚠️ | file:// 安全限制 |
备用方案:手机上安装 "An HttpServer"(安卓免费开源应用),通过 http://localhost:port/ 访问,绕过所有 file:// 限制。
| 脚本 | 功能 | 必需依赖 |
|---|---|---|
scripts/extract_words.py |
从 xlsx/csv 提取 → 标准化 CSV;从 txt/pdf/docx 提取文本 | pandas, (pdfplumber), (python-docx) |
scripts/build_vocab.py |
CSV → HTML + words_list.txt + unique_sentences.json | pandas |
scripts/gen_dialogue_audio.py |
HTML → audio/d_*.mp3 | edge-tts |
scripts/gen_word_audio.py |
words_list.txt → audio/words/w_*.mp3 | edge-tts |
assets/html-template.html |
HTML 模板(CSS + JS 框架) | — |
context_scenarios.json 格式参考:
{
"场景英文名": [
["A 说的话(用 {} 占位生词)", "B 说的话", "A 说的话"],
["第二套模板的 A 行", "B 行", "A 行"]
]
}
场景命名约定:用小写英文 + 下划线,反映文档主题(如 supply_chain, legal_terms, medical_phrases)。
模板撰写原则:
{} 占位符相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章