PLM 内容文档生成规划

PLM 内容文档生成规划

目标

将 PLM 实时数据(产品/BOM/变更/供应商)融入内容生成,从"通用热点文章"升级为"带业务上下文的技术文档/报告"


一、PLM 数据能力盘点

SCSAIClient 可查询的 ItemType

ItemType业务含义典型字段
Part零件/产品item_number, name, description, classification, unit
Document文档name, item_number, state, owned_by_id
ECR变更请求item_number, title, state, created_by, description
ECO变更指令item_number, title, state, related_ecr
Manufacturer制造商name, location, status
Manufacturer Part制造商零件item_number, manufacturer_id, part_id
Vendor供应商name, status, contact
BOM (Part BOM)BOM关系source_id, related_id, quantity

SCSAIClient API

// 查询
await SCSAIClient.queryItems('Part', { where: "classification='Raw Material'", maxRecords: 50 })
// AML 原生
await SCSAIClient.sendAML(`<Item type="Part" action="get"><item_number>ABC-001</item_number></Item>`)
// 创建/更新
await SCSAIClient.createItem('Document', { name: '...', ... })
await SCSAIClient.updateItem('Part', id, { description: '...' })

二、可生成的文档类型(按优先级)

P0 - 立即可做

1. 产品技术说明文档

  • 触发:Part + Document 数据 → 自动生成产品介绍/规格说明
  • 数据来源:Part(规格参数)+ Document(已有文档作参考)
  • 输出:Markdown → 微信草稿 / CMS 文章

2. 变更通知 / ECR 进展报告

  • 触发:ECR 状态变更 → 自动生成变更说明文档
  • 数据来源:ECR(变更请求)+ 关联 Part(受影响零件)
  • 输出:内部通知邮件 + CMS 知识库文章

P1 - 需简单模板

3. BOM 成本分析报告

  • 数据来源:Part BOM(层级结构)+ Manufacturer Part(采购价格)
  • 输出:Markdown 报告(含成本汇总表)

4. 供应商质量月报

  • 数据来源:Vendor + 质检记录(需扩展字段)
  • 输出:月报文档 + 邮件推送

P2 - 需扩展数据

5. 产品发布新闻稿

  • 数据来源:Part(新品)+ ECO(已发布的变更)
  • 输出:对外新闻稿 → 微信发布

6. PLM 系统使用分析报告

  • 数据来源:ECR/ECO 统计 + 用户操作日志
  • 输出:管理月报

三、架构设计

┌─────────────────────────────────────────────┐
│          content-engine.js (已有)            │
│  generate() / refine() / publish()         │
└──────────────┬──────────────────────────────┘
                │ 扩展
┌───────────────▼─────────────────────────────┐
│       plm-content-generator.js (新增)        │
│                                              │
│  generateProductDoc(partNumber)    → 产品文档  │
│  generateEcrReport(ecrId)         → 变更报告  │
│  generateBomReport(partNumber)    → BOM报告  │
│  generateVendorReport(vendorId)   → 供应商报告│
│  generateNewsRelease(partNumber)   → 新闻稿   │
└──────────────┬───────────────────────────────┘
                │ 调用
┌───────────────▼─────────────────────────────┐
│         SCSAI-client.js (已有)                │
│  queryItems() / sendAML()                   │
└─────────────────────────────────────────────┘

与现有 content-engine 的集成点

  1. 扩展 generate()source 参数
  • source: 'hot'(现有,热点话题)
  • source: 'plm' + sourceId: 'Part:ABC-001'(新增,PLM 驱动)
  1. 复用现有后处理流程
  • 去AI味(refine()
  • 质量检查(qualityCheck()
  • 排版(typesetHTML()
  • 发布(CMS + 微信草稿)

四、实现步骤(建议顺序)

Step 1: 创建 plm-content-generator.js

  • 输入:ItemType + Item ID
  • 处理:调用 SCSAIClient 拉取数据 → 组装 prompt → 调用 LLM 生成
  • 输出:结构化 Markdown 内容(复用 ContentEngine 的 LLM 调用逻辑)

Step 2: 扩展 content-engine.js

  • generate() 新增 source: 'plm' 分支
  • 新增 API:POST /api/content/generate-from-plm(body: {itemType, itemId, docType}

Step 3: 在内容中心页面添加"从PLM生成"入口

  • generate.html 新增 Tab:"PLM 数据驱动"
  • 下拉选择 ItemType → 搜索并选择具体 Item → 选择文档类型 → 生成

Step 4: 变更驱动自动生成

  • 监听 ECR 状态变更(数字员工 DS-DATA-001 已同步 ECR 数据)
  • ECR 状态 → Released 时,自动触发 generateEcrReport()
  • 完成后发邮件通知(已有 sendContentNotification()

五、Prompt 设计要点(以产品文档为例)

你是一名技术文档工程师。请根据以下产品数据,生成一份专业的技术说明文档。

【产品数据】
- 零件编号:{{item_number}}
- 名称:{{name}}
- 分类:{{classification}}
- 单位:{{unit}}
- 描述:{{description}}

【已有相关文档】
{{related_documents}}

【要求】
1. 遵循 WorkBuddy 方法论:时间感知、角度陌生化、人称诚意
2. 输出 Markdown 格式,含:摘要、技术参数、应用场景、注意事项
3. 长度 800-1200 字
4. 禁止虚构参数,只基于提供的数据展开

六、文件变更清单

| 文件 | 操作 | 说明 |

|------|------|------|

| server/services/plm-content-generator.js | 新增 | PLM 文档生成核心逻辑 |

| server/services/content-engine.js | 修改 | 添加 source: 'plm' 分支 |

| server/routes/content-api.js | 修改 | 添加 /api/content/generate-from-plm |

| views/workbuddy/generate.html | 修改 | 添加 PLM 驱动 Tab |

| server/services/email-service.js | 已有 | 变更通知邮件(无需修改)|


七、待确认决策点

  1. 文档类型优先级:先做产品文档 + ECR报告,还是一起做?
  2. 触发方式:纯手工(页面触发)还是也要自动(ECR状态变更触发)?
  3. 输出目标:生成后直接发布到 CMS/微信,还是只保存草稿?
  4. PLM 连接稳定性SCSAI-client.js 的连接池和错误重试是否足够?
← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁