Li Git1.1 Checker

Other

基于 GB/T 1.1-2020 标准文档结构检查工具 — 两阶段检查(checklist快速扫描 + 标准原文深度审查),输出结构化报告

Install

openclaw skills install li-git1-1-checker

GB/T 1.1-2020 标准文档检查器

基于《GB/T 1.1-2020 标准化工作导则 第1部分:标准化文件的结构和起草规则》对用户提供的文档进行两阶段检查,输出结构化报告。

适用场景

  • 检查标准草案是否符合 GB/T 1.1-2020 编写规则
  • 审查企业标准、团体标准、行业标准的结构规范性
  • 标准制修订过程中的质量控制
  • 标准化培训中的实操练习

核心原则

  1. 两阶段检查:第一次用 checklist 快速扫描,第二次读标准原文深度审查
  2. 结构化输出:按章节分类输出问题、严重程度、修改建议
  3. 标准原文为准:所有检查结论必须能在 GB/T 1.1-2020 中找到依据

完整工作流

Phase 0: 接收文档

用户提交待检查文档(文本、Markdown、Word 导出文本、或文件路径)。

Phase 1: Checklist 快速扫描

使用下方 完整 Checklist 逐项检查文档,生成快速检查报告。

检查维度:

  • 文件结构:封面、目次、前言、引言、正文、附录、参考文献
  • 规范性要素:范围、规范性引用文件、术语和定义、核心技术内容
  • 资料性要素:封面信息、目次编排、前言内容、引言编写
  • 条款表述:层次编号、文体要求、数值表达、图表公式
  • 格式规范:字体字号、段落格式、页眉页脚

快速输出格式:

## 📋 Checklist 快速检查报告

### 通过项 ✅
- [列出通过的检查项]

### 警告项 ⚠️
- [列出有轻微问题的检查项]

### 错误项 ❌
- [列出有严重问题的检查项]

### 不适用项 ➖
- [列出不适用的检查项]

Phase 2: 标准原文深度审查

由于 PDF 使用自定义字体导致文本提取乱码,Phase 2 使用 vision_analyze 视觉读取 PDF 页面:

  1. 确定审查范围:根据 Phase 1 发现的问题类型,确定需要查看的标准章节页码
  2. 视觉读取标准原文:使用 render_page_for_vision() 渲染 PDF 页面为图片,再用 vision_analyze 读取
  3. 逐条对照:将文档内容与标准原文逐条对照
  4. 引用条款:所有发现问题必须引用 GB/T 1.1-2020 的具体条款号作为依据
  5. 给出建议:针对每个问题给出具体的修改建议

⚠️ 关键陷阱: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-2ICS、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 3: 结构化报告输出

综合 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《标准编写规则》系列

完整 Checklist

A. 封面检查(标准条款 8.1)

编号检查项要求适用
A1标准编号格式为"标准代号 标准顺序号—年代号"必查
A2中文名称简明准确,反映标准主题必查
A3英文名称与国际标准对应时应提供选查
A4ICS号国际分类号,位于左上角必查
A5CCS号中国标准分类号,位于右上角必查
A6标准代替关系如有代替旧标准应注明选查
A7发布日期YYYY-MM-DD 格式必查
A8实施日期YYYY-MM-DD 格式必查
A9发布机构标准发布单位名称必查

B. 目次检查(标准条款 8.2)

编号检查项要求适用
B1是否必要内容较多时建议编制选查
B2起始页码从第1章开始编页码必查
B3包含内容章、条、附录的标题和页码必查
B4附录标注标明(规范性)或(资料性)必查
B5格式统一缩进层次清晰必查

C. 前言检查(标准条款 8.3)

编号检查项要求适用
C1起草规则说明"本文件按照 GB/T 1.1-2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草"必查
C2专利声明涉及专利时应声明"本文件可能涉及专利。本文件的发布机构不承担识别专利的责任"选查
C3提出单位标准的提出单位必查
C4归口单位标准的归口单位(技术委员会)必查
C5起草单位参与起草的机构必查
C6主要起草人参与起草的主要人员必查
C7替代关系如替代旧标准应说明选查
C8不含要求前言不得包含要求性条款必查
C9不含图表前言不得包含图、表、公式必查

D. 引言检查(标准条款 8.4)

编号检查项要求适用
D1可选要素引言是可选要素选查
D2编制背景说明标准编制背景和目的选查
D3不含要求引言不应包含要求性内容必查
D4不使用图表引言一般不含图表选查

E. 范围检查(标准条款 8.5)

编号检查项要求适用
E1必须要素范围是每项标准必须有的要素必查
E2适用领域说明标准适用的领域和界限必查
E3适用对象说明标准适用的对象必查
E4不含要求范围不应包含要求必查
E5陈述句范围应使用陈述句必查

F. 规范性引用文件检查(标准条款 8.6)

编号检查项要求适用
F1引用列出列出标准中规范性引用的其他标准选查
F2编号格式注明标准编号和名称必查
F3版本注明注日期引用/不注日期引用必查
F4无引用说明如无引用文件应写"本文件没有规范性引用文件"必查

G. 术语和定义检查(标准条款 8.7)

编号检查项要求适用
G1专门术语给出标准中使用的专门术语及其定义选查
G2概念排列术语应按概念体系排列必查
G3定义准确定义应准确、简明、无循环定义必查
G4允许加注术语定义后可以加注说明选查
G5引用术语可引用其他标准中的术语定义选查

H. 核心技术要素检查(标准条款 第9章)

编号检查项要求适用
H1要求条款明确、具体、可验证必查
H2试验方法与要求一一对应,可操作选查
H3分类科学合理,覆盖全部范围选查
H4标志标签清晰明确,不易混淆选查
H5包装运输根据产品特性制定选查
H6检验规则检验分类、项目、抽样、判定选查

I. 条款层次与编号检查(标准条款 6.1-6.2)

编号检查项要求适用
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分段标题条标题后应有内容,不应悬置必查

J. 文体要求检查(标准条款 9.1)

编号检查项要求适用
J1要求条款使用"应"、"不应"、"不得"必查
J2推荐条款使用"宜"、"不宜"必查
J3允许条款使用"可"、"不必"必查
J4陈述条款使用陈述句描述事实必查
J5模糊词汇避免使用"可能"、"或许"、"适当"等必查
J6祈使句要求条款不使用祈使句必查

K. 数值与单位检查(标准条款 9.2-9.3)

编号检查项要求适用
K1数值表达使用阿拉伯数字必查
K2范围号使用一字线"—"连接(非短横线"-")必查
K3单位完整数值范围中每个数值后都应带单位必查
K4偏差表达使用"±"符号必查
K5有效位数明确数值有效位数选查
K6法定单位使用法定计量单位必查

L. 图表与公式检查(标准条款 9.4)

编号检查项要求适用
L1图号图应有图号(图1、图2...)必查
L2图题图应有图题必查
L3表号表应有表号(表1、表2...)必查
L4表题表应有表题必查
L5正文引用图表应在正文中被引用必查
L6公式编号公式应编号,编号置于右侧选查
L7符号说明公式中的符号应在正文中说明选查

M. 附录检查(标准条款 8.10、9.13)

编号检查项要求适用
M1附录编号按字母顺序编号(附录A、附录B...)必查
M2性质标注标明(规范性)或(资料性)必查
M3规范性附录可包含要求性条款选查
M4资料性附录不应使用要求性表述必查
M5前言说明附录性质应在前言中说明必查

N. 参考文献检查(标准条款 8.14)

编号检查项要求适用
N1格式规范按 GB/T 7714 格式著录选查
N2不产生要求参考文献不产生规范性效力必查
N3不引用参考文献不应在标准正文中引用必查
N4位置正确参考文献排在标准最后必查

关键陷阱

  1. PDF 编码问题:GB/T 1.1-2020 PDF 使用自定义 CID 字体(F10, F11, F12 等),pymupdf.get_text() 提取的文本完全为乱码。Phase 2 必须使用 vision_analyze 视觉读取页面截图,不可依赖文本提取。

  2. 页码映射误区:PDF 第8页是标准自身的"范围"示例,不是范围的编写规则。编写规则在第7章(PDF 16-20页)。区分"示例"和"规则"。

  3. 前言必须包含起草规则说明:必须写明"本文件按照 GB/T 1.1-2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草"。这是最常见的遗漏项。

  4. 范围不包含要求:范围是资料性要素,绝不能包含"应"、"必须"等要求性表述。常见错误:"本文件规定了XXX,企业必须遵守"。

  5. 术语定义不能循环:不能用被定义词解释自己。错误示例:"标准化是指标准化的活动"。

  6. 数值范围单位不能省:每个数值后都必须带单位。错误:"50-100℃";正确:"50℃—100℃"。

  7. 条款层次不超五级:章→条→段→列项→次列项,最多五级,不能再细分。

  8. 文体用语准确

    • 要求:应/不应/不得
    • 推荐:宜/不宜
    • 允许:可/不必
    • 不能混用
  9. 资料性附录不含要求:资料性附录中不能使用"应"、"不应"等要求性表述。

  10. 规范性引用文件必须注明版本:要么注日期(仅该版本适用),要么不注日期(最新版本适用)。

  11. 图表必须在正文中被引用:不能直接插入图表而不引用。

  12. 参考文献格式:必须按 GB/T 7714 格式,不能在正文中引用参考文献中的条目。

  13. 上传前隐私清理:上传到 ClawHub 前,必须检查并清除:硬编码绝对路径(如 /home/lighthouse/)、个人用户名(author 字段)、API Key/Token。使用 grep -r '/home/lighthouse/'grep -r 'beijinglaoli' 验证。

参考文件

  • references/GBT1.1-2020.pdf — GB/T 1.1-2020 标准原文(72页,Phase 2 深度审查用)
  • USAGE.md — 8个国家/地区详细使用指南(中/美/欧/日/德/英/法/国际)

依赖

  • pymupdf — PDF 页面渲染(将 PDF 页面转为图片)
  • vision_analyze — 视觉读取 PDF 页面内容(替代文本提取)

⚠️ 已知限制

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:系统环境中 pytesseracteasyocrpaddleocr 均不可用。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