fix: require evidence for judgment answers and correct legacy banks
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
# 华谊题库助手
|
||||
|
||||
支持在普通 HTTP / HTTPS 网页中通过快捷键打开的本地题库油猴脚本:文字搜索、划词检索、自动选择已确认答案,并保留华谊练习平台的按库采集、CSV 导出与多题库导入。当前版本 **1.2.5**。
|
||||
支持在普通 HTTP / HTTPS 网页中通过快捷键打开的本地题库油猴脚本:文字搜索、划词检索、自动选择已确认答案,并保留华谊练习平台的按库采集、CSV 导出与多题库导入。当前版本 **1.2.6**。
|
||||
|
||||
**2026-10-30 答案来源更正:此前“1884题标准答案全部确认”的结论错误。** Chrome 实际练习和页面业务代码均证实,`/upm/start`、`/upm/wrong/start` 的未作答判断题也可能带有默认 `judgeAnswer: 0`,该值不能视为标准“错误”;旧值为 `1` 且没有提交或标准反馈证据时也不能确认。1.2.6 将这类旧判断题答案改为“待补”,清除仅由列表占位值及其继承 DOM 观察造成的冲突,并保留原值备份。两个可信标准答案不一致时仍保留冲突。
|
||||
|
||||
当前仓库保留五库 **1884个完整题目位置**,其中 **1153题答案已确认、731题待补、0题冲突**。已确认部分为单选500 + 401题、多选251题,以及判断题库1中经实际页面标准反馈单独核对的1题。题干和位置完整不代表答案完整;详情及逐项更正依据见 [`答案来源更正_20261030.json`](题库/答案来源更正_20261030.json)。
|
||||
|
||||
1.2.5 修复运行卡顿:题目与别名合并改为索引查找;无关计时器、答题卡选中样式和助手自身变化不再触发题目扫描;隐藏面板停止重建搜索及统计;重复浏览已保存题目跳过无效合并。题库保存按800ms合批并在浏览器空闲时执行,离开页面时立即写回;存储没有被其他标签页改变时直接保存已验证的内存记录,保留跨标签冲突、备份与迁移检查。
|
||||
|
||||
本版同时保留已复现的切题保护:题目ID、选项ID和输入控件实际值均参与身份核对,点击前后等待异步渲染稳定;上一题残留的答案反馈不再套用到新题。自动选择仍默认关闭,题库文件及标准答案未修改。
|
||||
本版同时保留已复现的切题保护:题目ID、选项ID和输入控件实际值均参与身份核对,点击前后等待异步渲染稳定;上一题残留的答案反馈不再套用到新题。自动选择仍默认关闭。1.2.6 的题库答案来源更正与上述性能及切题保护一起生效。
|
||||
|
||||
1.2.4 在完整选项ID与正文映射一致时,可准确对应文字相同的不同选项;ID变化且文字有歧义时继续跳过。新增对旧版乘号、正负号实体记录的有证据补全,保留原始备份。缺少题目位置等依据的旧记录继续保留,仓库中的五库全集使用各库最新、题数与索引均已核验的完整网络批次。
|
||||
1.2.4 在完整选项ID与正文映射一致时,可准确对应文字相同的不同选项;ID变化且文字有歧义时继续跳过。新增对旧版乘号、正负号实体记录的有证据补全,保留原始备份。缺少题目位置等依据的旧记录继续保留,五库题目集合按各库最新、题数与索引均已核验的完整题目批次整理;这里的完整仅指题干和位置,判断题答案来源另按1.2.6规则更正。
|
||||
|
||||
1.2.3 保留题干及选项中的图片地址,支持纯图片的化学结构式选项;修复多选题中多个正确选项文字相同而误报冲突的问题。只有部分同文选项正确、无法确定位置时仍跳过。图片题的答案继续按选项 ID 对应,CSV / JSON 保留图片来源地址;CSV 本身不嵌入图片像素。
|
||||
|
||||
@@ -14,14 +18,14 @@
|
||||
|
||||
安装文件:[`dist/huayi-question-bank.user.js`](dist/huayi-question-bank.user.js)。这是构建后的完整脚本,无须安装 Node.js 或运行服务器。
|
||||
|
||||
五个题库已于2026-10-29从Chrome导出并合并为 **1884题**,标准答案全部确认。可直接使用 [`合并CSV`](题库/华谊集团化工总控工(高级)-合并题库.csv) 或 [`JSON备份`](题库/华谊集团化工总控工(高级)-合并题库.json);独立分库、31张原图和校验清单见 [`题库说明`](题库/README.md)。
|
||||
五个题库于2026-10-29从Chrome导出,2026-10-30更正判断题答案来源后仍保留 **1884题**。可使用 [`合并CSV`](题库/华谊集团化工总控工(高级)-合并题库.csv) 或 [`JSON备份`](题库/华谊集团化工总控工(高级)-合并题库.json);两份文件均明确保留731题待补状态。独立分库、31张原图和校验清单见 [`题库说明`](题库/README.md)。
|
||||
|
||||
## 安装与开始使用
|
||||
|
||||
1. 在浏览器中安装并启用 Tampermonkey(油猴)。
|
||||
2. 打开油猴管理面板,选择“新建脚本”,将安装文件的全部内容粘贴进去并保存。
|
||||
3. 打开或刷新普通网页,按 **Shift + Alt + Q** 显示题库助手,再按一次隐藏。每次加载页面都默认完全隐藏,无悬浮按钮;旧版保存的打开状态也会重置。
|
||||
4. 在华谊练习页面,正常加载的题目和标准答案仍会自动保存;安装后应重新进入练习,以便观察首次题目响应。普通网页只使用本地题库检索,不观察其网络请求或自动采集表单。
|
||||
4. 在华谊练习页面,正常加载的题目会自动保存;只有取得可信提交记录或标准反馈时才保存已确认答案。安装后应重新进入练习,以便观察首次题目响应。普通网页只使用本地题库检索,不观察其网络请求或自动采集表单。
|
||||
5. 在“文字搜索”中输入或粘贴至少两个字符,按回车或点“搜索”。也可以在页面划选题干后松开鼠标自动查询。
|
||||
6. 在“题库 / 导出”中检查实际题库名、范围内题数及文件名预览,再导出 CSV 或备份 JSON。已识别的练习页默认当前题库;普通网页默认全部已存题库。
|
||||
|
||||
@@ -41,6 +45,8 @@
|
||||
|
||||
## 自动答题
|
||||
|
||||
旧判断题库中未获可信反馈的题目显示“待补”,不会自动选择。已有候选结果与“当前题对应”分别展示;相似搜索结果或候选记录不能代替当前题的完整题干、选项及身份核对。
|
||||
|
||||
打开“自动答题”页签,先导入包含标准答案的题库,然后选择:
|
||||
|
||||
- **答当前题**:从本地已确认记录中精确匹配当前题干、题型和完整选项,自动选择正确选项。
|
||||
@@ -97,8 +103,11 @@
|
||||
- 例如采集时正确答案为 B“提高温度”,当前页面该内容移至 C,面板显示“提高温度;当前页面对应:C”。
|
||||
- 多选题保存正确选项的完整集合;判断题保存“正确 / 错误”。
|
||||
- 未取得标准答案时显示“待补”。学生选择、答题卡上的对错和题号不会被当作标准答案。
|
||||
- 判断题列表的 `judgeAnswer` 值本身不构成标准答案证据。只有已提交列表、绑定到同题的作答回执、绑定当前题的标准反馈或明确标准答案源,才可恢复确认;分别保存为 `submitted-list`、`answer-response`、`bound-dom`、`explicit-standard`。
|
||||
- 重复选项无法唯一对应、选项内容发生变化、同一题出现不同答案时,显示未确认或冲突,冲突内容保留在备份中。
|
||||
|
||||
升级1.2.6后,助手在读取、导入及合并旧记录时检查判断题答案来源。首次更正前将原值保存到独立备份;可在“设置”或油猴菜单中选择“导出判断题核验前备份”取回。备份失败时停止覆盖原库。已有可信作答回执或明确标准反馈可以恢复答案,未取得证据的题目继续待补。该备份独立于重复记录整理、重复选项误报和图片补全备份。
|
||||
|
||||
## CSV 与 JSON
|
||||
|
||||
CSV 使用 UTF-8 BOM,兼容 Excel 查看,支持中文、逗号、双引号及单元格换行。列包括:来源题库、题库 ID、题目 ID、题型、题干、各选项、正确答案内容、采集时答案字母、解析、答案状态、答案来源、采集时间和完整记录 JSON。
|
||||
@@ -115,7 +124,7 @@ CSV 使用 UTF-8 BOM,兼容 Excel 查看,支持中文、逗号、双引号
|
||||
|
||||
“正确答案内容”填写完整答案文字。多选使用 JSON 字符串数组或在同一单元格中逐行填写完整选项,不能仅填写 A/B 字母。“我的答案”列不作为标准答案读取。建议直接以助手导出的表格作为模板。
|
||||
|
||||
JSON 备份包含 `schemaVersion: 1` 和 `records` 数组,保留完整选项标识、来源、答案和冲突。两种格式均按题目合并,导入不会清空现有题库。每个文件限制 20 MB,每批文件合计限制 50 MB、50000 条记录。
|
||||
JSON 备份包含 `schemaVersion: 1` 和 `records` 数组,保留完整选项标识、来源、答案、冲突和可选的 `answerEvidence` 证据字段;CSV的完整记录JSON列同样保留这些内容。两种格式均按题目合并,导入不会清空现有题库。导入旧版无证据网络判断题时仍会更正为待补;用户自行填写的标准CSV不因该旧网络规则被清空。每个文件限制 20 MB,每批文件合计限制 50 MB、50000 条记录。
|
||||
|
||||
## 采集范围与当前验证边界
|
||||
|
||||
@@ -123,24 +132,24 @@ JSON 备份包含 `schemaVersion: 1` 和 `records` 数组,保留完整选项
|
||||
|
||||
目前适配了保存页面中的真实题目结构,以及业务脚本中可确认的练习接口:`/upm/start`、`/upm/wrong/start`、`/pra/{id}/questions` 和对应单题作答结果。接口适配限制在本站及学习平台域名。脚本不发送题库到外部服务器,来源 URL 不保存查询参数。
|
||||
|
||||
原保存HTML用于结构适配,原始网页及资源文件不纳入仓库;浏览器测试使用脱敏的最小题目结构夹具。2026-10-29已在实际登录的Chrome学习页面逐库验证:判断500/232题、单选500/401题、多选251题,正常加载的完整批次均包含标准答案,合并文件已按页面题数和完整题目位置核验。
|
||||
原保存HTML用于结构适配,原始网页及资源文件不纳入仓库;浏览器测试使用脱敏的最小题目结构夹具。2026-10-29在实际登录的Chrome学习页面核对了五库题数:判断500/232题、单选500/401题、多选251题,合并文件的题数和完整位置仍成立。此前把判断题完整列表中的默认值认定为标准答案,已于2026-10-30更正,不能再据此声称旧完整批次包含全部标准答案。
|
||||
|
||||
实际Chrome核验的判断题库1第67题为“断续噪声与持续噪声相比,断续噪声对人体危害更大。”。只读查看已作答记录:提交答案为“错误”,网页标准答案为“正确”;仓库仅对这一题作明确的人工标准核验,并记录 `explicit-standard` 证据。其余731题不根据0、1或常识猜测答案。核验前原值保留在本地 `.cache/` 和 Git 提交 `4bf2de1` 中。
|
||||
|
||||
题库保存在油猴脚本存储中,关闭面板、刷新或暂停采集不会清空。更换浏览器、卸载脚本或清理扩展数据前,请先导出 JSON 备份。
|
||||
|
||||
## 源码与验证
|
||||
|
||||
`题库/` 已保存从Chrome导出的五库及合并结果。批次选择工具仅接受时间最新、题数与页面一致且位置完整的网络批次,再由合并工具保留来源、标准答案、解析及ID别名并核对五库:
|
||||
`题库/` 已保存经过答案来源更正的五库及合并结果。当前答案尚未补齐,使用已更正的分库文件合并时需显式允许待补:
|
||||
|
||||
```powershell
|
||||
$rawBankExports = Get-ChildItem exports/browser-20261029 -Filter '*_v123.csv' -File
|
||||
npm run select:snapshots -- --manifest 题库/页面题数核对.json --force $rawBankExports.FullName
|
||||
$bankCsvFiles = Get-ChildItem 题库/分题库 -Filter '*.csv' -File
|
||||
npm run merge:banks -- --manifest 题库/页面题数核对.json $bankCsvFiles.FullName
|
||||
npm run merge:banks -- --manifest 题库/页面题数核对.json --allow-partial --force $bankCsvFiles.FullName
|
||||
```
|
||||
|
||||
页面清单格式为 `{"banks":[{"bankName":"完整题库名称","questionCount":500}, ...]}`,需要列出判断1、判断2、单选1、单选2和多选五个题库。合并前会核对缺库、缺答案和冲突,详情写入输出的 `题库清单.json`;数据未齐时不标记为完整。
|
||||
页面清单格式为 `{"banks":[{"bankName":"完整题库名称","questionCount":500}, ...]}`,需要列出判断1、判断2、单选1、单选2和多选五个题库。合并前会核对缺库、缺答案和冲突,详情写入输出的 `题库清单.json`。当前 `questionsComplete: true`、`answersComplete: false`、`complete: false`;`--allow-partial` 仅允许输出如实标记待补的题库,不会把缺失答案变为已确认。不加该参数时应因答案未齐而失败。
|
||||
|
||||
本次五份原始CSV含1899条缓存记录,选择五个最新完整批次后为1884题,15条历史表示版本保留在原始下载中;来源哈希与排除标识记在 `导出批次核对.json`。本地 `exports/` 不上传仓库,复现选择阶段需要保留原始CSV。再次生成已有合并文件时,可显式加 `--force` 覆盖本次固定输出。
|
||||
五份历史原始CSV含1899条缓存记录,按题干和位置整理后为1884题,15条历史表示版本保留在原始下载中;来源哈希与排除标识记在 `导出批次核对.json`。该历史批次核对只能证明题数和位置,不能证明判断题答案可信。对旧 `exports/browser-20261029/*_v123.csv` 重新执行 `select:snapshots` 应因判断题缺少可信标准答案而失败;`--force` 不会跳过核验,也不能恢复缺失的证据。后续只有重新采集到充分可信答案的新完整批次才能通过严格选择。本地 `exports/` 和 `.cache/` 不上传仓库。
|
||||
|
||||
无需第三方前端依赖,源码分为:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user