核心用法
IELTS Reading Review Skill 是一套专为雅思阅读备考设计的自动化复盘系统。用户提交做题结果后,系统自动生成结构化的复盘数据(JSON格式),涵盖成绩统计、错题分析、词汇积累、同义替换四大模块,并通过 saveReview API 入库至 tuyaya.online,由后端 review.html 模板统一渲染为可视化复盘页面。
触发方式:发送做题截图/答案、提及"复盘""错题分析""阅读复盘""成绩单""打分""统计""进步趋势"等关键词,或请求"批量导入历史复盘""历史笔记转JSON"。
输入要求:必须收集来源(剑X TestX PassageX)、用户答案、正确答案、错题标记,强制询问做题用时(MM:SS格式)——这是进步趋势图的数据基础。
输出产物:单个标准JSON文件(如 剑5-Test1-Passage2-鲸鱼感官复盘.json),不再生成独立HTML(v4.0起废弃)。
---
显著优点
1. 数据结构化标准化:采用 v4.0 JSON Schema,字段覆盖成绩、用时、题型分布、18类错误分类、词汇、同义替换、行动清单等,支持长期数据沉淀与跨篇对比。
2. 自动化部署链路:作者模式支持完整SSH部署(gzip流传输大文件、systemctl重启后端);客户端模式支持HTTPS+token批量入库,无需服务器权限。
3. 批量历史导入:v3.8起支持自动扫描常见目录(~/Documents、~/Desktop、iCloud等),识别多格式旧笔记(HTML/MD/截图),一键转换为标准JSON。
4. 18类精细错误分类:内置 error-taxonomy.md,涵盖 NG/FALSE混淆、过度推理、Summary填空未回原文、双重否定误读等典型陷阱,分析可直接复用。
5. 词库联动机制:dict_full.json 与复盘词汇表联动,线上词卡点击即展开释义/例句/近义词,用户体验闭环。
6. 三道安全防线(v5.1):发布脚本强制同步本地副本、saveReview后强制getReviews回查确认入库、每次激活强制展示版本横幅防滞后。
---
潜在缺点与局限性
1. 部署门槛不低:作者模式需要 SSH 密钥(~/.ssh/workbuddy.pem)+ Cloudflare Tunnel 配置,客户端模式需要手动配置 IELTS_USER_TOKEN,首次 setup 有学习成本。
2. 服务端数据预置范围有限:C4-C20 的答案库和双语数据已预置,但 C21+ 新书需手动扩展 answer-key.json 并重启后端。
3. 客户端模式功能受限:无法部署词库更新、无法上传 JSON 文件到服务器(仅入库数据库),详情页可能 404,依赖作者机同步。
4. 用时字段强制但易遗漏:用户常忘记计时,估算值可能失真,影响进步趋势准确性。
5. 截图识别有边界:多平台标记规则(雅思哥、小站、新东方等)虽内置,但 UI 改版或小众 App 可能识别失败,需人工确认。
6. 批量导入非完全自动化:历史笔记格式混乱时,部分数据(如用户答案)可能缺失,需后续补录。
---
适合人群
- 雅思阅读备考者:希望系统化追踪错题、积累同义替换、监控进步曲线。
- 高分冲刺选手(目标7.0+):需要精细错误分类(如 NG/FALSE 辨析、Summary 定位策略)进行针对性突破。
- 复盘习惯用户:已有大量零散笔记(截图、Markdown、HTML),希望集中迁移至统一平台。
- 技术型学习者:能接受 SSH/token 配置,追求数据自主可控(JSON 本地备份 + 云端同步)。
---
常规风险
| 风险场景 | 后果 | 缓解措施 |
|---------|------|---------|
| `dict_full.json` 缺词 | 线上词卡点击无响应 | Step 7a 强制词库覆盖校验,缺词立即补充 |
| saveReview 漏调 | 首页进度图缺失数据 | Step 7g 强制入库回查(getReviews 验证) |
| 本地副本版本滞后 | 流程逻辑不一致 | Step 0b 强制版本检查,落后必告警 |
| 字段名错误(如 `myAnswer` vs `my`) | review.html 渲染失败 | 严格遵循 `answers[]` 字段规范(`my`/`correct`/`result`) |
| 大文件分块传输 | 超时/拼合错乱 | 禁用 split,改用 `gzip -c | ssh gunzip >` 单流行 |
| 客户端误操作 SSH | 权限拒绝/安全隐患 | Step 0a 模式横幅明确区分,客户端模式绝对禁止 SSH/SCP/systemctl |
| 旧格式 JSON 双写 | 错题重复渲染 | 只用 `wrongQuestions[]`,勿同时写 `error_analysis` |