安全隐患整改通知单自动填写 Skill
概述
本 skill 实现「上传图片 → AI识别隐患 → 自动填写整改通知单.docx」完整工作流。
模板文件:已内嵌于 scripts/fill_template.py(base64编码),运行时自动解码,无需 assets 目录,可在任意环境直接使用。
> 架构说明:图片分析由 AI 自身完成(直接看图),无需调用外部 API,无需配置 API Key。fill_template.py 脚本只负责填写 Word 文档。
工作流程
第一步:接收用户输入
用户应提供:
- 现场图片(必需):可以是 jpg/png/webp 等格式的现场照片
- 基本信息(可选,未提供则留空):施工单位、工程名称、负责人、检查人、检查日期等
如果用户没有提供图片,提示用户上传图片后继续。
第二步:AI 直接分析图片,识别安全隐患
无需调用任何外部 API。AI 直接观察用户上传的图片,按以下要求分析并在内部整理出三个字段的内容:
- 存在问题:描述图中具体安全隐患,包括位置、现象、可能造成的危险
- 依据条文:引用相关国家规范/行业标准(见下方"规范选用指引")
- 整改措施:具体、可执行的整改步骤和要求
分析时,AI 将结果直接作为变量传递给第三步的脚本参数,不需要展示中间 JSON 给用户(除非用户主动要求)。
规范选用指引(根据图片内容选用适用规范):
| 隐患类型 | 适用主要规范 |
|---|---|
| 施工现场综合安全 | 《建筑施工安全检查标准》JGJ 59-2011 |
| 脚手架 | 《建筑施工扣件式钢管脚手架安全技术规范》JGJ 130-2011 |
| 临时用电 | 《施工现场临时用电安全技术规范》JGJ 46-2005 |
| 高处作业 | 《建筑施工高处作业安全技术规范》JGJ 80-2016 |
| 基坑工程 | 《建筑基坑支护技术规程》JGJ 120-2012 |
| 建筑质量 | 《建筑工程施工质量验收统一标准》GB 50300-2013 |
| 消防安全 | 《建设工程施工现场消防安全技术规范》GB 50720-2011 |
| 起重机械 | 《建筑施工塔式起重机安装、使用、拆卸安全技术规程》JGJ 196-2010 |
| 混凝土结构 | 《混凝土结构工程施工规范》GB 50666-2011 |
| 钢结构 | 《钢结构工程施工规范》GB 50755-2012 |
第三步:将信息填写到整改通知单 Word 模板
执行填充脚本,详见 scripts/fill_template.py。
核心步骤:
1. 从脚本内嵌 base64 自动解码还原模板
2. 用 unpack.py 解包 docx
3. 将图片文件嵌入 word/media/ 并添加关联关系
4. 用 Python 直接操作 document.xml,精确定位各空白单元格填入文字
5. 用 pack.py 打包回 docx
表格结构说明(填写时的定位依据):
模板表格共 7 行,字段如下:
| 行 | 列1(标签) | 列2 | 列3(标签) | 列4 |
|---|---|---|---|---|
| 1 | 施工单位 | [填写] | 负责人 | [填写] |
| 2 | 工程名称 | [填写] | 检查日期 | [填写] |
| 3 | 存在问题 | [填写,跨3列] | ||
| 4 | 现场图片 | [嵌入图片,跨3列] | ||
| 5 | 整改措施 | [填写,跨3列] | ||
| 6 | 整改人 | [填写] | 整改日期 | [填写] |
| 7 | 复查意见 | [填写,跨3列] |
> 表格底部另有签名行:检查人:_ 整改人:___
各空白单元格的段落 paraId(用于精确定位):
- 施工单位值:5B7EE2CD
- 负责人值:1F67A190
- 工程名称值:1EA28DAD
- 检查日期值:3A816F47
- 存在问题值:4051075F
- 现场图片值:5E999B17
- 整改措施值:3D5CEE2E
- 整改人值:38B84C42
- 整改日期值:609665A9
- 复查意见值:3AE4BA21
第四步:输出文件
将生成的 docx 文件复制到 /mnt/user-data/outputs/整改通知单.docx,调用 present_files 工具呈现给用户。
快速执行指令
使用本 skill 时,直接按如下顺序执行,不必反复询问确认:
Step 1:看图分析(AI 自身完成,无需任何命令)
Step 2:执行 bash,填写并生成 Word 文档
# 无需安装任何额外依赖,fill_template.py 只用标准库 + unpack/pack 脚本
SKILL_DIR="/mnt/skills/user/safety-rectification" # 根据实际安装路径修改
python "$SKILL_DIR/scripts/fill_template.py" \
--image "/mnt/user-data/uploads/photo.jpg" \
--施工单位 "某建筑公司" \
--工程名称 "某工程" \
--检查日期 "2024-01-15" \
--问题 "(AI 分析得出的存在问题文字)" \
--依据 "(AI 分析得出的依据条文文字)" \
--措施 "(AI 分析得出的整改措施文字)" \
--output /home/claude/output.docx
cp /home/claude/output.docx "/mnt/user-data/outputs/整改通知单_$(date +%Y%m%d_%H%M%S).docx"
> 注意:SKILL_DIR 替换为本 skill 的实际安装路径(通常为 /mnt/skills/user/safety-rectification/ 或 /mnt/skills/public/safety-rectification/)
用户交互说明
- 若用户未提供施工单位、工程名称等信息,对应单元格留空,不要猜测
- 若用户未提供整改人和整改日期,留空,这些字段通常由现场人员手填
- 复查意见默认留空
- 如果图片中没有明显安全隐患,诚实告知用户,不要杜撰问题
- 如果图片质量过低无法分析,告知用户上传更清晰的图片