上海中考语文·基础每日练习(遗忘曲线闭环)
用途
为初中生生成每日语文基础练习并推送,同时把做错的题记入错题本,按艾宾浩斯遗忘曲线安排「举一反三」变式复习,形成可持续的记忆闭环。每日默认 11 题 = 10 道基础题 + 1 道全篇背默。
何时使用
- 用户要求「出今天的语文练习」「推送每日 11 题」「继续跑这个练习」「做个中考语文每日打卡」。
- 用户反馈错题(如「错 3,5,11」)。
- 用户要调整范围(年级)、题型配比、推送渠道或时间。
- 用户要查看错题本、复习进度、诗篇掌握情况。
首次使用:先确认四件事
新用户第一次使用时,用 AskUserQuestion 一次问清(已知的跳过):
- 年级(决定出题上限):七上 / 七下 / 八上 / 八下 / 九上 / 九下。写入
meta.scope,并按references/syllabus.md第六节替换篇目池。 - 每日题量:默认 11 题(10 基础 + 1 全篇背默),可调。
- 推送渠道:邮箱(Agent Mail)/ 微信(Server酱、PushPlus)/ 企业微信群机器人 / 仅写入本地 HTML。
- 推送时间:默认每天 19:00,可调。
确认后建好状态文件(python scripts/daily_plan.py --file <路径> --init)与定时自动化。
核心概念:范围铁律
上限是学生当前学段(默认七年级上册),下限不设限。
- 默写、古诗文基础、名著只能考该年级及以前已学内容:默认七上,即小学一年级至七上全部篇目。
- 严禁出现尚未学到的篇目。以七上为例禁用:《岳阳楼记》《桃花源记》《陋室铭》《爱莲说》《醉翁亭记》《木兰诗》《马说》等七下及以后篇目。
- 检索到的真题/模拟若超出范围,只借题型与命题方式,内容必须落回允许范围。
详细篇目池、题型配比、考纲趋势见 references/syllabus.md。
状态文件
默认路径:<workspace>/中考语文/错题本.json
meta:ebbinghaus_intervals、daily_count、scope、primary_school_poems、primary_school_classics、full_recite_pool、full_recite_status、feedback_guide。questions:每道题一条,字段id / batch_date / order / category / knowledge_point / type / status / question / options / answer / analysis / source / error_count / review_stage / last_review_date / next_review_date / mastered / linked_error_id / poem_title。
首次使用若文件不存在,运行 python scripts/daily_plan.py --file <路径> --init 生成默认结构。
工作流 A:生成每日 11 题
- 算计划:运行
python scripts/daily_plan.py --file <错题本.json>,得到今日计划 JSON:
-review_items:到期需复习的基础题错题(status=error、未 mastered、next_review_date<=今天、category≠全篇背默)。
-recite_pick:按遗忘曲线选出的今日全篇背默诗(候选 A 该复习 → B 未练过 → C 轮转)。
-new_needed:需补足的新题数量(10 − 复习变式数)。
加--commit让脚本更新full_recite_status的 last_review_date 等状态。 - 研究素材:用 WebSearch 检索 2–3 次,抓上海中考真题(2024–2026)、热门区县(徐汇/黄浦/杨浦/浦东/静安/闵行等)一模二模、教辅(百题大过关/五三上海专版/走向成功)、2026/2027 考纲趋势;提炼题型与易错点,题后标注来源。素材超七上范围时仅作题型参考,内容仍须落在小学~七上。
- 出题:严格按
references/syllabus.md的题型配比生成 11 题:
- 默写 2(允许范围内篇目,主旨定位命题)
- 字音 1、字形 1、成语 1、病句 1、标点 1
- 名著/文学常识 1(优先该年级必读名著)
- 古诗文基础 1(允许范围内文言实词/虚词/古今异义)
- 语言运用 1(仿写/概括/图文转换/情境补写)
- 全篇背默 1(用recite_pick选中的诗,全文默写,标注 复习/新·年级)
- 复习变式:为review_items每条生成 1 道同知识点、换语境的变式(type=review,linked_error_id=原 id),不重复原题。 - 写回:把今日题目追加进 questions(字段见上;全篇背默题加
poem_title)。写回前重新读取最新文件,避免覆盖。 - 推送:见工作流 C。
工作流 B:处理错题反馈
用户回「错 3,5,11」(编号 = 当天 order)时:
- 运行
python scripts/record_feedback.py --file <错题本.json> --ids 3,5,11 [--date YYYY-MM-DD]。 - 脚本行为:
- 基础题:status=error、review_stage=0、next_review_date=今天+1、error_count++。
- 全篇背默:status=error,并更新full_recite_status[poem_title]:error_count++、review_stage=-1、last_review_date=今天、next_review_date=今天+1、mastered=false。
- 未提及的题默认做对:全篇背默推进review_stage++(到达末位间隔则mastered=true);基础题保持 pending。 - 脚本输出变动摘要,向用户简要复述。
工作流 C:推送
- HTML / 邮件:用
assets/push-template.html套用今日题目与答案,生成<workspace>/中考语文/每日练习/YYYY-MM-DD.html;邮件渠道用 Agent Mail 发送(HTML 正文),排版最精美。 - 微信:走 Server酱(
https://sctapi.ftqq.com/<SendKey>.send)或 PushPlus,纯文本 / markdown。 - 企业微信:用群机器人 webhook(markdown)。
- 正文结构:标题 + 日期 + 范围说明 + 11 题 + 答案与解析 + 反馈提示。版式参考
assets/push-template.html。
工作流 D:调整配置
- 改范围(升年级):更新
meta.scope,按references/syllabus.md第六节替换/扩充篇目池(primary_school_poems、primary_school_classics、full_recite_pool)。 - 改题量:改
meta.daily_count与出题配比。 - 改推送时间/渠道:调整对应自动化或推送脚本。
资源
scripts/daily_plan.py:计算今日复习计划 + 全篇背默选题,可--commit写回状态。scripts/record_feedback.py:处理「错 X」反馈,更新错题本与诗篇档案。references/syllabus.md:范围铁律、篇目池、11 题题型配比、2025–2027 考纲趋势、遗忘曲线说明。assets/push-template.html:每日推送的 HTML 版式模板(含占位符)。