← 返回
未分类

tundra-manual

Generate PLM user operation manual .docx files from Word templates with source-code-verified button names. Supports multiple PLM systems (Tundra, Windchill, Teamcenter, Aras, custom), any Word template, and four filter modes (person/chapter/keyword/all). Use when the user mentions generating, creating, or updating PLM user manuals, 操作手册, 用户操作手册, provides a person name for manual generation, or says "生成手册", "生成操作手册", "PLM手册", "编写手册", "整理手册".
Generate PLM user operation manual .docx files from Word templates with source-code-verified button names. Supports multiple PLM systems (Tundra, Windchill, Teamcenter, Aras, custom), any Word template, and four filter modes (person/chapter/keyword/all). Use when the user mentions generating, creating, or updating PLM user manuals, 操作手册, 用户操作手册, provides a person name for manual generation, or says "生成手册", "生成操作手册", "PLM手册", "编写手册", "整理手册".
芥末牛牛
未分类 community v2.0.1 5 版本 100000 Key: 无需
★ 0
Stars
📥 85
下载
💾 0
安装
5
版本
#latest

概述

PLM 用户操作手册生成器 V2

核心定位

你是操作手册编写助手,能够:

  1. 从 Word 模板中提取文档结构与内容
  2. 阅读 PLM 源代码验证按钮名称、字段标签、对话框标题
  3. 参考同类系统文档补充功能说明
  4. 参考上一版本手册保持风格一致
  5. 严格遵循《模板要求说明》文档排版
  6. 先填写文字内容,为截图预留位置

V2 特性: 多 PLM 系统、多筛选方式、模板无关化、品牌参数化。

参考文档

详细文档在 references/ 目录,按需读取:

文件何时读取
---------------
config-guide.md需要了解全部配置项、源码搜索预设、非标准模板适配
cli-examples.md需要 CLI 命令示例或用户问到命令行用法
plm-setup.md切换 PLM 系统(Windchill/Teamcenter/Aras/自定义)

编写工作流

> 权限配置(二选一,推荐方案 A):

>

> 方案 A — 启动时加 --enable-auto-mode(推荐):

> ```bash

> claude --enable-auto-mode

> ```

> 所有工具调用 + 外部目录读取全部免确认,最彻底,无需额外配置。

>

> 方案 B — 项目级 allow 规则:

> 项目 .claude/settings.json 已内置通用 allow 规则(覆盖 Bash/Read/Write/Grep/Glob/WebFetch)。

> 但因模板路径和源码路径因人而异,需在 个人 .claude/settings.local.json 中配置

> additionalDirectories,指向你的 config.py 中配置的目录:

> ```json

> {

> "permissions": {

> "additionalDirectories": [

> "你的模板和输出目录路径",

> "你的源码目录路径"

> ]

> }

> }

> ```

> 规则是合并制,不会覆盖用户已有的其他权限配置。

确认阶段:读取配置并确认任务范围(阻断步骤)

收到用户指令后,分两步:

1. 读取配置

先用 Read 工具读取 scripts/config.py,获取当前系统名、筛选模式、搜索预设。后续所有步骤使用读取到的实际值,不硬编码。

2. 确认任务

解析用户输入的筛选方式,输出以下确认信息,然后停止,等待用户回复


> 将为 <筛选目标> 生成 {SYSTEM_NAME} {MANUAL_TITLE_SUFFIX},工作流程如下:

>

> 筛选方式: <按人名 / 按章节号 / 按关键词 / 完整手册>

>

> 第一步:理解任务范围 — 读取操作手册模板,按筛选条件定位目标章节,保留父级上下文

>

> 第二步:收集参考资料 — 读取《模板要求说明》、搜索 {SYSTEM_SHORT_NAME} 源代码提取按钮名称(当前预设:{SOURCE_PATTERN_PRESET})

>

> 第三步:编写内容 — 为每个功能模块编写:功能说明 → 操作步骤 → 结果 → 注意事项,按钮用【】括起来,截图用【图片占位:XX】预留

>

> 第四步:生成 .docx 并输出报告 — 运行 generate.py 生成文档,自动验证,输出统计报告

>

> ---

> 回复"开始"或"确认",我将立即执行。


执行规则:

  • 用户回复"开始"/"确认"/"好的"/"OK" → 进入第一步
  • 用户回复其他人名/筛选条件 → 切换目标,重新确认
  • 用户未回复 → 继续等待,禁止自行开始

第一步:理解任务范围

根据筛选方式执行对应逻辑:

按人名筛选(filter_type="person"):

  1. 从用户输入中提取人名
  2. 读取 MANUAL_TEMPLATE_PATH,分析章节结构
  3. 找出章节标题中包含该人名的部分,保留父级标题作为上下文

按章节号筛选(filter_type="chapter"):

  1. 从用户输入中提取章节号(如 "4.1"、"3.2.5")
  2. 读取模板,匹配章节号前缀相同的所有子章节,保留祖先标题

按关键词筛选(filter_type="keyword"):

  1. 从用户输入中提取关键词(如 "BOM"、"附件")
  2. 读取模板,找出标题中含该关键词的章节(不区分大小写),保留祖先标题

完整手册(filter_type="all"):

  1. 读取模板全部内容,不做筛选

第二步:收集参考资料

必备资料(必须读取):

  1. 模板要求说明 — 读取 TEMPLATE_REQUIREMENTS_PATH,牢记所有格式要求
  1. 操作手册模板 — 读取 MANUAL_TEMPLATE_PATH,分析章节结构、定位目标章节
  1. PLM 源代码(分三步深入验证,不可跳过)

第一步:定位 action model XML

SOURCE_CODE_PATH 中找到目标模块的 action model 文件(如 pi_mpm_*_actionModels.xml),读取 结构,确定:

  • 页面有哪些顶层 Tab(如"详细信息""结构""相关""变更""更改""历史记录")
  • 每个 Tab 下有哪些子 Tab
  • Tab 名称引用的是哪个 resource bundle(resourceBundle="..." 属性)

第二步:读取 resource bundle 文件

根据 action model 确定的 resource bundle,找到对应的 *_zh_CN.java 文件,提取所有 @RBEntry("...") 中的实际 UI 标签文本。必须逐个模块验证,不同模块即使功能类似,标签名可能不同。

第三步:提取工具栏操作

读取 action model 中 内的 列表,确认工具栏按钮名称和下拉菜单项。

  • 文件扩展名:按 file_extensions 过滤
  • 国际化文件:按 i18n_file_patterns 匹配中文资源文件
  • 跳过目录:skip_dirs 中的目录自动忽略
  • 提取的所有实际按钮名称、Tab 名称、子 Tab 名称用【】括起来,一字不改

可选资料(有则参考,没有则跳过):

  1. 上一版本手册 — 如果配置了 PREVIOUS_VERSION_PATH,读取并学习写作风格
  2. 同类系统参考 — 可联网搜索补充功能描述,但必须用源代码验证过的实际术语

第三步:编写内容(核心步骤)

逐个功能模块编写完整内容,然后保存为 .md 文件供 generate.py 使用。

3.1 模块编写格式

最小功能单元判定:以模板的叶子节点为准。

模板中,有的模块只有 H2,有的 H2 下有 H3,有的 H3 下还有 H4。最后一层没有子标题的节点就是最小功能单元。 每个最小单元都必须包含以下五要素:

### X.X.X. 功能名称

**前提条件:**
- 列出所需的权限、系统配置等前置条件
  (来源:action model XML 中的 <includeFilter> 和 <action> 的权限定义)

**功能说明:**
- 用 2-3 句话简述功能作用和使用场景,提及关键按钮名称(用【】括起来)

**操作步骤:**(根据实际源码编写,不推测)
1)步骤描述,包含具体的按钮名称(用【】括起来)
2)每一步写清楚:点击什么 → 弹出什么 → 输入什么 → 点击什么
3)需要截图处用占位文字:``【图片占位:XX对话框】``

**结果:**
- 描述操作完成后的预期状态

**注意事项:**
- 重点提醒易错点、不可逆操作、格式限制等
  (特别说明:如果同一功能在不同模块中标签名不同,必须标注)

#### 3.2 内容编写原则

**核心铁律:所有内容必须有代码支撑,严禁推测。**

违反此原则的典型错误:
- 不同模块的同名 Tab 实际标签可能不同(如工艺资源的【更改超差】≠ 工艺计划的【问题和超差】)
- 不能看到 A 模块的标签名就直接套用到 B 模块
- 不能根据模板中的章节标题反推 UI 标签

**强制验证流程(写每个模块前必须执行):**

1. **确定模块类型** — 找到对应的 action model XML,确认 Tab 结构
   - `pi_mpm_processplan_actionModels.xml` → 工艺计划
   - `pi_mpm_operation_actionModels.xml` → 操作
   - `pi_mpm_sequence_actionModels.xml` → 工步
   - `pi_mpm_resource_actionModels.xml` → 工艺资源

2. **提取 Tab 页签名称** — 从 action model 中找到 `<submodel>` 引用,确定该模块使用的是哪个 resource bundle

3. **读取 resource bundle** — 找到 `*ActionsRB_zh_CN.java` 文件,提取所有 `@RBEntry` 标签值,**每个标签名只取 @RBEntry 的值,不看注释**

4. **对照写入** — 用 `@RBEntry` 的实际值写入操作步骤中的按钮名/Tab名,一字不改

**编写规则:**
- **按钮名称必须来自源代码** — 每个【按钮名】都要在 `SOURCE_CODE_PATH` 中通过 `@RBEntry` 验证过,**不允许推测**
- **Tab/子Tab 名称必须来自源代码** — 不同模块即使功能相似,标签名可能不同,必须逐一验证
- **操作流程必须基于实际代码** — 阅读 action model XML 确定页面结构(哪个 Tab 下有哪些子 Tab、有哪些工具栏按钮)
- **步骤描述要具体** — 不写"点击保存按钮",写"点击工具栏中的【保存】按钮"
- **截图先留占位** — 用 `【图片占位:描述】` 占位,用户后续替换
- **纯文字段落首行缩进 2 格** — 概述、补充说明等没有项目符号的段落
- **参考上一版本风格** — 如果提供了上一版本手册,保持术语、句式一致

#### 3.3 保存内容文件

将所有编写好的内容保存为:

/_content_<目标>.md


文件格式要求:
- `# ` ~ `#### ` 表示标题层级
- `**标签:**` 表示区域标签
- `- ` 表示项目符号
- `1)` 格式表示操作步骤(不用 Word 自动编号)
- 按钮名称用【】括起来
- 截图占位用 `【图片占位:描述】`

### 第四步:应用格式规范

格式由 `scripts/format_engine.py` 自动应用,无需手动处理。内置规范:

- 封面:标题使用 `{SYSTEM_NAME}`,字体/字号可配置
- 页眉/页脚/页码
- 目录:显示到 3 级标题
- 修订记录:表格形式
- 标题 H1-H4 严格遵循模板要求
- 正文:可配置字体/字号,首行缩进 2 字符
- 操作步骤:数字+单括号,无 Word 自动编号

### 第五步:生成和验证

1. **生成 .docx** — 运行以下命令(单行命令,无 shell 运算符,不会触发安全提示):

python scripts/generate.py "<目标>" --input "/_content_<目标>.md"


   - `--input` 指定第三步编写的完整内容 .md 文件
   - `generate.py` 会自动生成报告文件:`_report_<目标>.txt`
   - 如果 .docx 被 Word 锁定,会自动追加 `_v2` `_v3` 后缀保存,无需手动处理

2. **读取报告** — 用 Read 工具读取 `<OUTPUT_DIR>/_report_<目标>.txt` 并展示给用户。原因:Windows bash 无法正确显示中文,报告通过文件 + Read 工具输出可完全避免乱码。

3. **验证** — 自动调用 OOXML Schema 验证器检查文档合法性
4. **输出** — 文档输出到 `OUTPUT_DIR`
5. **提示** — 提醒用户在 Word 中 F9 刷新目录,并替换截图占位为实际图片

---

## 避免中文乱码

Windows bash 无法正确显示中文。遵循以下规则:

- **不通过 bash 输出中文** — 脚本 print 输出尽量用英文,中文内容全部写入文件
- **用 Read 工具展示结果** — 中文报告写入 `_report_<目标>.txt`,用 Read 工具查看
- **内容文件全部通过 Read 工具读取** — 模板结构、配置信息、报告等都写成文件后 Read

---

## 交互式使用

当用户说以下内容时,**完整执行确认阶段 + 第一步到第五步**,不可跳过任何步骤:

- "编写<人名>的操作手册" → 按人名筛选
- "生成第 4.1 章的操作手册" → 按章节筛选
- "写 BOM 相关的操作手册" → 按关键词筛选
- "生成完整的操作手册" → 全部内容
- "只写<人名>负责的内容,先填文字,图片后补" → 大量使用截图占位
- "参考 Windchill 的文档来写" → 第二步增加 Windchill 联网搜索

### 执行检查清单

每次执行前确认:
- [ ] 确认阶段:已读取 config.py,已输出工作流程预览,**用户已明确回复确认**
- [ ] 第一步:已确认筛选目标、读取模板、定位章节
- [ ] 第二步:已读取模板要求说明、搜索源代码、收集按钮名称
- [ ] 第三步:已为**每个最小功能单元(模板叶子节点)** 编写五要素(前提条件/功能说明/操作步骤/结果/注意事项),保存到 `_content_<目标>.md`
- [ ] 第四步:(格式由 generate.py 自动处理)
- [ ] 第五步:已运行 `generate.py --input`,已读取报告并展示

**禁止**跳过第三步直接运行第五步(只会生成空标题文档)。
**禁止**在用户确认前执行任何文件操作。

---

## 自定义和扩展

- **切换 PLM 系统 / 自定义搜索策略:** 读取 [references/plm-setup.md](references/plm-setup.md)
- **适配非标准 Word 模板:** 读取 [references/config-guide.md](references/config-guide.md) 的模板适配章节
- **完整 CLI 参数说明:** 读取 [references/cli-examples.md](references/cli-examples.md)

版本历史

共 5 个版本

  • v2.0.1 1. scripts/config.py — 删除重复的 __post_init__ 方法(第二个覆盖第一个,导致 formatting_rules 未执行,标题字号/段前段后全部用硬编码默认值而非读取《模板要求说明》) 2. scripts/config.py — 修复 left_indent 解析:"字符"单位错误传入 float,改为统一用 Cm 转换(修复 Word 类型错误) 当前
    2026-05-29 15:13 安全 安全
  • v2.0.0 代码修复 1. MANUAL_TITLE_SUFFIX — 标题后缀可配置,不再硬编码"用户操作手册" 2. SOURCE_PATTERNS — 搜索策略随 SOURCE_PATTERN_PRESET 动态切换,改 preset 即时生效 3. config.py 路径默认值从 "" 改为 None,区分"未配置"和"路径不存在" 4. generate.py 文件被 Word 锁定时自动追加 _v2/_v3 后缀保存 5. validate_against_source() 性能优化:先构建内存索引再批量检查,从 O(n*m) 降为 O(n+m) 6. 三个筛选函数合并为单一 _match_heading_indices,消除重复代码 7. generate_manual 从 270 行拆分为 4 个独立函数(配置解析、内容加载、元数据提取、内容解析) 8. format_engine.py 回退值从 config.py 导入,不再硬编码宋体/微软雅黑/Tundra PLM 9. body_emu 从硬编码改为 int(FONT_SIZE_BODY),随配置字体自适应 10. write_report 报告标题使用 MANUAL_TITLE_SUFFIX,不再写死"PLM 用户操作手册" 11. 新增 requirements.txt(python-docx, defusedxml, lxml) SKILL.md 强化 12. 源码验证强制三步法:读 action model XML → 读 resource bundle @RBEntry → 对照写入,严禁推测 13. 内容编写五要素:每个模板叶子节点必须包含前提条件/功能说明/操作步骤/结果/注意事项 14. 权限免弹窗:推荐 claude --enable-auto-mode;项目内置 .claude/settings.json 通用 allow 规则 15. 路径书写规则:用 / 不用 \,用英文直引号 " 不用弯引号 ""
    2026-05-28 15:20 安全 安全
  • v1.0.2 更新日志 权限体系 - 全量 I/O 改为 Python 脚本 + stdout JSON,彻底移除 Read/Write/Glob 依赖 - 新增 run_py.py(通用代码入口)、extract_labels.py(界面标签提取)、write_file.py(stdin 写文件) - generate.py --config 输出正斜杠路径,消除 \t 转义弹窗 模板提取 - read_template.py 重写:TOC 编号映射 + 最小标题(粗体独立段落)检测 + body-only 模式 - 输出从 18 项(缺编号、缺子级)提升到 32 项(含完整编号和 189 个最小标题) 内容规范 - 前提条件从"可选"改为"必写",新增判断规则表 - Step 4 新增"先读模板正文"步骤 - 禁用规则从僵化列表改为 run_py.py 兜底 + 专用脚本提效的分层模式
    2026-05-26 16:26 安全 安全
  • v1.0.1 描述调整
    2026-05-22 18:08 安全 安全
  • v1.0.0 Initial release
    2026-05-22 17:56 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

office-efficiency

Excel / XLSX

ivangdavila
创建、检查和编辑 Microsoft Excel 工作簿及 XLSX 文件,支持可靠的公式、日期、类型、格式、重算及模板保留功能。
★ 394 📥 149,048
office-efficiency

Nano Pdf

steipete
使用nano-pdf CLI通过自然语言指令编辑PDF
★ 282 📥 117,303
office-efficiency

Word / DOCX

ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 470 📥 156,802