Install
openclaw skills install consulting-report-generator通用型专业报告PPT生成技能。支持任意内容输入(PPT/文字/PDF/图片),自动识别内容类型,自适应生成结构严谨的专业总结报告。覆盖精益生产、智能制造、计划物控、数字化转型、AI与工业智能五大领域。基于mck-ppt-design专业布局框架(70+种麦肯锡风格布局模式),python-pptx原生绘制。自动搜...
openclaw skills install consulting-report-generator版本演进:v3 Pro(布局重构)→ v4(通用双模式)→ v5(自进化系统)→ v5.1(深度研究增强)
核心升级:
- 🧬 技能自进化系统 — 每日发现新技能、追踪使用模式、自动优化
- 🔍 技能发现引擎 — 扫描126+本地技能,智能推荐可集成的新能力
- 📊 使用分析引擎 — 追踪布局模式使用频率,优化模板选择
- 🐛 错误学习机制 — 记录每次错误与修复,避免重复问题
- 🔄 持续优化循环 — 自动更新技能生态矩阵,保持与时俱进
- 🎯 内容类型自识别 — 上传任意PPT/文字,自动判断内容类型
- 🔬 深度研究引擎 — 多源交叉验证、证据层次、三轮调研循环
- 🖼️ OCR/文档识别 — PDF、图片、Word、Excel文字提取
- 🧠 内容智能扩增 — 联网搜索补充,扩展报告深度
- ✨ 去AI味润色 — 集成 humanizer-zh 去除AI痕迹
consulting-report-generator(通用报告生成器)
输入任意内容 → 自动识别 → 自适应模板 → 生成专业报告
无论你上传的是制造咨询PPT、项目规划文档、市场调研报告、技术总结、还是任何行业的工作总结,本技能会自动分析内容类型,选择最合适的模板和布局,生成结构严谨的专业报告。
| 模式 | 触发条件 | 说明 |
|---|---|---|
| 🎯 通用模式 | 任何非制造领域的内容 | 自适应模板,自动检测内容结构,生成通用总结报告 |
| 🔧 制造专家模式 | 检测到制造/精益/数字化关键词 | 调用ie-expert等专业分析技能,使用20页标准模板 |
当用户上传资料时,自动执行内容分析:
输入内容分析
│
├── 关键词检测: 精益/OEE/MES/TPM/SMED → 制造专家模式
├── 关键词检测: 项目/里程碑/成果/阶段 → 项目管理模式
├── 关键词检测: 市场/竞争/客户/份额 → 市场分析模式
├── 关键词检测: 技术/架构/系统/方案 → 技术总结模式
└── 未匹配 → 通用模式(自适应模板)
精益生产、智能制造、计划物控(PC&MC)、数字化转型、AI与工业智能资深咨询专家; 以及任何需要将内容转化为专业报告的职场人士。
| 领域 | 说明 | 模式 |
|---|---|---|
| 精益生产 | VSM、5S、TPM、SMED、Kaizen、OEE、JIT | 制造专家 |
| 计划物控 | MPS、MRP、RCCP、排产调度、库存控制、齐套管理 | 制造专家 |
| 智能制造 | MES/WMS、数字化车间、数据采集、工业互联网 | 制造专家 |
| 数字化转型 | 数字化战略、IT架构、数据治理、系统集成 | 制造专家 |
| AI与工业智能 | AI质检、预测维护、智能排产、数字孪生 | 制造专家 |
| 项目管理 | 项目总结、阶段汇报、结项报告 | 通用 |
| 市场分析 | 竞品分析、市场调研、行业报告 | 通用 |
| 技术总结 | 技术方案、架构设计、研发总结 | 通用 |
| 运营分析 | 经营分析、绩效报告、数据复盘 | 通用 |
| 类型 | 页数 | 适用场景 |
|---|---|---|
| 阶段总结 | 15-25页 | 项目中期/里程碑汇报 |
| 项目总结 | 25-40页 | 终期交付/结项汇报 |
| 分析报告 | 20-30页 | 调研/诊断/市场分析 |
| 汇报提案 | 15-20页 | 方案汇报/投资审批 |
| 专题分析 | 10-15页 | 特定课题深度研究 |
┌─ 自进化层 ──【v5新增】──────────────────────────────────────┐
│ 技能发现引擎 + 使用分析 + 错误学习 + 模板优化 │
│ ▸ 每日扫描 ~/.workbuddy/skills/ 发现新技能 │
│ ▸ 追踪布局模式使用频率,自动推荐最佳模板 │
│ ▸ 记录每次执行错误与修复,持续改进 │
│ ▸ 自动更新技能生态矩阵,保持与系统同步 │
│ ▸ 每次执行后写入进化日志,供后续参考 │
├─ 识别层 ──────────────────────────────────────────────────┤
│ 内容类型自动检测 + 自适应模板选择 │
│ ▸ 关键词扫描 → 判断内容领域(制造/项目/市场/技术/通用) │
│ ▸ 结构分析 → 识别章节/数据/图表/KPI │
│ ▸ 模板匹配 → 根据内容类型选择最佳模板 │
│ ▸ 制造领域 → 启用专家技能生态 │
├─ 设计层 ──────────────────────────────────────────────┤
│ mck-ppt-design 引擎(70种麦肯锡布局模式) │
│ ▸ Cover / TOC / Section / Appendix │
│ ▸ Big Number / Data Table / Metric Cards / KP Tracker │
│ ▸ 2x2 Matrix / Three-Pillar / Pyramid / Process │
│ ▸ Side-by-Side / Before-After / Scorecard │
│ ▸ Exec Summary / Key Takeaway / Case Study │
│ ▸ Timeline / Vertical Steps / Cycle / Funnel │
│ ▸ Grouped Bar / Horizontal Bar / Trend / Dashboard │
├─ 研究层 ──【v5.1新增】──────────────────────────────────┤
│ 深度研究引擎 + 多源交叉验证 + 证据层次 │
│ ▸ 关键数据点识别 → 自动判断是否需要深度研究 │
│ ▸ 三级调研(广度/深度/交叉验证) │
│ ▸ 四级证据体系(L1-L4) │
│ ▸ 对接academic-deep-research等研究技能生态 │
├─ 内容层 ──────────────────────────────────────────────┤
│ 联网搜索(免API) + 内容扩增引擎 │
│ ▸ multi-search-engine(16引擎中英双语) │
│ ▸ WebSearch(WorkBuddy内置搜索) │
│ ▸ WebFetch(搜索结果详情提取) │
│ ▸ 智能扩增:搜索补充资料 → 扩展报告深度 │
├─ 提取层 ──────────────────────────────────────────────┤
│ OCR识别 + 文档解析 + 图片文字提取 │
│ ▸ markitdown(PDF/Word/Excel/图片OCR/HTML/URL) │
│ ▸ Read工具(直接读取PDF/图片/文本) │
│ ▸ python-pptx提取(PPT图片/文字) │
│ ▸ 原PPT图片提取复用(extract_images_from_pptx()) │
├─ 分析层 ──────────────────────────────────────────────┤
│ 通用分析(所有模式) │ 制造专家(仅制造领域) │
│ ▸ 数据趋势分析 │ ▸ ie-expert(工业工程) │
│ ▸ 竞品对比分析 │ ▸ rohoon-6sigma(六西格玛) │
│ ▸ SWOT/波特五力 │ ▸ inventory-*(库存分析) │
│ ▸ 数据可视化 │ ▸ planning-mc(计划物控) │
│ ▸ 图表生成 │ ▸ lean-toolkit(精益工具) │
│ ▸ 统计建模 │ ▸ mfg-toolkit(制造咨询) │
│ │ ▸ CIO(数字化战略) │
├─ 输出层 ──────────────────────────────────────────────┤
│ python-pptx 原生生成 + 微软雅黑(Mac兼容) │
│ humanizer-zh 去AI味润色 │
│ full_cleanup() XML净化 + AUDIT() 自审函数 │
└────────────────────────────────────────────────────────┘
核心创新:不再依赖固定的内容预设,而是智能分析用户提供的实际内容,自动决定报告的结构、模板和重点。
接收到用户内容后,执行以下分析流程:
# 内容类型自动检测
def detect_content_type(text):
"""根据提取的文字内容判断内容类型"""
indicators = {
"manufacturing": ["精益", "OEE", "TPM", "SMED", "MES", "WIP", "Kaizen",
"5S", "VSM", "Takt", "换型", "在制", "节拍", "数字化车间"],
"project": ["项目背景", "里程碑", "交付物", "甘特图", "阶段",
"进度", "风险", "项目总结", "结项", "收益"],
"market": ["市场", "竞品", "客户", "份额", "SWOT", "波特",
"增长率", "市场规模", "竞争对手"],
"technical": ["架构", "系统", "方案设计", "技术路线", "模块",
"接口", "部署", "测试", "上线", "版本"],
"business": ["营收", "利润", "KPI", "增长率", "ROI", "成本",
"预算", "达成率", "同比", "环比", "运营"],
}
scores = {k: sum(1 for kw in v if kw in text) for k, v in indicators.items()}
best = max(scores, key=scores.get)
return best if scores[best] >= 3 else "general"
检测结果决定:
基于内容类型,自动选择 20 页模板结构:
制造领域: [封面→目录→背景→KPI→BA→支柱→流程→时间线→仪表盘→结束]
项目管理: [封面→目录→概述→里程碑→成果→风险→资源→时间线→行动→结束]
市场分析: [封面→目录→环境→竞品→SWOT→趋势→策略→对比→建议→结束]
技术总结: [封面→目录→背景→架构→方案→对比→路线→验证→展望→结束]
通用模板: [封面→目录→摘要→数据→分析→对比→时间线→行动→总结→结束]
对于通用模式,报告章节内容直接从用户提供的资料中提取和重组:
| 模板章节 | 内容来源 | 生成方式 |
|---|---|---|
| 封面标题 | 自动从内容中提取主题 | 提取最高频关键词或首句 |
| 摘要 | 用户资料中的概要/总结部分 | 浓缩提炼,去AI味 |
| 关键数据 | 提取的数字/指标/KPI | 做成#8 Big Number卡片 |
| 分析对比 | 内容中的对比/优劣势 | 做成#20 Before/After |
| 时间线 | 内容中的时间/阶段节点 | 做成#29 Timeline |
| 行动项 | 内容中的建议/下一步 | 做成#35 Action Items |
| 来源 | 用户资料本身 | 标注"数据来源:用户资料" |
从用户提供的各类材料中智能提取文字内容,作为 PPT 生成的内容根基:
| 输入类型 | 提取方法 | 输出 |
|---|---|---|
| PDF 文件 | markitdown / Read(内置PDF阅读) | 纯文本/Markdown |
| Word (.docx) | markitdown / python-pptx 读取 | 结构化文本 |
| Excel (.xlsx) | markitdown / openpyxl 读取 | 表格数据 |
| 图片 (PNG/JPG) | markitdown (OCR) / Read(内置图片阅读) | 识别的文字 |
| HTML/URL | markitdown / WebFetch | 格式化文本 |
| PPTX (参考) | extract_images_from_pptx() + python-pptx 文本读取 | 图片+文字 |
| 纯文本 (.txt/.md) | Read 直接读取 | 原文 |
用户提供资料
│
▼
┌── 判断文件类型 ──────────────────────────────────────┐
│ │
│ PDF/Word/Excel/Image ──→ 方法A: markitdown CLI │
│ 方法B: Read工具(内置支持) │
│ │
│ PPTX ──→ extract_images_from_pptx() + python-pptx读取 │
│ │
│ HTML/URL ──→ WebFetch / markitdown │
│ │
│ 图片含表格 ──→ 手动提取表格结构 + 文字描述 │
│ │
└────────────────────────────────────────────────────────┘
│
▼
┌── 提取结果处理 ───────────────────────────────────────┐
│ ▸ 按文件来源分类整理 │
│ ▸ 识别关键数据点(数字、指标、日期、KPI) │
│ ▸ 提取行业术语和技术要点 │
│ ▸ 整理为结构化内容摘要 │
│ ▸ 输出 `extracted_content.md` 供后续使用 │
└────────────────────────────────────────────────────────┘
# 安装
pip install 'markitdown[all]'
# 基本用法
markitdown 输入文件路径 -o 输出文件.md
# 示例
markitdown report.pdf -o report.md # PDF
markitdown data.xlsx -o data.md # Excel
markitdown photo.png -o photo.md # 图片OCR
markitdown https://example.com -o page.md # 网页
markitdown doc.docx -o doc.md # Word
| 规则 | 要求 |
|---|---|
| R6 | 用户提供资料时,必须优先执行资料提取,不得跳过 |
| R7 | 提取的文字必须按文件来源分类整理,不得混杂 |
| R8 | 提取结果中识别关键数据点(数字/指标/年份)单独标注 |
| R9 | 提取失败时告知用户,使用降级方法(Read工具→WebFetch)重新尝试 |
基于用户提供的资料内容,通过联网搜索 + 专业技能分析,智能扩展补充,提升报告的信息密度和专业深度。
L1: 直引 → 直接引用用户资料中的事实和数据
└── 来源标记为 "数据来源:用户资料"
L2: 搜索补充 → 对每个关键数据点搜索行业基准/对标值
└── 来源标记为 "来源:XXX(搜索日期)"
L3: 专业深化 → 调用技能生态进行专业分析
└── 调用 ie-expert / rohoon-6sigma 等分析
| 用户资料内容 | 搜索补充方向 | 扩增目标 | 研究深度 |
|---|---|---|---|
| 项目周期/范围 | 搜索同行业同类项目周期基准 | 对比分析,评估项目效率 | standard |
| 效率指标(OEE/良率/周期) | 搜索行业基准值、TEEPTRAK报告 | 行业对标,凸显差距 | standard |
| 库存周转数据 | 搜索同行业库存周转基准 | 定位行业水平 | standard |
| 改善措施清单 | 搜索最佳实践案例、成功对标 | 丰富方案论证 | quick |
| 投资/成本数据 | 搜索行业ROI基准、政策补贴 | 论证投资的必要性 | quick |
| 项目名称/关键词 | 搜索行业趋势、最新政策 | 提升报告时效性 | standard |
| 竞争对手提及 | 搜索竞争对手动态、行业排名 | 竞争格局分析 | deep |
| 市场规模/政策引用 | 搜索权威报告+政策原文 | 数据权威性验证 | deep |
| 技术趋势/前沿课题 | 搜索学术论文+行业白皮书 | 前瞻性分析 | deep |
提取的原始内容
│
▼
┌── 关键数据点识别 ────→ 数字指标、KPI、日期、行业术语
│
▼
┌── 搜索规划 ──────────→ 每个数据点对应2个搜索关键词
│
├── [深度检测] 是否需要三轮调研?
│ ├─ 数字指标 → standard/deep
│ ├─ 竞品/政策 → deep
│ └─ 纯描述 → quick(跳过研究)
│
▼
┌── 联网执行 ──────────→ multi-search-engine / WebSearch
│ (根据深度级别执行1-3轮)
▼
┌── 交叉验证 ──────────→ 多来源对比(仅deep模式)
│
▼
┌── 数据融合 ──────────→ 用户数据 + 搜索数据 = 综合结论
│
▼
┌── 专业深化 ──────────→ 调用技能生态验证分析
│
▼
┌── 内容撰写 ──────────→ 撰写扩增后的报告内容
│
▼
┌── 去AI味润色 ────────→ humanizer-zh 去除AI痕迹
生成的内容在写入 PPT 前,必须执行去AI味处理:
# 检查点:每条文案输出前自检以下特征
CHECK_LIST = [
"❌ 夸大的象征用语("革命性""颠覆性""前所未有的")",
"❌ 宣传性/空洞表述("赋能""抓手""闭环""打通")",
"❌ 模糊归因("一般来说""某种程度""通常")",
"❌ 过度三段式("第一...第二...第三...")",
"❌ AI常用词汇("值得关注的是""值得注意的是")",
"❌ 过多连接短语("此外""同时""另外""而且")",
]
规则:每条 Action Title 和正文段落必须经过自检,去除上述特征后再写入 PPT。
废弃全部自定义图表函数(VSM/GANTT/BAR/PIE等),全面使用 mck-ppt-design 的布局模式:
| 类别 | 布局模式 | 用途说明 |
|---|---|---|
| 结构导航 | #1 Cover / #5 Section Divider / #6 TOC / #36 Closing | 封面/章节/目录/结束 |
| 数据统计 | #8 Big Number / #11 Data Table / #12 Metric Cards / #52 KPI Tracker | 关键数字/表格/指标/KPI追踪 |
| 框架矩阵 | #14 Three-Pillar / #16 Process Flow / #24 Exec Summary | 三支柱/流程箭头/执行摘要 |
| 对比评估 | #20 Before/After / #39 Horizontal Bar / #37 Grouped Bar | 改善前后对比/水平柱状图排名/分组柱状图 |
| 时间流程 | #24 Exec Summary / #29 Timeline / #35 Action Items | 执行摘要/时间线/行动项卡片 |
| 综合仪表盘 | #57 Dashboard | KPI行+柱状图+关键洞见 |
| 深蓝递进 | #60 HeaderBar | 深蓝顶栏标题+副标题 |
| 深蓝递进 | #61 PYRAMID | 居中多层金字塔布局 |
| 深蓝递进 | #62 BLOCK_3COL | 父块内三列子块 |
| 深蓝递进 | #63 TAG_CHIP | 层级标签chip |
| 深蓝递进 | #64 LEFT_LABEL_BAR | 左标签+右内容色条 |
| 战略分析 | #70 SWOT | SWOT四象限战略分析矩阵 |
| 数据可视化 | #71 PIE_BAR | 占比柱状图(避免BLOCK_ARC) |
| 卡片装饰 | #72 ICON / DECORATED_CARD | 图标装饰+带图标卡片 |
| 对比分析 | #73 MATRIX | 比较矩阵(多维度对比) |
主色板(6色):
| 颜色 | 简写 | RGB | 用途 |
|---|---|---|---|
| NV深蓝 | NV | (05, 1C, 2C) | 主色/标题/表格头 |
| WH白色 | WH | (FF, FF, FF) | 背景/深蓝底色文字 |
| D3深灰 | D3 | (33, 33, 33) | 正文内容 |
| M6中灰 | M6 | (66, 66, 66) | 次级文字/来源 |
| LG浅灰 | LG | (CC, CC, CC) | 分隔线/表格行 |
| BG背景 | BG | (F2, F2, F2) | 背景面板/卡片底 |
强调色(4色):
| 颜色 | 简写 | RGB | 用途 |
|---|---|---|---|
| AB蓝色 | AB | (00, 6B, A6) | 第一项强调 |
| AG绿色 | AG | (00, 7A, 53) | 正向/改善后 |
| AO橙色 | AO | (D4, 6A, 00) | 警示/连接箭头 |
| AR红色 | AR | (C6, 28, 28) | 负向/改善前 |
浅背景色(4色):
| 颜色 | 简写 | RGB | 用途 |
|---|---|---|---|
| 浅蓝 | LB | (E3, F2, FD) | 蓝色卡片背景 |
| 浅绿 | LG2 | (E8, F5, E9) | 绿色卡片背景 |
| 浅橙 | LO | (FF, F3, E0) | 橙色卡片背景 |
| 浅红 | LR | (FF, EB, EE) | 红色卡片背景 |
深蓝递进色(商品定义框架风格):
| 颜色 | 简写 | RGB | 用途 |
|---|---|---|---|
| 深蓝L1 | LV1 | (05, 1C, 2C) | 顶层/最深层 |
| 深蓝L2 | LV2 | (0A, 30, 4A) | 第2层 |
| 深蓝L3 | LV3 | (10, 44, 62) | 第3层 |
| 深蓝L4 | LV4 | (16, 58, 7A) | 第4层 |
| 深蓝L5 | LV5 | (1C, 6C, 92) | 第5层(底)/最浅层 |
深蓝递进子色(内部分块用):
| 颜色 | 简写 | RGB | 用途 |
|---|---|---|---|
| 子色1 | SV1 | (10, 60, 78) | 交付加速 |
| 子色2 | SV2 | (10, 68, 82) | 成本精控 |
| 子色3 | SV3 | (10, 70, 8C) | 质量跃升 |
| 子色4-6 | SV4-6 | (18,68,88)~(18,78,9C) | 要素/策略/定义 |
| 主题名 | 主色 | 风格 | 适用场景 |
|---|---|---|---|
| deepblue | #051C2C 深蓝 | 咨询专业风 | 精益/制造/供应链 |
| tech | #005A96 亮蓝 | 科技现代风 | AI/数字化/智能制造 |
| business | #2C3E50 商务灰 | 沉稳专业风 | 管理/运营/财务汇报 |
| vibrant | #D46A00 活力橙 | 热情鲜明风 | 创新/变革/启动会 |
使用方式:生成脚本开头调用 theme = apply_theme("tech") 一键切换全局色系。
全微软雅黑 + Arial英文:
| 层级 | 用途 | 字号 | 样式 |
|---|---|---|---|
| H0 | 封面标题 | 40pt | Bold, Microsoft YaHei |
| H1 | Section标题 | 28pt | Bold, Microsoft YaHei |
| H2 | Action Title(每页标题) | 22pt | Bold, Microsoft YaHei |
| H3 | 卡片/子标题 | 14-16pt | Bold, Microsoft YaHei |
| H4 | 正文/列表 | 12-14pt | Regular, Microsoft YaHei |
| H5 | 注释/来源 | 9pt | Regular, Microsoft YaHei |
规则:
Microsoft YaHei(微软雅黑)Ariala:ea 节点设置东亚字体:ea.set('typeface', 'Microsoft YaHei')latin.set('typeface', 'Arial')| 规则 | 要求 | 违反后果 |
|---|---|---|
| R1 | 字体:中文=微软雅黑 + 英文=Arial(不用Georgia) | Mac缺失Georgia显示方块 |
| R2 | ❌ 禁止 MSO_SHAPE.BLOCK_ARC(Mac PowerPoint不渲染) | 饼图/环形图用表格或柱状图替代 |
| R3 | ❌ 禁止 MSO_SHAPE.DIAMOND(菱形) | 改用圆角矩形+文字标注 |
| R4 | 文本框 top+height 不重叠,间距显式计算 | 多行文本动态计算高度 |
| R5 | 生成后必须执行 full_cleanup() | Mac打开时报错 |
R6-R9 规则的完整定义请参考 第四章第4.4节「资料提取规则(R6-R9)」,此处不再重复。
快速索引:
当内容分析引擎检测到制造领域内容时,使用以下标准模板:
| 页码 | 内容 | 布局 | 最低图形数 |
|---|---|---|---|
| P1 | 封面:项目名+副标题+日期+公司名 | #1 Cover | 6 |
| P2 | 目录:8个章节,含编号+标题+描述 | #6 TOC | 35 |
| P3 | 章节分隔 PART 01:项目背景与目标 | #5 Section | 4 |
| P4 | 项目背景+数据卡片+关键数字 | #12 Metric Cards + #8 Big Number | 25 |
| P5 | KPI仪表盘/追踪器(含进度条+状态) | #52 KPI Tracker | 37 |
| P6 | 章节分隔 PART 02:组织优化 | #5 Section | 4 |
| P7 | 调研发现 Before/After 对比 | #20 Before/After | 13 |
| P8 | 改善方案 三支柱框架 | #14 Three-Pillar | 16 |
| P9 | 章节分隔 PART 03:计划模式 | #5 Section | 4 |
| P10 | 计划流程+数据表(含排产流程+指标) | #16 Process Flow + #11 Data Table | 43 |
| P11 | 实施时间线(6-8个里程碑节点) | #29 Timeline | 26 |
| P12 | 章节分隔 PART 04:物流优化 | #5 Section | 4 |
| P13 | 物流优化 Before/After 对比 | #20 Before/After | 13 |
| P14 | 库存对标(水平柱状图+行业数据表) | #39 HBar + #11 Data Table | 6 |
| P15 | 章节分隔 PART 05:验证成果 | #5 Section | 5 |
| P16 | 验证成果大数字+数据表格 | #8 Big Number + #11 Data Table | 17 |
| P17 | 综合仪表盘(KPI行+柱状图+洞见) | #57 Dashboard | 60 |
| P18 | 章节分隔 PART 06:核心价值与展望 | #5 Section | 4 |
| P19 | 持续改善行动项(三阶段路线+行动卡片) | #29 Timeline + #35 Action Items | 22 |
| P20 | 结束页 致谢+联系方式+格言 | #36 Closing | 6 |
| 合计 | 20页 | ≥ 350 |
当内容分析引擎检测到非制造领域内容时,自动适配模板结构。以下为通用模板映射规则:
| 页码 | 内容 | 布局 | 适配方式 |
|---|---|---|---|
| P1 | 封面:自动提取内容主题 | #1 Cover | 从内容中提取最高频关键词作为标题 |
| P2 | 目录:4-8个自动识别的章节 | #6 TOC | 根据内容段落结构自动划分章节 |
| P3 | 章节分隔 01 | #5 Section | 根据内容类型命名(背景/概述/环境) |
| P4 | 摘要/总览/关键数据卡片 | #12 Metric Cards | 提取内容中的数字/指标做成卡片 |
| P5 | 核心发现/关键KPI | #52 KPI Tracker | 提取关键指标做成进度追踪 |
| P6 | 章节分隔 02 | #5 Section | 根据内容类型命名(分析/问题/对比) |
| P7-P8 | 分析/对比/核心内容 | #20 BA / #14 Pillar | 根据内容结构选择对比或框架布局 |
| P9 | 章节分隔 03 | #5 Section | 根据内容类型命名 |
| P10-P11 | 流程/时间线/数据 | #16 Flow / #29 Timeline | 提取内容中的时间节点和流程步骤 |
| P12-P14 | 数据/对标/排名 | #39 HBar / #11 TB | 提取数据制作柱状图和表格 |
| P15-P16 | 成果/验证/大数字 | #8 BN / #11 TB | 提取成果数据做卡片和表格 |
| P17 | 综合仪表盘 | #57 Dashboard | KPI行+趋势+洞见 |
| P18 | 章节分隔 04 | #5 Section | 展望/建议 |
| P19 | 行动项/建议 | #29 + #35 | 提取下一步行动 |
| P20 | 结束页 | #36 Closing | 致谢/联系信息 |
| 合计 | 20页 | ≥ 200 |
每页标题必须是完整句子(陈述结论),而非标题式短语:
❌ "组织优化"
✅ "深入调研发现问题 — 组织架构不匹配、职责交叉"
❌ "项目背景"
✅ "民和电器携手连恩,启动精益+数字化双轮驱动战略转型"
❌ "库存分析"
✅ "库存管理行业对标 — 中国制造业与国际差距1.4-2.3倍"
| 来源级别 | 内容来源 | 标注格式 | 示例 |
|---|---|---|---|
| L1:用户资料 | 直接引用用户提供的资料 | "数据来源:用户资料" | 用户资料 |
| L2:搜索补充 | 联网搜索到的行业数据 | "来源:XXX·年份" | 简道云·2026 |
| L3:技能分析 | 调用专业技能分析结论 | "来源:ie-expert分析" | ie-expert分析 |
所有生成的 PPT 脚本必须包含以下助手函数(参考 generate_pro.py 实现):
| 函数 | 用途 |
|---|---|
cs(s) | 清理 shape 的 p:style XML,防文件损坏 |
sf(run, is_en) | 设置字体:中文 YaHei,英文 Arial,通过 a:ea 节点 |
TX(s, l, t, w, h, tx, ...) | 统一文本框,支持 Microsoft YaHei |
R(s, l, t, w, h, c) | 矩形(无边框) |
RR(s, l, t, w, h, c) | 圆角矩形 |
HL(s, x, y, ln, c, t) | 水平线(薄矩形替代connector) |
OV(s, x, y, lb, sz, bg, fg) | 圆形标签 |
AT(s, tx, sz) | Action Title(白色背景+下划线,22pt Bold) |
SR(s, tx, y) | 来源标注(9pt M6色,7.05寸位置) |
PN(s, n, total) | 页码 |
full_cleanup(path) | 删除所有 p:style + 主题阴影 |
AUDIT(prs) | 自审函数(图形量≥200,页数≥18,密度≥10) |
HDR(s, title, subtitle) | 深蓝顶栏标题(新增v4) |
PYRAMID(s, layers, header) | 居中多层金字塔(新增v4) |
BLOCK_3COL(s, cx, cy, cw, ch, items) | 三列子块布局(新增v4) |
TAG_CHIP(s, text, x, y) | 层级标签芯片(新增v4) |
LEFT_LABEL_BAR(s, x, y, w, h, label, lw, content, lb, cb) | 左标签右内容条(新增v4) |
apply_theme(name) | 配色主题切换(v5新增:deepblue/tech/business/vibrant) |
SWOT(s, s,w,o,t, y) | SWOT四象限分析矩阵(v5新增) |
PIE_BAR(s, items, y, title) | 占比柱状图替代饼图(v5新增) |
ICON(s, x, y, char, sz, bg, fg) | 装饰图标(v5新增) |
DECORATED_CARD(s, x, y, w, h, icon, title, desc, clr) | 带图标装饰卡片(v5新增) |
MATRIX(s, headers, rows, y) | 比较矩阵(v5新增) |
def cover(s, title, subtitle="", date="", company=""):
# 顶部细线:NV色
# 标题:40pt Bold, NV色,多行动态计算高度
# 副标题:24pt, D3色
# 日期+公司:14pt, M6色
# 底部装饰线:NV色 2pt
th = 0.8 + 0.65 * (lines-1) 英寸def toc(s, items):
# items = [(编号, 标题, 描述), ...]
# 每行:圆形编号(NV) + 章节名(16pt,Bold) + 描述(14pt,M6)
# 底部:灰色分隔线
def SEC(s, n, title, subtitle=""):
# 左侧NV色竖条
# "PART N" 16pt M6色
# 标题 28pt Bold NV色
# 副标题 14pt D3色
def BN(s, items, y=TZ):
# items = [(大数字, 标签, 颜色), ...]
# 第一项:NV底色+白字 或 BG底+NV字
# 大数字44pt Bold,标签14pt
def TB(s, l, t, rows, cols, data, col_ws=None):
# 使用 add_table() 原生表格(不自绘)
# 表头:NV深蓝底 + 白字 Bold 9pt
# 数据行:浅灰交替行(#F5F7FA)
# 字体:9pt Microsoft YaHei
# 居中对齐
def MCARDS(s, items, y=TZ):
# items = [(数值, 标签, 示例值, 颜色), ...]
# 白底卡片 + 顶部色彩条
# 数值24pt Bold 色彩色,标签11pt M6,详情10pt D3
def PILLAR(s, items, y=TZ):
# items = [(标题, [要点列表...], 颜色), ...]
# 顶部色条 + 标题14pt WH色
# 下方BG色卡片 + 要点列表12pt D3色
def FLOW(s, steps, y=Inches(2.5)):
# steps = [(标题, 描述), ...]
# 第一项NV色,后续BG色
# 箭头用文本"→" AO色
def EXEC(s, title, points):
# title: 摘要标题
# points: [(编号, 标题, 描述), ...]
# 首项:NV底白字 关键结论
# 后续:编号OV + 标题(14pt NV Bold) + 描述(14pt D3)
def BA(s, before, after, y=TZ):
# 左栏 BG色 "现状(Before)" D3色文字
# 右栏 NV色 "目标(After)" WH色文字
# 中间 "→" 箭头 NV色
def TIMELINE(s, items, y=Inches(3.0)):
# items = [(标题, 描述), ...]
# 水平LG色连接线 2pt
# 圆形编号节点 NV色
# 上方标题 16pt Bold NV色
# 下方描述 11pt D3色
def ACTIONS(s, items, y=TZ):
# items = [(行动, 时间, 负责人), ...]
# 多列BG色卡片
# 编号 + 标题(14pt NV色) + 时间(11pt M6) + 负责人(11pt D3)
def CLOSE(s, main_text, sub_text="", tagline=""):
# 顶部NV色细线
# 主标题 28pt NV色 Bold 居中
# 装饰线 NV色 1.5pt
# 副标题 18pt D3色
# 底部NV色粗线 2pt
# 标语:20pt AO色 Bold
def HBAR(s, items, y=TZ, title=""):
# items = [(标签, 值), ...] 已排序
# 第一名NV色,后续BG色
# 背景浅灰条 + NV色填充条
def GBAR(s, data, labels, colors, y=TZ, title=""):
# data = [[系列1的值], [系列2的值], ...] 每行=一个系列
# labels = [组标签, ...] 如 ["M1","M2","M3"]
# colors = [颜色1, 颜色2, ...] 每个系列的颜色
def KTRACK(s, items, y=TZ):
# items = [(名称, 进度0-1, 详情, 状态on/risk/off), ...]
# 表头(11pt M6 Bold) + 黑色分割线
# 进度条 on=AG / risk=AO / off=AR
# 达成率 14pt Bold 状态色
def DASH(s, kpis, data, labels, colors, insights):
# kpis = [(数值, 标签, 颜色), ...] 顶行KPI卡片
# data/labels/colors → 分组柱状图
# insights → BG色底+NV色字 关键洞见
内容分析轨道 — 在提取资料前,先对内容进行类型分析:
detect_content_type() 检测内容类型自进化轨道 — 与内容分析同时执行:
self_evolution/ 目录下的 known_skills / usage_log)self_evolution.py scan 扫描新技能检测结果示例:
"检测到内容类型:项目管理(置信度85%)
将使用项目管理模板,包含:里程碑/风险矩阵/资源分配等章节
如需切换模板请告知"
💡 系统提示:
"自进化检查完成 | 已发现 0 个新技能 | 上次错误已修复 ✅"
确认用户提供了哪些资料:
[ ] PDF 文件 → 计划使用 markitdown / Read 提取文字[ ] Word 文档 → 计划使用 markitdown 提取文字[ ] Excel 表格 → 计划使用 markitdown 提取数据[ ] 图片/截图 → 计划使用 markitdown OCR / Read 识别[ ] 参考 PPTX → 计划使用 extract_images_from_pptx() 提取[ ] 参考 URL → 计划使用 WebFetch 获取内容[ ] 纯文本/笔记 → 计划使用 Read 读取[ ] 未提供任何资料 → 跳过S1,从S2开始执行资料提取流程:
extracted_content.md 内容摘要文件基于提取的资料内容执行联网扩增:
与用户确认:内容类型检测结果、资料提取结果、内容扩增大纲、报告类型。 重点确认扩增的数据是否准确、模板选择是否合适。
使用 multi-search-engine + WebSearch + WebFetch 搜索行业基准数据。
调用 extract_images_from_pptx() 提取参考PPT图片,按页归类。
提取的图片嵌入新PPT的对应页面。
按照自动选定的20页模板(制造/项目/市场/技术/通用),逐页确认内容和布局模式。 不包含 mck-ppt-design 禁用的模式(Donut/Pie/Gauge)。
| 专业领域 | 调用技能 | 应用于报告章节 |
|---|---|---|
| 精益生产诊断 | ie-expert | P7调研发现 |
| 六西格玛分析 | rohoon-6sigma | P16验证成果 |
| 库存分析 | inventory-eye / inventory-demand-planning | P14库存分析 |
| 计划物控 | planning-mc-assistant | P10计划流程 |
| 精益工具 | lean-production-toolkit | P8改善方案 |
| 制造咨询 | manufacturing-consulting-toolkit | 全流程辅助 |
| 数字化转型 | Chief Information Officer | P18数字化规划 |
参考 references/generate_pro.py 模板(制造领域)或按通用模板规则编写:
full_cleanup() + AUDIT()pip install python-pptx lxml
python generate_xxx.py
执行 AUDIT() + full_cleanup(),按交付检查清单逐项确认。
报告生成完成后,自动写入进化日志:
usage_log.jsontemplate_stats.jsonerror_log.json(含修复方案)evolution_summary.md 进化摘要💡 自进化:记录本次使用 | 累计X次 | 成功率Y%在执行本技能前,确保以下依赖可用:
# PPT生成必备
pip install python-pptx lxml
# 可选:文档提取增强(如无法安装不影响核心PPT生成)
pip install 'markitdown[all]'
| 检查项 | 合格线 |
|---|---|
| 图形总量 | ≥ 200 |
| 总页数 | ≥ 18 |
| 图形密度 | ≥ 10 图/页 |
| 微软雅黑覆盖 | ≥ 80% |
原因:shape 携带 p:style 引用主题阴影 修复:
cs(s) 清理 p:stylefull_cleanup() 全XML净化原因:未设置东亚字体 修复:
def sf(run, is_en=False):
rPr = run._r.get_or_add_rPr()
latin = rPr.find(qn('a:latin'))
if latin is None:
latin = rPr.makeelement(qn('a:latin'), {})
rPr.append(latin)
latin.set('typeface', EN if is_en else FN)
ea = rPr.find(qn('a:ea'))
if ea is None:
ea = rPr.makeelement(qn('a:ea'), {})
rPr.append(ea)
ea.set('typeface', FN)
原因:BLOCK_ARC 或复杂形状不被Mac PowerPoint支持
修复:确保没有使用 MSO_SHAPE.BLOCK_ARC,所有圆环/饼图改用表格或柱状图替代。
原因:行间距未设置或使用固定Y坐标 修复:
p.line_spacing = Pt(font_size * 1.35) 防止中文重叠top + height 不超出下一块的 top原因:add_connector() 生成的 connector 在 Mac 上可能异常
修复:用 add_hline()(薄矩形)替代所有 connector 和连线
原因:环境未安装 markitdown 修复:
pip install 'markitdown[all]'Read 工具直接读取(PDF/图片/文本)WebFetch 读取网页内容python-pptx 读取 PPTX 文字原因:图片质量差或文字不清晰 修复:
这是技能持续进步的核心引擎。每次使用本技能时,自进化系统自动运行,实现三个目标:
每次技能被调用时,自动执行技能发现扫描:
# 技能发现流程
def scan_new_skills():
"""扫描 ~/.workbuddy/skills/ 发现新技能"""
known = load_known_skills() # 加载已知技能列表
all_skills = listdir_skills() # 扫描当前所有技能
new_skills = []
for skill in all_skills:
if skill not in known:
relevance = assess_relevance(skill) # 评估相关性
if relevance >= threshold:
new_skills.append(skill)
auto_integrate(skill) # 自动集成
if new_skills:
notify_user(new_skills) # 通知用户
update_known_skills(new_skills) # 更新已知列表
技能发现规则:
| 规则 | 说明 |
|---|---|
| R10 | 每次技能加载时执行一次发现扫描 |
| R11 | 相关性评估基于 SKILL.md 中的 description 关键词匹配 |
| R12 | 发现的技能自动加入技能生态矩阵 |
| R13 | 新技能信息存储在 self_evolution/ 目录 |
| R14 | 与现有技能同名的忽略(已有则跳过) |
已发现的技能生态(当前 22 个已集成):
| 领域 | 技能 | 用途 |
|---|---|---|
| 分析诊断 | ie-expert, rohoon-6sigma, kaizen, sixsigma | 工业工程/六西格玛分析 |
| 库存分析 | inventory-eye, inventory-demand-planning | 库存优化 |
| 计划物控 | planning-mc-assistant, supply-chain-bom-analyzer | 排产/物料分析 |
| 精益工具 | lean-production-toolkit, manufacturing-consulting-toolkit | 精益方法论 |
| 深度研究 | academic-deep-research, deep-research-pro, research-cog, arxiv-watcher, news-summary | 多源交叉验证/证据层次/三轮调研(v5.1新增) |
| 通用分析 | chart-visualization, data-analysis-report | 图表/数据/研究 |
| 战略规划 | cio, change-management-plan, content-factory | 战略/变革/内容 |
| 设计引擎 | mck-ppt-design | 麦肯锡风格PPT布局 |
| 进化辅助 | self-improving-agent, self-reflection, proactive-agent | 自进化框架 |
| 润色输出 | humanizer-zh, humanizer, manufacturing-expert | 去AI味/专业润色 |
系统在 self_evolution/ 目录中维护以下文件:
self_evolution/
├── known_skills.json # 已知技能列表(含版本、发现日期)
├── usage_log.json # 使用记录(模式频率、执行结果)
├── error_log.json # 错误日志(错误类型、修复方案)
├── improvements.json # 改进建议(用户反馈、自动发现)
├── template_stats.json # 模板使用统计(频率、评分)
└── evolution_summary.md # 进化摘要(供每次加载时参考)
每次技能被调用时,自进化系统按以下流程执行:
技能被调用
│
▼
┌── S0: 自进化检查(与内容分析同时执行)
│ 1. 加载进化数据(known_skills, usage_log)
│ 2. 扫描新技能(scan_new_skills)
│ 3. 检查上次错误是否已修复
│ 4. 加载高频使用的布局模式偏好
│
▼
┌── S1-S12: 正常报告生成流程
│ (期间自动记录使用情况)
│
▼
┌── 执行后:写入进化日志
│
├── 记录本次使用的内容类型和模板
├── 记录使用的布局模式及其频率
├── 如有错误 → 写入 error_log(含修复方案)
├── 更新 template_stats(优化下次推荐)
└── 更新 evolution_summary.md
# 每次执行后的自我评估
def self_improve(execution_result):
"""根据执行结果进行自我改进"""
improvements = []
# 1. 布局模式使用分析
mode_usage = analyze_mode_usage(execution_result)
for mode, count in mode_usage.items():
if count > 5: # 高频使用的模式
improvements.append(f"优化模式 {mode} 的默认参数")
# 2. 错误模式分析
errors = execution_result.get('errors', [])
for err in errors:
if err['type'] == 'font':
improvements.append("字体配置需要优化")
elif err['type'] == 'shape':
improvements.append(f"形状 {err.get('shape')} 需要加清理守卫")
# 3. 用户反馈分析
if execution_result.get('user_satisfied') == False:
improvements.append("用户不满意,需审查输出质量")
# 4. 技能生态更新建议
if execution_result.get('new_skills_found'):
improvements.append(f"发现新技能,建议集成")
return improvements
配合 WorkBuddy 的自动化功能,可设置每日技能巡检:
# 自动化配置建议
schedule: 每天 09:00
动作: 执行技能发现扫描
输出: 报告新发现的技能及集成建议
执行方式:
| 指标 | 说明 | 使用方法 |
|---|---|---|
| 模式使用频率 | 每种布局模式被调用的次数 | 推荐高频模式作为优先选项 |
| 模板选择准确性 | 内容类型诊断与用户反馈的一致率 | 优化 detect_content_type() 权重 |
| 错误率 | 每次执行出现错误的概率 | 优先修复高频错误 |
| 技能集成率 | 已集成技能占可用技能的比例 | 发现遗漏的技能进行集成 |
| 用户满意度 | 用户对生成结果的反馈评分 | 优化模板和内容质量 |
本技能与以下自进化框架技能协同工作:
| 技能 | 用途 | 对接方式 |
|---|---|---|
| self-improving-agent | 对话质量分析,识别改进机会 | 共享 evolution_summary.md |
| self-reflection | 结构化反思与记忆 | 共享错误日志和学习记录 |
| proactive-agent | 将 AI 从任务执行者变为主动伙伴 | 自动建议模板优化 |
| 文件 | 说明 |
|---|---|
references/generate_pro.py | v5 完整生成脚本模板(含配色主题系统+SWOT/PIE_BAR/ICON/MATRIX+深蓝递进系+民和电器案例) |
references/extract_content.py | v4 资料提取脚本模板(PDF/Word/Excel/图片OCR/PPTX) |
references/self_evolution.py | v5 自进化系统脚本(技能发现+使用追踪+错误学习) |
references/report-templates.md | 各类型报告详细页面结构模板 |
references/consulting-phrases.md | 咨询报告专业用语模板 |
references/requirements-summary.md | 完整需求规格文档 |
references/deep_research.py | v5.1 深度研究脚本(多源交叉验证+证据层次+三轮调研) |
在内容扩增子系统基础上,增加深度研究能力。当用户材料中的关键数据点需要行业佐证、或者报告需要更深层次的市场分析时,启用本引擎进行多源交叉验证研究。
┌─ 第一阶段:需求澄清 ─────────────────────────────────┐
│ 识别材料中的关键数据点 → 需要佐证的断言 → 行业空白 │
│ 输出:研究需求清单(3-5个研究主题) │
└─────────────────────────────────────────────────────────┘
│ 用户确认
▼
┌─ 第二阶段:多源调研 ─────────────────────────────────┐
│ 每个主题执行: │
│ ├─ 第1轮:广度搜索(5-10个来源) │
│ ├─ 第2轮:深度提取(关键来源详细分析) │
│ └─ 第3轮:交叉验证(不同来源对比验证) │
└─────────────────────────────────────────────────────────┘
│ 自动执行
▼
┌─ 第三阶段:数据融合 ─────────────────────────────────┐
│ 将研究结果与用户原始材料融合 │
│ ├─ 用户数据 ✓ │
│ ├─ 搜索佐证 ✓ │
│ └─ 综合分析 ✓ │
└─────────────────────────────────────────────────────────┘
| 等级 | 来源类型 | 可信度 | 标注格式 |
|---|---|---|---|
| L1 | 用户提供的原始材料 | ★★★ | "数据来源:用户资料" |
| L2 | 权威行业报告/政府数据 | ★★★ | "来源:XXX(年份)" |
| L3 | 专业媒体报道/企业公开信息 | ★★☆ | "来源:XXX·YYYY-MM-DD" |
| L4 | 通用网络搜索结果 | ★☆☆ | "来源:网络搜索" |
| 条件 | 自动触发 | 说明 |
|---|---|---|
| 材料中包含具体数字指标 | ✅ | 自动搜索行业基准对标 |
| 材料提及竞争对手或行业趋势 | ✅ | 搜索最新动态补充 |
| 材料中有政策/法规引用 | ✅ | 验证政策时效性 |
| 用户明确要求"深度研究" | ✅ | 完整三阶段执行 |
| 仅做PPT排版 | ❌ | 跳过研究 |
深度研究引擎嵌入 S3(内容扩增)阶段,在关键数据点识别后自动判断是否需要执行研究。
第1轮 - 广度搜索: web_search(query, count=10) → 初始发现摘要
第2轮 - 深度提取: web_fetch(top_3_results) → 详细内容+关键数据
第3轮 - 交叉验证: web_search(alternative_terms) + web_fetch → 多源对比
| 技能 | 用途 | 触发场景 |
|---|---|---|
| academic-deep-research | 严谨学术级研究 | 需要APA引用、文献综述 |
| deep-research-pro | 多阶段迭代调研 | 市场调研、竞品分析 |
| research-cog | AI深度研究 | 投资研究、行业分析 |
| arxiv-watcher | ArXiv论文摘要 | 最新技术研究成果 |
| news-summary | 新闻资讯抓取 | 行业最新动态和热点 |