📦 Exam Paper — 试卷
v1.0.1【考试试卷生成器 | 题库管理 | 错题本】输入学科和题目数量,自动从题库随机抽题,生成考卷PDF和答案PDF两份文件。支持单选题、判断题、编程填空题。内置题库增删查、错题记录与复习标记功能。当前内置信息学奥赛22题,支持扩展其它学科。触发词:出卷、组卷、考试卷、试卷、生成试卷、生成考试、题库、错题本、错题库、... 可以改为更自然的中文表达: 考试试卷生成器可以输入学科和题目数量,自动从题库中随机抽取题目,生成考卷和答案的PDF文件。支持单选题、判断题和编程填空题等类型。内置题库管理功能,包括增删查和错题记录与复习标记。目前已内置信息学奥赛22题,未来可扩展至其他学科。相关触发词包括出卷、组卷、考试卷、试卷、生成试卷、生成考试、题库、错题本、错题库等。
运行时依赖
安装命令
点击复制技能文档
考试试卷生成器 - Exam Paper Generator 功能概览 功能 | 触发场景 ---|--- 自动组卷生成PDF | "出一套信息学奥赛试卷" / "生成考试卷" 题库管理 | "添加题目" / "查看题库" / "加题" 错题追踪 | "记一下错题" / "查看错题" / "复习错题" 扩展学科 | 新学科题库JSON,支持数学、英语等
数据目录 所有题库和错题数据存储在 ~/.qclaw/workspace/exam-data/:
- questions/ — 题库JSON文件(按学科命名,如 informatics.json)
- errors/ — 错题记录JSON文件(如 informatics_errors.json)
工作流程
- 生成试卷PDF
- 确认参数:学科(默认informatics)、题目数量、难度、知识点范围
- 运行导出命令生成exam JSON: python -X utf8 /scripts/manage_bank.py export --subject informatics --count 15 --outdir ~/.qclaw/workspace/exam-data
- 运行PDF生成: python -X utf8 /scripts/gen_pdf.py --outdir ~/Desktop
- 确认输出两个PDF:试卷 + 答案
- 管理题库
- 初始化:python -X utf8 /scripts/manage_bank.py init
- 查看题库:python -X utf8 /scripts/manage_bank.py list --subject informatics
- 添加题目:准备符合格式的JSON文件,然后: python -X utf8 /scripts/manage_bank.py add
- 随机选题:python -X utf8 /scripts/manage_bank.py random --subject informatics --count 10
- 错题管理
- 记录错题:python -X utf8 /scripts/manage_bank.py error-add
- 查看错题:python -X utf8 /scripts/manage_bank.py error-list --subject informatics
- 标记已复习:python -X utf8 /scripts/manage_bank.py error-mark
添加新题目 题目JSON格式(添加到题库):
{
"subject": "informatics",
"questions": [
{
"id": "info_016",
"type": "choice",
"topic": "python",
"difficulty": 1,
"text": "题目内容( )。",
"options": ["A. 选项1", "B. 选项2", "C. 选项3", "D. 选项4"],
"answer": "B",
"answer_desc": "简短答案",
"explanation": "解析说明"
}
]
}
题目类型(type):
- choice — 选择题(需有options字段)
- judgment — 判断题(answer为"✓ 正确"或"✗ 错误")
- programming_fill — 编程填空题(需有code和fills字段)
扩展新学科 在 exam-data/questions/ 创建新学科JSON(如 math.json) 按相同格式添加题目(id前缀改为学科缩写,如 math_001) 运行 manage_bank.py add math_questions.json 导入组卷时指定 --subject math 考试格式配置参考:references/exam-formats.md
注意事项
- 所有Python脚本必须用 python -X utf8 运行(Windows编码兼容)
- 生成PDF需要reportlab库(pip install reportlab)
- 题目id不能重复,添加时脚本会自动跳过已存在的id
- 编程填空题的code字段中,< 和 > 会在PDF渲染时自动转义
ClawHub 发布信息 版本:1.0.0 技能ID:k97dw1dg2h2zae5arhpdnt7281864we0 安装:clawhub install exam-paper