讲师中心 微信公众号
AI工具推荐 视频效率加速

变更方案自动审核助手

Polar Sponsor
爱发电 赞助
.NET 9.0

变更方案自动审核助手—全员开放;必须提供变更方案docx,默认提供部署表xlsx(用户明确不需要除外);以/home/deploy_template下模板为基准,优先按文件名关键词定位;默认返回精简Markdown并保存Word报告。

变更方案自动审核助手 v3.3.1

功能概述

变更方案自动审核助手 v3.3.1是一项面向实际任务的技能,主要用于核心目标:基于 /home/deploy_template/ 下的标准变更方案模板,对用户提供的变更方案进行模板对比审核;默认 直接返回精简 Markdown 审核报告 ,并 同时生成 Word 审核报告落盘保存;

核心要点

  • 变更方案和部署表是默认审核前提;
  • 只有用户明确强调不要部署表时,才跳过部署表一致性校验;
  • 审核部署方案。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

变更方案自动审核助手 v3.3.1

核心目标:基于 /home/deploy_template/ 下的标准变更方案模板,对用户提供的变更方案进行模板对比审核。默认直接返回精简 Markdown 审核报告,并同时生成 Word 审核报告落盘保存。变更方案和部署表是默认审核前提;只有用户明确强调不要部署表时,才跳过部署表一致性校验。

触发条件

触发方式 判定标准
关键词 审核部署方案 / 帮我看下部署方案 / 帮我审核方案 / 部署方案有问题 / 帮我检查方案 / 帮我审一遍
文件上传 用户上传 .docx 变更方案 + .xlsx 部署表;可选上传纳管表 .xlsx
路径指定 用户指明文件路径,如"审核 /path/to/变更方案.docx 和 /path/to/部署表.xlsx";若只给方案路径,需补充部署表或明确不要部署表

输入前提

变更方案(.docx) — 必须提供,这是审核的核心材料。部署表(.xlsx) — 必须提供,除非用户强调不要部署表。

纳管表是可选增强材料;缺少纳管表时不阻塞审核。

收到的文件 行为
只有变更方案 .docx,且用户未说明不要部署表 ❌ 暂不审核,提示用户补充部署表或明确确认不要部署表
只有变更方案 .docx,且用户明确说不要部署表 ✅ 执行模板对比审核,并注明跳过部署表一致性校验
方案+部署表 ✅ 执行模板对比 + 部署表一致性校验
方案+部署表+纳管表 ✅ 执行全量审核
只有 xlsx 或非方案文件 ❌ 提示缺少变更方案 .docx

核心流程(6步)

Step 0 — 输入校验(必须执行)

在处理任何文档内容之前,必须完成输入检查。

Step 0.1 必要输入校验

必须先确认存在变更方案 .docx 和部署表 .xlsx。仅当用户明确说不要部署表时,部署表可缺省。

场景 行为
未收到 .docx 方案 拒绝,不做解析。提示用户补充变更方案
仅收到 .docx 方案,用户未说明不要部署表 暂停审核。提示用户补充部署表,或明确回复"不要部署表/跳过部署表校验"
仅收到 .docx 方案,用户明确不要部署表 继续 Step 1,只执行模板对比审核,并在报告中注明部署表校验被用户要求跳过
收到 .docx + 部署表 继续 Step 1,执行模板对比和 B 类校验
收到 .docx + 部署表 + 纳管表 继续 Step 1,执行全量审核

缺少必要材料回复模板:

⚠️ 审核默认需要两份必要材料:变更方案(.docx) + 部署表(.xlsx)

当前仅收到:{文件名}
缺少:{变更方案(.docx) 或 部署表(.xlsx)}

请补充后重新提交;如果本次明确不需要部署表,请回复“不要部署表”或“跳过部署表校验”。

Step 0.2 可选材料处理

部署表和纳管表按以下规则处理:

  • 无部署表且用户未明确不要部署表:暂停审核,要求补充部署表或确认跳过。
  • 无部署表但用户明确不要部署表:只做模板结构、关键步骤、编辑质量审核;在报告"审核范围"中注明"按用户要求跳过部署表一致性校验"。
  • 无纳管表:跳过 C 类纳管表校验;在报告"审核范围"中注明未做纳管状态校验。
  • 用户明确要求全量审核时,必须要求补充纳管表后再执行 C 类校验。

Step 1 — 保存原始输入

任何输入在处理前必须先存档,防止后续覆盖:

from pathlib import Path
import shutil
from datetime import datetime

SKILL_DIR = Path.home() / '.hermes/skills/openclaw-imports/deploy-plan-review'
RAW_DIR = SKILL_DIR / 'data' / 'raw'
RAW_DIR.mkdir(parents=True, exist_ok=True)

ts = datetime.now().strftime('%Y-%m-%d_%H%M%S')
for label, src in [('plan', plan_path), ('deploy', deploy_path), ('manage', manage_path)]:
    if src and Path(src).exists():
        shutil.copy2(src, RAW_DIR / f'{ts}_{label}_{Path(src).name}')

Step 2 — 识别方案类型并确定模板(必须优先执行)

模板选择是本技能的核心。必须先根据用户给出的方案文件名关键词,在 /home/deploy_template/ 下定位最相近模板,再以该模板为基准审核。

Step 2.1 模板发现

运行时递归扫描 /home/deploy_template/ 下所有 .docx 模板,构建候选模板清单。不得使用硬编码模板清单代替实际目录;目录新增模板时应自动参与匹配。

Step 2.2 关键词提取优先级

按以下顺序提取关键词并打分:

  1. 方案文件名:最高优先级。示例:9月10日-青海西宁三区-x86+culinux-新建存储集群扩容变更方案.docx
  2. 用户文字描述/路径:如用户说"行业云存储新建"、路径中包含"行业云"。
  3. 方案正文首页/标题/前两级标题:仅在文件名信息不足时使用。
  4. 反问用户:私有云/行业云或场景无法唯一确定时再问。

Step 2.3 关键词路由规则

识别维度 关键词 路由规则
云类型 行业云、双引擎、骨干、一区/二区/三区/四区 等行业云资源池命名 优先匹配 /home/deploy_template/行业云/
云类型 私有云、明确私有资源池描述 优先匹配 /home/deploy_template/私有云/
产品 存储集群、ceph、块存储、存储 匹配对应云类型下 存储/
产品 对象存储、RGW、YIG、hoss 匹配 对象存储/ 或 RGW&Dims&CSG/
产品 NAS 匹配 NAS/
产品 裸金属 匹配 裸金属/
产品 GPU、L型、云桌面、增强型、计算 匹配 计算/ 下对应子目录
网络 VLAN、VXLAN、vlan、vxlan 在计算/裸金属等多模板场景中继续缩小范围
场景 新建、新建AZ、新增AZ、新集群 优先匹配模板名含 新建、新增、新AZ 的模板
场景 原集群扩容、原AZ、扩容 优先匹配模板名含 原集群扩容、原AZ、扩容 的模板
架构/系统 x86、aarch64、arm、culinux 用于校验,不作为云类型决定依据

Step 2.4 指定示例的强制匹配

当方案名类似 9月10日-青海西宁三区-x86+culinux-新建存储集群扩容变更方案.docx:

  • 青海西宁三区 命中行业云资源池命名特征;
  • 新建存储集群 命中行业云存储新建场景;
  • 必须优先选择:
/home/deploy_template/行业云/存储/_存储集群新建融合模板-涵盖所有存储集群新建场景-模板.docx

并在报告中明确写出:本次审核基准模板:/home/deploy_template/行业云/存储/_存储集群新建融合模板-涵盖所有存储集群新建场景-模板.docx。

Step 2.5 模板不唯一时的反问

仅在无法判断私有云/行业云,或同一路径下多个模板得分接近且会影响审核结论时,才反问用户。反问必须说明原因,并告知用户审核是基于模板完成的。

反问示例:

我会根据 /home/deploy_template 下的标准模板进行对比审核,但当前文件名无法明确判断是“私有云”还是“行业云”场景。

请确认本次方案属于哪类:
1. 私有云
2. 行业云

用户确认后,继续定位模板并审核。不要在不确定云类型时擅自混用私有云和行业云模板。

Step 3 — 调用审核引擎

优先调用 scripts/generate_review_report.py,不要重复手写审核逻辑。调用时必须传入 Step 2 定位到的模板路径;如当前引擎尚未支持 template_path 参数,必须先按脚本现有能力完成审核,并在报告中单独补充模板对比结论。

import sys
sys.path.insert(0, str(Path.home() / '.hermes/skills/openclaw-imports/deploy-plan-review'))

from scripts.generate_review_report import run_audit

result = run_audit(
    plan_path="/path/to/变更方案.docx",
    deploy_path="/path/to/部署表.xlsx",  # 默认必须;仅用户明确不要部署表时可为 None
    manage_path="/path/to/纳管表.xlsx",  # 可选
    template_path="/home/deploy_template/行业云/存储/_存储集群新建融合模板-涵盖所有存储集群新建场景-模板.docx"
)

返回的 result 字典结构:

{
    "plan_name": "方案文件名(不含扩展名)",
    "template_path": "本次采用的模板路径",
    "plan": {...},        # 方案解析结果
    "deploy": {...},      # 部署表解析结果(用户明确不要部署表时可能为 None)
    "manage": {...},      # 纳管表解析结果(可能为 None)
    "findings": [...],    # 全部审核发现列表
    "docx_path": "output/审核报告_xxx.docx",
    "xlsx_path": "output/问题跟踪_xxx.xlsx",
    "summary": {
        "p0": N, "p1": N, "p2": N, "p3": N,
        "total": N,
        "conclusion": "通过/条件通过/不通过",
        "timestamp": "2026-05-09_143025",
    },
    "raw_archived": "data/raw/",
}

Step 4 — 默认返回精简 Markdown,并保存 Word 报告

审核完成后,默认在聊天窗口直接返回 Markdown 审核报告。内容要精简,优先列出结论、基准模板、风险统计和必须修改项,避免长篇过程描述。

默认 Markdown 格式:

## 审核结论:{通过/条件通过/不通过}
方案:{plan_name}
基准模板:{template_path}
审核范围:{模板对比 + 部署表一致性 / 模板对比(按用户要求跳过部署表一致性校验)}{+纳管表校验}
跳过项:{无 / 按用户要求跳过部署表一致性校验 / 未提供纳管表,跳过纳管状态校验}
风险统计:🔴P0={p0}  🟡P1={p1}  🔵P2={p2}  ⚪P3={p3}

### 必须修改
- {只列 P0/P1,最多 5 条;无则写“无”}

### 建议优化
- {只列关键 P2/P3,最多 3 条;无则写“无”}

Word报告已保存:{docx_path}
问题跟踪表:{xlsx_path 或 “未生成”}

同时必须生成 Word 报告并保存到 output/,路径写入 Markdown。除非用户明确要求,不要把完整 Word 内容逐段贴到聊天中。

Step 5 — 结果留存

所有过程文件统一在 skill 目录下:

~/.hermes/skills/openclaw-imports/deploy-plan-review/
├── SKILL.md
├── scripts/
│   └── generate_review_report.py   # 审核引擎
├── output/                          # 审核报告输出
│   ├── 审核报告_方案名_2026-05-09_143025.docx
│   └── 问题跟踪_方案名_2026-05-09_143025.xlsx
├── data/
│   ├── raw/                         # 原始输入存档
│   │   ├── 2026-05-09_143025_plan_变更方案.docx
│   │   ├── 2026-05-09_143025_deploy_部署表.xlsx
│   │   └── 2026-05-09_143025_manage_纳管表.xlsx
│   └── 问题跟踪表.xlsx              # 全量历史问题库

审核基准

核心原则:所有审核以 /home/deploy_template/ 下的方案模板为基准,不主观判断。

必须在报告中写明本次实际采用的模板路径。若模板是通过用户确认后选择的,也要写明"已按用户确认的私有云/行业云场景选择模板"。

审核分四大类:

A类 — 结构合规性(以模板为准)

检查项 风险ID 审核方法
章节完整性 P1-07 匹配变更需求/变更安排/变更步骤/割接回退四章
表格完整性 P1-06 版本修订记录表是否更新(非空白/非占位)
人员表完整 P1-03 实施/复核/审批/客户四角色是否齐全
占位符替换 P2-01 搜索 {XXX} [待补充] [填写] XXX资源池

B类 — 数据一致性(方案 vs 部署表)

检查项 风险ID 审核方法
节点数量 P0-02 方案标题"新建N台" vs 部署表行数
CPU/OS架构 P0-03 方案中 x86/aarch64 vs 部署表CPU列
yum源架构 P0-04 repo URL架构 vs 部署表CPU架构
mon IP P0-05 mon节点IP是否在存储IP段内
AZ为空 P0-06 方案说"新建AZ"但部署表az=NULL
标题正文矛盾 P1-01 标题数量 vs 正文数量
节点IP不一致 P1-02 方案IP vs 部署表IP交叉比对

C类 — 纳管表交叉核验(新增)

检查项 风险ID 审核方法
服务器缺失 P0-08 部署表中IP是否全部在纳管表中
IP不一致 P0-09 同IP下部署表与纳管表的hostname是否一致
状态异常 P3-01 纳管表中是否存在非"已纳管"状态
AZ不一致 P3-02 同IP下部署表AZ vs 纳管表AZ

D类 — 编辑质量

检查项 风险ID 审核方法
错别字 P2-02 扩融→扩容、资原池→资源池 等8组检测
编号错误 P2-04 章节编号是否跳跃
占位符 P2-01 全文正则搜索
命名规范 P2-06 文件名格式检查
明文密码泄露 P0-10 全文搜索密码/口令关键字及疑似密码模式

风险等级体系(四级)

🔴 高危风险(P0 — 必须改,不改将导致部署失败或业务中断)

ID 风险项 判定标准
P0-01 IP地址冲突 多个节点使用同一IP,或与生产环境IP段重叠
P0-02 IP不连续/数量不符 IP区间数量 ≠ 实际节点数
P0-03 CPU/OS架构矛盾 方案x86但部署表aarch64(或反之)
P0-04 yum源架构不匹配 repo URL架构(aarch64/x86_64)与节点不一致
P0-05 monitors数量/IP错误 mon IP不在存储IP段,或数量<3
P0-06 AZ字段为NULL但方案说新建 新建AZ场景下部署表az列为空
P0-07 关键步骤缺失 缺少模板中标记为「必须/必做」的操作步骤
P0-08 纳管表服务器缺失 部署表中的服务器在纳管表中不存在
P0-09 纳管IP不一致 部署表管理IP与纳管表管理IP不一致
P0-10 明文密码泄露 方案全文出现疑似明文密码的具体凭证(如 ansible_ssh_pass="实际密码"、连接字符串含密码等),排除占位符模式(xxxxxx/替换为真实密码 等)
P0-10 明文密码泄露 方案全文出现疑似密码模式的明文凭证,包括但不限于:密码/口令关键字后跟≥8位字符串(如 ansible_ssh_pass="xxxxxx"、password: xxx、root密码 后接具体值、连接字符串中的明文密码等);判定标准:① 方案正文中出现 ansible_ssh_pass、sshpass、password、passwd、secret 等关键字后直接跟有具体字符串值(非"xxxxxx"/"xxx"/"密码"等占位符),即触发P0;② 若关键字后跟的是占位符(如 xxxxxx、、******),不触发;③ 部署表中的密码列不触发(部署表属于运维凭据清单,但方案文档中仍建议脱敏)

🟡 中危风险(P1 — 建议改,不影响部署但影响正确性)

ID 风险项 判定标准
P1-01 标题与正文矛盾 标题数量与正文数量不一致
P1-02 节点信息不一致 方案节点列表与表格/部署表不一致
P1-03 变更人员表不完整 实施/复核/审批/客户角色缺失
P1-04 变更时间不合理 时间已过或窗口时长不合理
P1-05 配置参数错误 expand/config.json与部署表不一致
P1-06 版本修订记录未更新 版本修订表为空白或占位符
P1-07 章节缺失 缺少非关键章节(如割接回退)
P1-08 网络配置矛盾 VLAN/VXLAN模式不一致

🔵 低危风险(P2 — 按需修改,规范性/编辑类问题)

ID 风险项 判定标准
P2-01 占位符未替换 仍含 {XXX}、[待补充] 等模板占位符
P2-02 文字错别字 「扩融」「资原池」「部暑」等
P2-03 格式不一致 标题字号不统一
P2-04 编号错误 章节编号跳跃
P2-05 截图/图片缺失 「截图示例」未替换
P2-06 文件命名不规范 缺少日期或资源池名
P2-07 操作记录表格式错误 列名或格式与模板不一致

⚪ 提示信息(P3 — 仅供参考)

ID 风险项 判定标准
P3-01 纳管表状态异常 存在非「已纳管」状态的服务器
P3-02 纳管表AZ不一致 纳管表AZ与部署表AZ不匹配

审核结论判定

结论 判定规则
✅ 通过 无 P0 项,且 P1+P2 ≤ 3 项
⚠️ 条件通过 无 P0 项,P1 项 ≤ 5 项,修改意见已明确标注
❌ 不通过 存在 P0 项,或 P1 项 > 5 项

CLI 用法(可选)

审核引擎支持命令行独立运行:

cd ~/.hermes/skills/openclaw-imports/deploy-plan-review

python3 scripts/generate_review_report.py 
    --plan /path/to/变更方案.docx 
    --deploy /path/to/部署表.xlsx 
    --template /home/deploy_template/行业云/存储/_存储集群新建融合模板-涵盖所有存储集群新建场景-模板.docx

# 如有纳管表,再追加 C 类纳管校验
python3 scripts/generate_review_report.py 
    --plan /path/to/变更方案.docx 
    --deploy /path/to/部署表.xlsx 
    --template /path/to/模板.docx 
    --manage /path/to/纳管表.xlsx

# 仅当用户明确不要部署表时,才允许只做模板对比审核
python3 scripts/generate_review_report.py 
    --plan /path/to/变更方案.docx 
    --template /path/to/模板.docx

# JSON 输出(供程序调用)
python3 scripts/generate_review_report.py 
    --plan ... --template ... --deploy ... --manage ... 
    --json

边界情况

  • 只有变更方案,且用户未明确不要部署表:暂停审核,提示补充部署表或确认跳过部署表校验
  • 只有变更方案,且用户明确不要部署表:只审核模板结构和关键步骤,报告中注明"按用户要求跳过部署表一致性校验"
  • 只有部署表或纳管表:拒绝解析,提示缺少变更方案 .docx
  • 无法判断私有云/行业云:反问用户,说明审核将基于 /home/deploy_template/ 模板完成
  • 模板候选不唯一:列出最可能的 2-3 个模板让用户选择,不要混用模板
  • 无纳管表:跳过 C 类校验,并在审核范围中注明
  • 无部署表:仅在用户明确不要部署表时才跳过 B 类数据一致性校验,并在审核范围中注明
  • 部署表sheet名称不标准:自动搜索含"服务器"/"server"/"02"的sheet
  • 纳管表列名不标准:自动检测"管理IP"/"Management IP"/"主机名"/"AZ"/"状态"/"管理平台"等常见列名
  • 方案无章节标题:P1-07 判定为"缺少全部四章"
  • 方案含多个方案:仅审核主要方案,其他部分忽略

参考

  • 模板目录:/home/deploy_template/
  • 模板结构分析:/root/模板结构分析报告.md
  • 配套技能:deploy-fault-analyzer — 部署故障分析
  • 设计参考:deploy-fault-analyzer v2.0 的 Step 0 存档、多源输入、统一目录结构等模式
  • 编写者注意:Python 中文 f-string 引号陷阱见 references/pitfalls.md
目录

热门AI工具

更多
Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

0

2026.10.22

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

0

2026.10.22

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn