题库配置在 src/config/exercise-banks.config.ts,源数据位于 src/data/exercises/。当前示例包括大邮数学集和《工科数学分析》课后习题。一个题库需要唯一 id、标题、来源类型和适用书籍 slug;有版权信息时必须同时填写许可证和来源仓库。
{ id: 'my-exercises', title: '题库名称', sourceType: 'exam', applicableBooks: ['engineering_analysis'], license: { spdx: 'CC-BY-NC-SA-4.0', shortName: 'CC-BY-NC-SA 4.0', name: '完整许可证名称', repoUrl: 'https://example.com/source' }}- 将原始题目整理为项目已有 JSON 结构,放到
src/data/exercises/;先参考同目录的题库文件,不要直接编辑public/data/exercises/。 - 在
EXERCISE_BANKS注册题库,并把applicableBooks填成collections.config.mjs中的book.slug。 - 如果题目来自 PDF,可使用
scripts/extract_textbook_exercises.py或scripts/process_bupt_math_archive.py生成初稿,再人工校对公式、题号、答案和来源。 - 运行:
npm run build:exercisesnode scripts/check-all-datasets.mjs- 打开对应书籍的习题侧栏,验证章节筛选、题目渲染、答案展开和 AI 讲解入口。
没有明确授权的扫描题库不要提交。OCR 或模型生成的答案必须由熟悉该课程的贡献者复核;解析中引用的章节必须能回到书籍原文。题库生成文件可以重建,不应手工修补。