基于 GB/T 1.1-2020 标准文档结构检查工具 — 两阶段检查(checklist快速扫描 + 标准原文深度审查),输出结构化报告
---
name: li_git1.1_checker
description: "基于 GB/T 1.1-2020 标准文档结构检查工具 — 两阶段检查(checklist快速扫描 + 标准原文深度审查),输出结构化报告"
version: 1.0.0
author: beijingLL
metadata:
hermes:
tags: ["GB/T 1.1", "标准化", "标准检查", "文档审查", "checklist", "两阶段检查"]
trigger: "用户要求检查文档是否符合 GB/T 1.1-2020 标准编写规则,或检查标准文档的结构规范性"
---
# 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) 逐项检查文档,生成快速检查报告。
检查维度:
- **文件结构**:封面、目次、前言、引言、正文、附录、参考文献
- **规范性要素**:范围、规范性引用文件、术语和定义、核心技术内容
- **资料性要素**:封面信息、目次编排、前言内容、引言编写
- **条款表述**:层次编号、文体要求、数值表达、图表公式
- **格式规范**:字体字号、段落格式、页眉页脚
快速输出格式:
```markdown
## 📋 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-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 定位时应检查正确的章节。
#### 视觉读取标准原文
```python
# 根据问题类型读取相关页面
# 例如:检查前言问题,读取第 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 的结果,输出完整结构化报告:
```markdown
# 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 | 英文名称 | 与国际标准对应时应提供 | 选查 |
| A4 | ICS号 | 国际分类号,位于左上角 | 必查 |
| A5 | CCS号 | 中国标准分类号,位于右上角 | 必查 |
| 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**:系统环境中 `pytesseract`、`easyocr`、`paddleocr` 均不可用。`vision_analyze` 是唯一可行的中文文本提取方式。
### 渲染脚本
```python
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
```
don't have the plugin yet? install it then click "run inline in claude" again.