# 交接 · 组卷台 2026-09-05.1（并入《全国中考真题》）→ difrobot.cn 部署

> 2026-09-05 由组卷台开发会话出具。本版内容由「数学题目录入」窗口并库，我做了只读复核（见文末「已知限制」）。
> 流程不变：surface:40 加工 → zaojuan-deploy → 服务器 pull。

## ⚠ 先看这条：体积

`组卷台.html` 从 182 MB 涨到 **370,397,979 B（353 MB）**，涨的全是全国卷 5.5 万张内联公式图的 base64。

- Gitee 单文件 100 MB 上限：02.2 那次 182 MB 是怎么进 zaojuan-deploy 的（LFS / 拆分 / 单发），这次同一条路走得通再上；走不通请先回报，别硬塞。
- 服务器带宽下首屏是分钟级；浏览器解析要 1.5 GB 以上内存，老师 8 GB 笔记本有风险。本机 3.8 s 是 M1 从磁盘读的，不代表线上。
- 陆老师已知上述风险并决定上线。分片懒加载方案在排期中，下一版会把 html 压回 30 到 40 MB。

## ① 前端

- 文件：`/Users/luyan/Desktop/AI workspace/课程设计机器人/组卷系统/组卷台.html`
- 大小 370,397,979 B，sha256 前缀 `8cd40dc4e97f70f2`，`NEED_BUILD='2026-09-05.1'`
- 内容：112,875 题（原 57,299 + 全国中考 55,576），新教材「全国中考真题」（gg=省份、cd=「2019·苏州」、年份 optgroup）。配图仍全部内嵌，**无新静态资源**。
- 同目录 `*.bak-*` 不要带。

### 加工脚本要防的特殊字符串（本版实测）

| 字符串 | 次数 | 说明 |
|---|---|---|
| `</body>` | 2 | 第 1 处 **line 33883**（doWord 模板串），真结尾 line 34711。你已改成锚最后一处，沿用即可。 |
| `</html>` | 2 | 同上 |
| `</script>` | 4 | 全是真标签 |
| `__DATA__` / `__FIG__` / `__COURSE__` | 0 | 占位符已替换 |

## ② 后端

**只改了 `组卷系统/组卷台AI助手.py`**（`BUILD = '2026-09-05.1'`）：
- `EXAM_TBS` 元组（上海+全国）替代写死的「上海中考真题」，用于 `allow_gen`；
- `validate_spec` 新增 `{"all":true,"n":N}` 组（整个省份轴全取）；提示词加全国批轴说明；
- `_paper_index`（`/api/paper` 原卷下载）除 `数学学习系统/data/drafts/batch_exams_final/` 外，**新增扫描 `数学学习系统/data/approved/cn_exams_*/`**。

未动：topic_source / gen_router / verify_gen / export_lib / xkw_similar / `自动出题/`（mtime 都早于 02.1）。

**全国卷「📄 原卷」按钮要能用**，服务器上需要有：`数学学习系统/data/approved/cn_exams_2026.09.03/{exam_papers.jsonl, source_documents.jsonl}` 以及 `source_documents.jsonl` 里 `original_relpath` 指向的原始试卷文件，目录相对关系与本机一致（`组卷系统/../数学学习系统/`）。**不带也不报错**，只是该按钮显示「这一卷没有可下载的源文件」。上海批在 02.1 时怎么处理的，全国批照办。

知识点数据、`_wmf_cache/`、`zujuan_cn.py`、`verify_import_cn.py`、`gen_catalog_full.py` 都是构建期文件，**不上服务器**。

## ③ API

- **路径零新增零删除**，nginx 白名单 `version|topic|page|source|paper|similar|similar_batch|export_docx|report|compose|layout` 原样。
- `/api/compose` 响应 spec 的 group 多了可选 `cds` 全列表（`all:true` 展开），前端自己消费。请求体仍带 `kps`（约 60 到 90 KB）。

## ④ 同批

必须同批：`BUILD` 与 `NEED_BUILD` 都是 `2026-09-05.1`。

## ⑤ 依赖 / 环境

pip 零新增，密钥不变（`~/.deepseek_pro_key`），无环境变量变化。

## 部署后验收（3 分钟）

1. `curl https://difrobot.cn/api/version` → `"build": "2026-09-05.1"`。
2. 教材下拉出现「全国中考真题」→ 年级栏是省份（四川/山东/江苏…）→ 选江苏 → 节栏按年份分组，题面里公式图正常显示（不是「求 的值」这种缺图）。
3. 「✨ AI 组卷」输入 `江苏中考真题选 10 道` → 理解句含「整个 江苏」，出 10 道。
4. 02.2 回归：`跨教材来 8 道鸡兔同笼，四年级` → 8 道跨多套教材；一课一练下知识点框可见。

本机 05.1 已跑通：知识点 E2E 10/11（唯一不过的是「覆盖率>45%」，分母从 5.7 万变 11.3 万所致，绝对数 26,670 不变），compose 回归 16/16（录入窗口跑的），零 JS 错误。

## 已知限制（不阻塞上线，下一版修）

- AI 组卷的前端预筛 `preNarrow`：老师说「全国 2024年中考卷」但**不带省名**时，全国批可能被上海批挤出候选目录，LLM 选不到全国卷；带省名（「江苏 2024 中考」）正常。
- 全国批 55,576 题**没有知识点标注**，跨教材知识点组卷暂不覆盖它们。
