Install
openclaw skills install li-git1-1-checker基于 GB/T 1.1-2020 标准文档结构检查工具 — 两阶段检查(checklist快速扫描 + 标准原文深度审查),输出结构化报告
openclaw skills install li-git1-1-checker基于《GB/T 1.1-2020 标准化工作导则 第1部分:标准化文件的结构和起草规则》对用户提供的文档进行两阶段检查,输出结构化报告。
用户提交待检查文档(文本、Markdown、Word 导出文本、或文件路径)。
使用下方 完整 Checklist 逐项检查文档,生成快速检查报告。
检查维度:
快速输出格式:
## 📋 Checklist 快速检查报告
### 通过项 ✅
- [列出通过的检查项]
### 警告项 ⚠️
- [列出有轻微问题的检查项]
### 错误项 ❌
- [列出有严重问题的检查项]
### 不适用项 ➖
- [列出不适用的检查项]
由于 PDF 使用自定义字体导致文本提取乱码,Phase 2 使用 vision_analyze 视觉读取 PDF 页面:
render_page_for_vision() 渲染 PDF 页面为图片,再用 vision_analyze 读取⚠️ 关键陷阱:PDF 编码问题 — GB/T 1.1-2020 PDF 使用自定义 CID 字体,
pymupdf.get_text()提取的文本完全为乱码。 解决方案:必须使用vision_analyze视觉读取渲染后的页面图片,不能依赖文本提取。
⚠️ 关键陷阱:页码映射误区 — PDF 第8页显示的是标准自身的"范围"示例(即 GB/T 1.1-2020 这个标准文件自己的范围), 不是"关于范围应如何编写的规则"。范围的编写规则在第7章(PDF 16-20页)。Phase 2 定位时必须区分"示例"和"规则"。
| 标准章节 | PDF 页码 | 内容 |
|---|---|---|
| 封面 | 1-2 | ICS、CCS、标准编号、名称 |
| 目次 | 3-4 | 标准目录 |
| 前言 | 5-6 | 起草说明、专利声明、起草单位 |
| 引言 | 7 | 编制背景 |
| 第1章 范围 | 8 | 范围示例(标准自身的范围) |
| 第2章 规范性引用文件 | 8-9 | 引用文件列表 |
| 第3章 术语和定义 | 9-10 | 术语定义 |
| 第4章 标准的结构 | 10-12 | 要素类型、结构框架 |
| 第5章 封面目次前言引言 | 11-15 | 资料性概述要素编写规则 |
| 第6章 要素的编号 | 13-15 | 层次编号规则 |
| 第7章 规范性要素的编写 | 16-20 | 范围、引用文件、术语等编写规则 |
| 第8章 资料性要素的编写 | 21-32 | 封面、目次、前言、附录等编写规则 |
| 第9章 要素的表述方式 | 33-45 | 文体、数值、单位、图表、公式 |
| 附录 | 46-60 | 示例和模板 |
⚠️ 注意:第1章是标准自身的范围示例,关于"范围应如何编写"的规则在第7章(PDF 16-20页)。Phase 2 定位时应检查正确的章节。
# 根据问题类型读取相关页面
# 例如:检查前言问题,读取第 5-6 页
# 检查范围问题,读取第 8-9 页
# 检查表述方式,读取第 33-45 页
import pymupdf, os
doc = pymupdf.open(os.path.join(os.path.dirname(__file__), 'references', 'GBT1.1-2020.pdf'))
def render_page_for_vision(page_num):
"""渲染指定页为图片,用于 vision_analyze"""
if page_num < 1 or page_num > len(doc):
return None
page = doc[page_num - 1]
pix = page.get_pixmap(dpi=200, alpha=False)
path = f'/tmp/gbt11_page_{page_num}.png'
pix.save(path)
return path
# 示例:渲染第8页(范围章节)用于视觉检查
# img_path = render_page_for_vision(8)
# 然后调用 vision_analyze(image_url=img_path, question="...")
综合 Phase 1 和 Phase 2 的结果,输出完整结构化报告:
# GB/T 1.1-2020 标准文档检查报告
## 文档信息
- **文档名称**: [名称]
- **检查日期**: [日期]
- **检查类型**: 两阶段检查(checklist + 标准原文)
## 一、总体评价
- **结构完整性**: [评分/评价]
- **要素规范性**: [评分/评价]
- **条款表述**: [评分/评价]
- **格式规范性**: [评分/评价]
## 二、结构检查
### 2.1 文件结构
| 检查项 | 状态 | 标准条款 | 问题描述 | 修改建议 |
|--------|------|----------|----------|----------|
| 封面 | ✅/❌ | 8.1 | ... | ... |
| 目次 | ✅/❌/➖ | 8.2 | ... | ... |
| 前言 | ✅/❌ | 8.3 | ... | ... |
| 引言 | ➖/✅/❌ | 8.4 | ... | ... |
| 范围 | ✅/❌ | 8.5 | ... | ... |
| 规范性引用文件 | ✅/❌/➖ | 8.6 | ... | ... |
| 术语和定义 | ➖/✅/❌ | 8.7 | ... | ... |
### 2.2 核心技术要素
| 检查项 | 状态 | 标准条款 | 问题描述 | 修改建议 |
|--------|------|----------|----------|----------|
| 要求条款 | ✅/❌ | 9.5 | ... | ... |
| 试验方法 | ➖/✅/❌ | 9.6 | ... | ... |
| 分类 | ➖/✅/❌ | 9.7 | ... | ... |
| 标志/标签 | ➖/✅/❌ | 9.8 | ... | ... |
| 包装运输贮存 | ➖/✅/❌ | 9.9 | ... | ... |
| 检验规则 | ➖/✅/❌ | 9.10 | ... | ... |
### 2.3 规范性补充要素
| 检查项 | 状态 | 标准条款 | 问题描述 | 修改建议 |
|--------|------|----------|----------|----------|
| 规范性附录 | ➖/✅/❌ | 8.10 | ... | ... |
| 资料性附录 | ➖/✅/❌ | 9.13 | ... | ... |
| 参考文献 | ➖/✅/❌ | 8.14 | ... | ... |
## 三、表述规范检查
### 3.1 条款层次与编号
| 检查项 | 状态 | 标准条款 | 问题描述 | 修改建议 |
|--------|------|----------|----------|----------|
| 章编号 | ✅/❌ | 6.1 | ... | ... |
| 条编号 | ✅/❌ | 6.1 | ... | ... |
| 段编号 | ✅/❌ | 6.1 | ... | ... |
| 列项编号 | ✅/❌ | 6.2 | ... | ... |
### 3.2 文体要求
| 检查项 | 状态 | 标准条款 | 问题描述 | 修改建议 |
|--------|------|----------|----------|----------|
| 要求表述(应/不应) | ✅/❌ | 9.1 | ... | ... |
| 推荐表述(宜/不宜) | ✅/❌ | 9.1 | ... | ... |
| 允许表述(可/不必) | ✅/❌ | 9.1 | ... | ... |
| 模糊词汇使用 | ✅/❌ | 9.1 | ... | ... |
### 3.3 数值与单位
| 检查项 | 状态 | 标准条款 | 问题描述 | 修改建议 |
|--------|------|----------|----------|----------|
| 数值表达 | ✅/❌ | 9.2 | ... | ... |
| 计量单位 | ✅/❌ | 9.3 | ... | ... |
| 范围表达 | ✅/❌ | 9.2 | ... | ... |
| 偏差表达 | ✅/❌ | 9.2 | ... | ... |
### 3.4 图表与公式
| 检查项 | 状态 | 标准条款 | 问题描述 | 修改建议 |
|--------|------|----------|----------|----------|
| 图的编号 | ✅/❌ | 9.4 | ... | ... |
| 表的编号 | ✅/❌ | 9.4 | ... | ... |
| 公式编号 | ✅/❌ | 9.4 | ... | ... |
| 图表引用 | ✅/❌ | 9.4 | ... | ... |
## 四、问题汇总
### 严重问题(必须修改)
| 序号 | 问题 | 标准条款 | 修改建议 |
|------|------|----------|----------|
| 1 | ... | ... | ... |
### 一般问题(建议修改)
| 序号 | 问题 | 标准条款 | 修改建议 |
|------|------|----------|----------|
| 1 | ... | ... | ... |
### 轻微问题(可选修改)
| 序号 | 问题 | 标准条款 | 修改建议 |
|------|------|----------|----------|
| 1 | ... | ... | ... |
## 五、检查依据
本报告依据以下标准进行检查:
- GB/T 1.1-2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》
- GB/T 20000《标准化工作指南》系列
- GB/T 20001《标准编写规则》系列
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| A1 | 标准编号 | 格式为"标准代号 标准顺序号—年代号" | 必查 |
| A2 | 中文名称 | 简明准确,反映标准主题 | 必查 |
| A3 | 英文名称 | 与国际标准对应时应提供 | 选查 |
| A4 | ICS号 | 国际分类号,位于左上角 | 必查 |
| A5 | CCS号 | 中国标准分类号,位于右上角 | 必查 |
| A6 | 标准代替关系 | 如有代替旧标准应注明 | 选查 |
| A7 | 发布日期 | YYYY-MM-DD 格式 | 必查 |
| A8 | 实施日期 | YYYY-MM-DD 格式 | 必查 |
| A9 | 发布机构 | 标准发布单位名称 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| B1 | 是否必要 | 内容较多时建议编制 | 选查 |
| B2 | 起始页码 | 从第1章开始编页码 | 必查 |
| B3 | 包含内容 | 章、条、附录的标题和页码 | 必查 |
| B4 | 附录标注 | 标明(规范性)或(资料性) | 必查 |
| B5 | 格式统一 | 缩进层次清晰 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| C1 | 起草规则说明 | "本文件按照 GB/T 1.1-2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草" | 必查 |
| C2 | 专利声明 | 涉及专利时应声明"本文件可能涉及专利。本文件的发布机构不承担识别专利的责任" | 选查 |
| C3 | 提出单位 | 标准的提出单位 | 必查 |
| C4 | 归口单位 | 标准的归口单位(技术委员会) | 必查 |
| C5 | 起草单位 | 参与起草的机构 | 必查 |
| C6 | 主要起草人 | 参与起草的主要人员 | 必查 |
| C7 | 替代关系 | 如替代旧标准应说明 | 选查 |
| C8 | 不含要求 | 前言不得包含要求性条款 | 必查 |
| C9 | 不含图表 | 前言不得包含图、表、公式 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| D1 | 可选要素 | 引言是可选要素 | 选查 |
| D2 | 编制背景 | 说明标准编制背景和目的 | 选查 |
| D3 | 不含要求 | 引言不应包含要求性内容 | 必查 |
| D4 | 不使用图表 | 引言一般不含图表 | 选查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| E1 | 必须要素 | 范围是每项标准必须有的要素 | 必查 |
| E2 | 适用领域 | 说明标准适用的领域和界限 | 必查 |
| E3 | 适用对象 | 说明标准适用的对象 | 必查 |
| E4 | 不含要求 | 范围不应包含要求 | 必查 |
| E5 | 陈述句 | 范围应使用陈述句 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| F1 | 引用列出 | 列出标准中规范性引用的其他标准 | 选查 |
| F2 | 编号格式 | 注明标准编号和名称 | 必查 |
| F3 | 版本注明 | 注日期引用/不注日期引用 | 必查 |
| F4 | 无引用说明 | 如无引用文件应写"本文件没有规范性引用文件" | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| G1 | 专门术语 | 给出标准中使用的专门术语及其定义 | 选查 |
| G2 | 概念排列 | 术语应按概念体系排列 | 必查 |
| G3 | 定义准确 | 定义应准确、简明、无循环定义 | 必查 |
| G4 | 允许加注 | 术语定义后可以加注说明 | 选查 |
| G5 | 引用术语 | 可引用其他标准中的术语定义 | 选查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| H1 | 要求条款 | 明确、具体、可验证 | 必查 |
| H2 | 试验方法 | 与要求一一对应,可操作 | 选查 |
| H3 | 分类 | 科学合理,覆盖全部范围 | 选查 |
| H4 | 标志标签 | 清晰明确,不易混淆 | 选查 |
| H5 | 包装运输 | 根据产品特性制定 | 选查 |
| H6 | 检验规则 | 检验分类、项目、抽样、判定 | 选查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| I1 | 章编号 | 从1开始,连续编号(第1章、第2章...) | 必查 |
| I2 | 条编号 | 小数点分隔法(1.1、1.2...) | 必查 |
| I3 | 段编号 | 继续小数点分隔(1.1.1、1.1.2...) | 必查 |
| I4 | 列项 | 带半括号的拉丁字母(a)、b)、c)...) | 必查 |
| I5 | 次列项 | 带半括号的阿拉伯数字(1)、2)、3)...) | 选查 |
| I6 | 层次限制 | 编号不超过五个层次 | 必查 |
| I7 | 悬置段 | 章标题下不应有悬置段(无编号段落) | 必查 |
| I8 | 分段标题 | 条标题后应有内容,不应悬置 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| J1 | 要求条款 | 使用"应"、"不应"、"不得" | 必查 |
| J2 | 推荐条款 | 使用"宜"、"不宜" | 必查 |
| J3 | 允许条款 | 使用"可"、"不必" | 必查 |
| J4 | 陈述条款 | 使用陈述句描述事实 | 必查 |
| J5 | 模糊词汇 | 避免使用"可能"、"或许"、"适当"等 | 必查 |
| J6 | 祈使句 | 要求条款不使用祈使句 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| K1 | 数值表达 | 使用阿拉伯数字 | 必查 |
| K2 | 范围号 | 使用一字线"—"连接(非短横线"-") | 必查 |
| K3 | 单位完整 | 数值范围中每个数值后都应带单位 | 必查 |
| K4 | 偏差表达 | 使用"±"符号 | 必查 |
| K5 | 有效位数 | 明确数值有效位数 | 选查 |
| K6 | 法定单位 | 使用法定计量单位 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| L1 | 图号 | 图应有图号(图1、图2...) | 必查 |
| L2 | 图题 | 图应有图题 | 必查 |
| L3 | 表号 | 表应有表号(表1、表2...) | 必查 |
| L4 | 表题 | 表应有表题 | 必查 |
| L5 | 正文引用 | 图表应在正文中被引用 | 必查 |
| L6 | 公式编号 | 公式应编号,编号置于右侧 | 选查 |
| L7 | 符号说明 | 公式中的符号应在正文中说明 | 选查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| M1 | 附录编号 | 按字母顺序编号(附录A、附录B...) | 必查 |
| M2 | 性质标注 | 标明(规范性)或(资料性) | 必查 |
| M3 | 规范性附录 | 可包含要求性条款 | 选查 |
| M4 | 资料性附录 | 不应使用要求性表述 | 必查 |
| M5 | 前言说明 | 附录性质应在前言中说明 | 必查 |
| 编号 | 检查项 | 要求 | 适用 |
|---|---|---|---|
| N1 | 格式规范 | 按 GB/T 7714 格式著录 | 选查 |
| N2 | 不产生要求 | 参考文献不产生规范性效力 | 必查 |
| N3 | 不引用 | 参考文献不应在标准正文中引用 | 必查 |
| N4 | 位置正确 | 参考文献排在标准最后 | 必查 |
PDF 编码问题:GB/T 1.1-2020 PDF 使用自定义 CID 字体(F10, F11, F12 等),pymupdf.get_text() 提取的文本完全为乱码。Phase 2 必须使用 vision_analyze 视觉读取页面截图,不可依赖文本提取。
页码映射误区:PDF 第8页是标准自身的"范围"示例,不是范围的编写规则。编写规则在第7章(PDF 16-20页)。区分"示例"和"规则"。
前言必须包含起草规则说明:必须写明"本文件按照 GB/T 1.1-2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草"。这是最常见的遗漏项。
范围不包含要求:范围是资料性要素,绝不能包含"应"、"必须"等要求性表述。常见错误:"本文件规定了XXX,企业必须遵守"。
术语定义不能循环:不能用被定义词解释自己。错误示例:"标准化是指标准化的活动"。
数值范围单位不能省:每个数值后都必须带单位。错误:"50-100℃";正确:"50℃—100℃"。
条款层次不超五级:章→条→段→列项→次列项,最多五级,不能再细分。
文体用语准确:
资料性附录不含要求:资料性附录中不能使用"应"、"不应"等要求性表述。
规范性引用文件必须注明版本:要么注日期(仅该版本适用),要么不注日期(最新版本适用)。
图表必须在正文中被引用:不能直接插入图表而不引用。
参考文献格式:必须按 GB/T 7714 格式,不能在正文中引用参考文献中的条目。
上传前隐私清理:上传到 ClawHub 前,必须检查并清除:硬编码绝对路径(如 /home/lighthouse/)、个人用户名(author 字段)、API Key/Token。使用 grep -r '/home/lighthouse/' 和 grep -r 'beijinglaoli' 验证。
pymupdf — PDF 页面渲染(将 PDF 页面转为图片)vision_analyze — 视觉读取 PDF 页面内容(替代文本提取)GB/T 1.1-2020 PDF 使用 10+ 个自定义 CID 字体(F1-F12),pymupdf.get_text() 提取的文本完全为乱码,所有关键词(范围、应、宜、GB/T)均不可检索。
解决方案:Phase 2 使用 render_page_for_vision() 将 PDF 页面渲染为 200 DPI PNG 图片,再通过 vision_analyze 视觉读取。Phase 1 的 Checklist 快速扫描不受影响(不依赖 PDF 内容)。
为什么不用 OCR:系统环境中 pytesseract、easyocr、paddleocr 均不可用。vision_analyze 是唯一可行的中文文本提取方式。
def render_page_for_vision(page_num, pdf_path):
import pymupdf
doc = pymupdf.open(pdf_path)
if page_num < 1 or page_num > len(doc):
return None
page = doc[page_num - 1]
pix = page.get_pixmap(dpi=200, alpha=False)
path = f'/tmp/gbt11_page_{page_num}.png'
pix.save(path)
return path