Install
openclaw skills install auto-grading智能批改作业——毕业设计/论文多文档自动化审查。触发词:"批改作业"、"审查毕业设计"、"毕设审查"、"审查存档"、"智能批改"、上传论文/毕设存档文件或目录。 支持:doc/docx/pdf/pptx 批量读取、多维度评分(内容完整性/格式规范性/逻辑一致性/论证合理性)、跨文档一致性检查(书名词号日期引用)、PPT答辩评审(基本信息/内容结构/视觉美感/观点表达)、GB/T 7714参考文献格式校验。 内置安全护栏:每条问题标注出处文件和置信度,输出前自动执行三问自查(证据可溯源/排除提取噪声/排除文件混淆)——宁可漏报,不可误报。
openclaw skills install auto-grading串联 doc-browser(批量读取)→ academic-workflow(评分模板) → 输出审核报告
对目标目录中所有文件执行:
| 文件类型 | 工具 | 提取内容 |
|---|---|---|
.docx | python-docx | 全文 + 图片数 + 域代码残留检测(TOC/HYPERLINK/PAGEREF/REF) |
.doc (WPS) | textutil → antiword → olefile 二进制提取(三级降级) | 全文 |
.pdf (查重报告) | PyPDF2 | 全文 + 定位重复率数值 |
.pptx | python-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 --input | Python 脚本强制执行 | 阻止 evidence 为空的虚假 bug |
| L2 证据回溯 | scripts/harness.py 自动 grep 原文 | 脚本在提取文本中搜索 evidence 字符串 | 阻止幻觉/编造出来的问题 |
| L3 版本校验 | scripts/harness.py --archive-dir | 检测 .doc/.docx 并存,自动选正确版本 | 阻止审错模板文件 |
① 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 校验):
{
"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 校验:
python3 scripts/harness.py --input /tmp/issues.json \
--txt-dir /tmp/auto_grading --archive-dir <存档目录>
③ 基于清洗后的 clean_issues 生成 Markdown 报告(评分表 + 交叉审查表 + 修改清单 + 整体评价)。
pip install PyPDF2 python-docx python-pptx olefile
# macOS 自带 textutil、antiword(可选)