串联 doc-browser(批量读取)→ academic-workflow(评分模板) → 输出审核报告
对目标目录中所有文件执行:
文件类型工具提取内容.docxpython-docx全文 + 图片数 + 域代码残留检测(TOC/HYPERLINK/PAGEREF/REF).doc (WPS)textutil → antiword → olefile 二进制提取(三级降级)全文.pdf (查重报告)PyPDF2全文 + 定位重复率数值.pptxpython-pptx幻灯片文本 + 图片数 + 页数
文件优先规则:当同一文档存在 .doc 和 .docx 两个版本时,检查 .docx 是否为模板半成品(判断标准:含占位符/格式说明文字/旧项目名),若是则改读 .doc。
数据交接:提取文本写入 /tmp/auto_grading/ 目录下对应的 .txt 文件。
按毕业设计评审模板( references/review_template.md)对每份核心文档评分:
文档类型评分维度满分创作报告/论文内容完整性 + 格式规范性 + 逻辑一致性 + 论证合理性100文献综述同上100开题报告同上100外文翻译格式规范性 + 翻译质量60申报表/任务书/进程表格式规范性 + 栏位完整性40
检查维度满分具体检查项要素一致性50游戏名称/学生姓名/学号/指导教师在所有文档中完全一致;日期逻辑(开题<中期<答辩<提交);审批栏完整引用一致性30三套参考文献(创作报告/文献综述/任务书)重叠度合理;正文引用条目均在参考文献列表中存在分工一致性20小组分工表与创作报告中个人角色一致;申报表课题方向与分工表匹配
维度满分说明基本信息完整20题目/姓名/学号/指导教师/学院/日期 齐全内容结构30选题背景→设计思路→过程展示→成果呈现→总结展望,逻辑清晰视觉美感25版式统一、配色协调、图文比例合理、无文字堆砌观点表达25核心创新点突出、设计过程有说服力、成果有实物/视频支撑
必须在输出前执行安全护栏
核心原则:宁可漏报,不可误报。
层级机制执行方式防什么L1 格式校验scripts/harness.py --inputPython 脚本强制执行阻止 evidence 为空的虚假 bugL2 证据回溯scripts/harness.py 自动 grep 原文脚本在提取文本中搜索 evidence 字符串阻止幻觉/编造出来的问题L3 版本校验scripts/harness.py --archive-dir检测 .doc/.docx 并存,自动选正确版本阻止审错模板文件
text
① batch_extract.py 提取文本 → /tmp/auto_grading/
② LLM 评分 + 输出 issues.json(每条含 file/issue/evidence/confidence)
③ harness.py --input issues.json --txt-dir /tmp/auto_grading --archive-dir <存档目录>
├── L1: 校验 evidence 非空、confidence 有效
├── L2: grep 原文确认 evidence 真实存在
│ ├── 找到 → passed(高/中置信度保持)
│ └── 未找到 → 自动降级为 ⚠️待验证
└── L3: 有 .doc/.docx 冲突时自动选择正确版本
④ 输出清洗后的 clean_issues.json + 护栏报告
之前的错误(报"图1-1来源错误"但实际不存在)→ L2 会因 evidence 字符串在原文中找不到而自动降级。 之前的错误(审了模板 .docx 而非正式 .doc)→ L3 会检测模板残留信号,自动选 .doc。
① 输出 JSON(给 harness.py 校验):
json
{
"student": "姓名",
"review_date": "2026-06-15",
"single_doc_scores": {
"创作报告": {"完整性": 30, "规范性": 13, "逻辑性": 15, "论证": 16, "总分": 74}
},
"cross_check": {"要素一致性": 45, "引用一致性": 25, "分工一致性": 18, "总分": 88},
"ppt_review": {"基本信息": 18, "内容结构": 25, "视觉美感": 20, "观点表达": 22, "总分": 85},
"issues": [
{
"file": "创作报告.doc",
"issue": "副标题仍为'以曹乐川为主'",
"evidence": "游戏《归浦:数字宿命》——以曹乐川为主",
"confidence": "高"
}
]
}
② 运行 harness.py 校验:
bash
python3 scripts/harness.py --input /tmp/issues.json \
--txt-dir /tmp/auto_grading --archive-dir <存档目录>
③ 基于清洗后的 clean_issues 生成 Markdown 报告(评分表 + 交叉审查表 + 修改清单 + 整体评价)。
bash
pip install PyPDF2 python-docx python-pptx olefile
# macOS 自带 textutil、antiword(可选)