kingdee-ppt

将内容转化为金蝶官方风格的完整幻灯片文件(.pptx 或 .html)。当用户说「做PPT」「做个PPT」「做汇报材料」「做演示文稿」「生成deck」「生成幻灯片」「整理成幻灯片」「按金蝶模板整理」「make a presentation」「create a slide deck」「output slides」「HTML幻灯片」「交互式演示」「网页版PPT」「web slides」,或上传 .pptx/.docx 要求转化/重排为金蝶风格时,必须使用此Skill。只要涉及PPT、幻灯片、汇报材料、演讲稿输出(PPTX或HTML格式),就应触发。

waynezhon/kingdee-ppt-skill38 installsMITSynced Aug 27

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI

Agent Skills format with YAML frontmatter. Claude Code reads it as-is.

---
name: "kingdee-ppt"
description: "将内容转化为金蝶官方风格的完整幻灯片文件(.pptx 或 .html)。当用户说「做PPT」「做个PPT」「做汇报材料」「做演示文稿」「生成deck」「生成幻灯片」「整理成幻灯片」「按金蝶模板整理」「make a presentation」「create a slide deck」「output slides」「HTML幻灯片」「交互式演示」「网页版PPT」「web slides」,或上传 .pptx/.docx 要求转化/重排为金蝶风格时,必须使用此Skill。只要涉及PPT、幻灯片、汇报材料、演讲稿输出(PPTX或HTML格式),就应触发。"
license: "MIT"
---

## Preamble (run first)

```bash
_KD_CHECK="kingdee-ppt-update-check"
if ! command -v kingdee-ppt-update-check &>/dev/null; then
  _KD_CHECK="$(npm root -g)/kingdee-ppt/bin/kingdee-ppt-update-check"
fi
_UPD=$("$_KD_CHECK" 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || true
```

If output shows `UPGRADE_AVAILABLE <old> <new>`: inform user "kingdee-ppt **v{new}** is available (you're on v{old}). Run `kingdee-ppt-upgrade` to update." Do NOT auto-upgrade unless user explicitly confirms. Continue with current workflow.

# 金蝶 PPT/HTML 幻灯片生成 Skill v7.2

基于官方金蝶集团 2026 版 PPT 模板,支持 **HTML 交互式演示** 与 **PPTX 可编辑文件** 两种输出。默认先构建 HTML deck,再根据用户选择的输出格式交付或导出。官方背景图和 Logo 内嵌,零配置可用。
> v7.2:新增 HTML 编辑模式 — 右上角开关 + 点击任意文字直接修改 + 一键保存 HTML/PPTX 导出
>       所有组件(stat-card/callout/pillar-card/step-card)自动支持 contenteditable
> v7.1:新增 Bento Motion 风格变体 — Tailwind v4 + GSAP ScrollTrigger,纯白底 + Apple 滚动动效,可选风格切换
>       风格对比:Classic(传统PPT)vs Bento Motion(科技发布)
> v7.0:HTML-first 架构 — 融合 huashu-design 最佳实践,HTML 是第一公民,PPTX 是可选导出
>       新增:html2pptx.js + export_deck_pptx.mjs → 真文本框可编辑 PPTX 导出
>       新增:设计方向顾问(模糊需求时推荐 3 个风格选项)
>       新增:Anti AI-slop 规则(禁紫渐变/emoji图标/Inter字体)
> v6.0:HTML 原子组件系统 — 借鉴 open-design,放弃固定版式编号,采用组件+网格自由组合模式
> v5.0:HTML 输出模式 → 交互式网页幻灯片,键盘导航、触摸滑动、动画效果

---

## HTML 风格选择(v7.1 新增)

**双风格体系**:Classic(默认)与 Bento Motion(可选)

| 维度 | Classic(默认)| Bento Motion(科技感)|
|------|---------------|---------------------|
| **背景** | 冰蓝底/渐变封面 | 纯白 `#FFFFFF` |
| **网格** | 12 份比例系统 | Bento Grid span(1/2/4 列)|
| **字号对比** | 标题 18-28pt / 正文 16pt | Hero 数字 80-160pt / 正文 14pt |
| **动效** | Intersection Observer fade | GSAP ScrollTrigger(Apple 式)|
| **中英文** | 中文为主 | 中文大字粗体 + 英文小字点缀 |
| **图形** | 复杂 SVG/图表 | 勾线简洁图形 |
| **CDN** | 无外部依赖 | Tailwind v4 + GSAP + Font Awesome |
| **PPTX 导出** | **支持**(html2pptx.js)| **不支持**(走 PDF)|
| **适用场景** | 正式汇报、领导层、政府客户 | 产品发布、科技受众、创新展示 |

**触发词**:
- 用户说「Bento风格」「Apple动效」「科技感」「现代感」→ **Bento Motion**
- 内容是科技产品/AI/SaaS/开发者工具 → **推荐 Bento Motion**
- 默认 → **Classic**

---

## 文件读取顺序(v5.1 新增)

```
Phase 0 开始前必须按顺序读取以下文件:

1. design-tokens.md    → 设计变量常量(COLORS/COLOR_SEQ/RADIUS/SHADOWS/SPACING/FONT)
2. layout-schema.md    → 版式参数命名规范(bgColor/textColor 统一命名)
3. rhythm-templates.md → 节奏模板(页面组合预设 + 场景匹配)
4. style-guide.md      → 视觉规范(品牌色/字体/间距)
5. layout-base.md      → 通用辅助函数(loadAsset/addLogo/addFooter/addContentTitle/bentoCard)
6. layout-fixed.md     → 固定版式(封面/目录/章节/结尾:版式01-03,10)
7. layout-content.md   → 内容版式(要点/数据/对比/流程/图文/时间轴:版式04-09)
8. layout-advanced.md  → 高级版式(数据看板/Bento/架构/特性/矩阵/金句/沉浸/焦点:版式11-18)
9. layout-models.md    → 思维模型版式(金字塔/PDCA/SWOT/黄金圈/5W1H/SCQA/IPD:版式19-25)
10. layout-special.md  → 特殊版式(图标行/半出血/悬浮统计/对比栏:版式26-29 + 速查表)
11. pptx-builder.md    → 构建流程规范(资源加载/QA清单)

⚠️ design-tokens.md 和 layout-schema.md 是新增文件,必须最先读取。
⚠️ COLOR_SEQ/阴影工厂定义已迁移至 design-tokens.md,禁止在其他文件重复定义。
⚠️ layout-presets.md 已拆分为 6 个子文件(layout-base/fixed/content/advanced/models/special),按需读取。
```

---

## HTML-first 工作流(v7.0)

> **核心理念**:HTML 是第一公民,PPTX 是可选导出。先做能浏览器演讲的 HTML deck,再根据需要导出可编辑 PPTX。

```
──────────────────────────────────────────────────
  统一流程(Phase F → 0 → 1 → 2 → H → X)
──────────────────────────────────────────────────

Phase F:输出格式选择(⚠️ 用户未明确指定格式时触发)
  F.1 → 使用 AskUserQuestion 询问输出格式:
         · HTML 交互式演示 — 浏览器演讲、支持动画、可部署 Vercel、可导出 PDF
         · PPTX 可编辑文件 — 传统 PowerPoint、可二次编辑、离线演示
  F.2 → 若选 HTML → 记住 OUTPUT_FORMAT=html,进入 Phase 0
  F.3 → 若选 PPTX → 记住 OUTPUT_FORMAT=pptx,进入 Phase 0
         后续 Phase H 须严格遵守 html2pptx.js 4 条硬约束,完成后自动进入 Phase X
  F.4 → 用户已明确说「HTML」「网页版」「PPTX」「可编辑PPT」「PowerPoint」→ 跳过此阶段,直接赋值 OUTPUT_FORMAT

Phase 0:内容结构分析(核心引擎)
  0.1 → 读取用户内容(文字/大纲/文档)
  0.2 → 逐页分析内容特征(要点数量、层级关系、对比关系、数据图表)
  0.3 → 匹配思维模型信号(PDCA/SWOT/黄金圈等高置信信号)
  0.4 → 推荐最适合版式(每页单独分析,不套场景模板)
  0.5 → AI品牌Logo识别(如有AI品牌关键词)

Phase 0.5:设计方向顾问(⚠️ 仅当需求模糊时触发)
  0.5.1 → 若用户需求模糊(如"做个PPT介绍我们的产品"),触发顾问模式
  0.5.2 → 从 3 种金蝶风格方向推荐选项:
         · 风格 A:沉稳专业(深藏青 + 数据卡片 + 金字塔)
         · 风格 B:活力创新(品青渐变 + Bento Grid + 时间轴)
         · 风格 C:简洁克制(白底 + 要点列表 + 对比栏)
  0.5.3 → 用户选择后,进入 Phase 1

Phase 1:大纲+版式推荐
  1.1 → 输出大纲,每页标注推荐版式+推荐理由
  1.2 → 用户确认/调整版式 → 如需调整,标注新版式

Phase 2:内容脚本
  2.1 → 输出内容脚本(含排版指令)
  2.2 → 用户确认 → 进入 HTML 生成

Phase H:HTML 生成(v7.0 核心输出)
  ┌─ H.0 风格选择(新增 v7.1)
  │   ├─ 用户说「Bento风格」「Apple动效」「科技感」「现代感」→ 跳转 Phase H.Bento
  │   ├─ 内容是科技产品/AI/SaaS/开发者工具 → 推荐 Bento Motion,问用户确认
  │   └─ 默认 → Classic 风格(现有流程)
  │
  ┌─ Phase H.Classic(默认流程)
  │   H.0 → Read `html-kingdee-preflight.md` → 预检清单
  │   H.1 → Read `html-kingdee-template.md` → HTML 结构 + JS 功能
  │   H.2 → Read `html-kingdee-style.md` → CSS 品牌色 + 响应式
  │   H.3 → Read `html-kingdee-components.md` → 原子组件
  │   H.4 → Read `html-kingdee-grids.md` → 网格比例系统
  │   H.5 → Read `html-kingdee-typography.md` → 字体配对
  │   H.6 → Read `html-kingdee-presets.md` → CSS 版式预设(按需)
  │   H.7 → 生成多文件 HTML deck(index.html + slides/*.html)
  │         ⚠️ OUTPUT_FORMAT=pptx 时,必须严格遵守 html2pptx.js 4 条硬约束
  │         ⚠️ OUTPUT_FORMAT=html 时,可正常使用动画、渐变、背景图
  │   H.8 → 浏览器预览 → 用户确认
  │   H.9 → 若 OUTPUT_FORMAT=html → 交付 HTML
  │         若 OUTPUT_FORMAT=pptx → 进入 Phase X
  │
  └─ Phase H.Bento(Bento Motion 风格,v7.1 新增)
      H.B0 → Read `html-bento-template.md` → Tailwind v4 + GSAP CDN 骨架
      H.B1 → Read `html-bento-components.md` → Bento Grid 卡片 + 勾线图形
      H.B2 → Read `html-bento-presets.md` → 10 种 Bento 版式预设
      H.B3 → Read `html-bento-motion.md` → GSAP ScrollTrigger 动效库
      H.B4 → 生成单文件 HTML deck(全页滚动 + scroll-triggered 动效)
             ⚠️ Bento Motion 不支持 PPTX 导出(使用 CDN + Tailwind)
             ⚠️ 若 OUTPUT_FORMAT=pptx → 拒绝并建议改用 Classic 风格
      H.B5 → 浏览器预览 → 用户确认 → 交付 HTML

Phase X:PPTX 导出(⚠️ 仅当 OUTPUT_FORMAT=pptx 时执行)
  X.1 → 检查 HTML 是否已按 html2pptx.js 4 条硬约束生成
  X.2 → 若合规 → 执行 export_deck_pptx.mjs
  X.3 → 若未合规 → 列出具体错误项,建议修改 HTML 或改用 PDF
  X.4 → 输出 .pptx 文件 → 交付

──────────────────────────────────────────────────
  html2pptx.js 4 条硬约束(PPTX 导出必需)
──────────────────────────────────────────────────
1. body 固定 960pt × 540pt(匹配 LAYOUT_WIDE 13.333" × 7.5")
2. 所有文字包在 <p>/<h1>-<h6>/<ul>/<ol> 里(禁止裸文本 div)
3. <p>/<h*> 标签自身不能有 background/border/shadow(放外层 div)
4. 不用 CSS gradient、不用 background-image(用 <img> 标签)

⚠️ 不遵守以上约束的 HTML 无法导出 PPTX,只能交付 HTML 或 PDF。
```

---

## Phase 0:内容结构分析引擎(版式匹配核心)

### 0.1 内容特征信号识别

**逐页/逐段分析以下信号,决定版式:**

| 内容特征 | 匹配版式 | 信号关键词/结构 |
|---------|---------|----------------|
| **单一核心结论 + 3个分论点** | 金字塔版式(19) | "结论先行"、"三大支柱"、1+N层级结构 |
| **4格循环结构** | PDCA版式(20) | 计划/执行/检查/改进、Plan/Do/Check/Act |
| **2×2矩阵对比** | SWOT版式(21) | 优势/劣势/机会/威胁、内外部维度对比 |
| **三层嵌套逻辑** | 黄金圈版式(22) | WHY/HOW/WHAT、核心使命→方法→产品 |
| **6要素均匀分布** | 5W1H版式(23) | Who/When/What/Where/Why/How ≥4项 |
| **4步因果链** | SCQA版式(24) | 场景→冲突→问题→解决 |
| **5列趋势分析** | IPD五看版式(25) | 看行业/看客户/看机会/看竞争/看自己 |
| **2-3个数据指标展示** | 数据卡片(05) | 百分比、增长率、数值对比 |
| **时间线/里程碑** | 时间轴(09) | Q1→Q2→Q3→Q4、里程碑、阶段推进 |
| **左右对比/方案对比** | 对比栏(29) | 方案A vs 方案B、优缺点对比 |
| **图标+要点列表** | 图标行(26) | 3-5个要点,每要点有图标对应 |
| **大数字+统计展示** | 悬浮统计(28) | 单个大数字强调、统计卡片组合 |
| **纯文字要点 ≤5条** | 要点列表(04) | 简洁要点列表,无特殊结构 |
| **架构图/层级关系** | 架构图(13) | 层级结构、模块关系、技术架构 |
| **单张大图+少量文字** | 半出血叠加(27) | 图片为主,文字叠加在图上 |

### 0.2 版式匹配优先级规则

```
优先级1:思维模型信号明确 → 直接使用模型版式(置信度高)
优先级2:数据/图表信号 → 数据卡片、统计版式
优先级3:对比/时间结构 → 对比栏、时间轴
优先级4:纯要点列表 → 要点列表版式(兜底)
```

**同一PPT版式多样性规则:**
- 相邻3页不得使用同一版式
- 纯文字要点页不得连续超过2页
- 每页至少包含一种视觉元素(图标、数字、色块、图片)

### 场景 → 默认结构偏好

| 场景 | 自动包含页面 | 首选版式组合 |
|------|------------|------------|
| 内部汇报 | 仅内容页 | 要点列表 + 数据卡片 + 时间轴 |
| 伙伴赋能 | 封面 + 内容 + 结尾 | 架构示意 + 流程图 + 对比页 |
| 客户大会 | 全结构(封面/目录/章节/内容/结尾) | 数据卡片 + 图文并排 + 章节页 + 思维模型 |
| 方案提案 | 封面 + 目录 + 内容 | 对比页 + 流程图 + 数据卡片 + PDCA/SWOT |

> ⚠️ 场景偏好作为**默认建议**,用户明确指定结构时按用户要求执行。

### 0.3 版式推荐输出格式

在大纲阶段输出每页推荐版式及理由:

```
第 05 页  推荐版式:[数据卡片05]  理由:包含3个百分比指标,适合卡片展示
第 07 页  推荐版式:[PDCA循环20] 理由:明确出现"计划→执行→检查→改进"四步结构
第 09 页  推荐版式:[对比栏29]   理由:方案A与方案B对比,左右对比布局最优
```

---

### 0.5 AI 品牌 Logo 识别(lobe-icons 自动嵌入)

> 在完成 Phase 0 内容结构分析后、进入 Phase 1 前,**扫描全文识别 AI 品牌/平台/模型关键词**,并在内容脚本阶段为对应页面标注 logo 嵌入指令。
>
> ⚠️ 映射表在 `references/ai-brand-logos.md`,仅当检测到 AI 品牌关键词时才读取该文件。

---

### 0.5.1 扫描触发条件

满足以下任意一条即触发扫描(并读取 `references/ai-brand-logos.md`):

- 内容中出现 **AI 品牌名称**(如 DeepSeek、通义千问、华为云等)
- 内容中出现 **大模型/AI 平台描述**(如"接入 GPT-4"、"调用文心一言"、"基于 Claude")
- 场景为「伙伴赋能」「客户大会」「方案提案」且内容涉及技术合作/生态展示

---

### 0.5.2 品牌识别映射表

> 📄 完整映射表见 `references/ai-brand-logos.md`,以下为常用示例:

| 常见品牌 | lobe-icons Slug | 彩色版 |
|---------|-----------------|--------|
| OpenAI / GPT | `openai` | 无 |
| Claude / Anthropic | `claude` | `claude-color` ✅ |
| DeepSeek | `deepseek` | `deepseek-color` ✅ |
| 华为云 / 盘古 | `huaweicloud` | `huaweicloud-color` ✅ |
| 阿里云 / 通义 | `alibabacloud` | `alibabacloud-color` ✅ |
| 文心一言 / 百度 | `wenxin` | `wenxin-color` ✅ |
| MCP 协议 | `mcp` | 无 |

> **CDN 地址**:npmmirror(首选)`https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/{slug}.svg`

---

### 0.5.3 识别结果输出(在大纲阶段标注)

在大纲每页末尾新增 `[logo: slug1, slug2]` 标注:

```
第 05 页  [内容-Bento卡片]  AI生态合作伙伴  [logo: huawei, alibaba, bytedance]
第 07 页  [内容-要点列表]   多模型接入方案  [logo: openai, claude, deepseek]
第 09 页  [内容-对比页]     模型能力对比    [logo: qwen, wenxin]
```

---

### 0.5.4 Logo 排版规则

| 场景 | 排版方式 | 尺寸 |
|------|---------|------|
| Bento 卡片页(每张卡片对应一个品牌) | 卡片左上角 logo 图标 + 右侧文字 | 0.45" × 0.45" |
| 合作伙伴展示页(横排 logo 墙) | 底部横排均匀分布,灰色浅底衬托 | 0.5" × 0.5" |
| 要点列表页(行首品牌标识) | 行首 logo 替代项目符号 | 0.3" × 0.3" |
| 技术架构图(标注组件来源) | 色块旁边紧贴放置 | 0.35" × 0.35" |
| 封面/章节页 | ❌ 不放 lobe-icons(避免喧宾夺主) | — |

**颜色处理规则:**
- 深色(主蓝/品青)背景卡片 → 使用 `{slug}-color.png` 彩色版,或白色单色版
- 浅色/白色背景 → 使用 `{slug}.svg` 原色版
- PNG fallback 路径:`https://registry.npmmirror.com/@lobehub/icons-static-png/latest/files/icons/{slug}.png`

---

### 0.5.5 内容脚本中的 Logo 标注格式

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【第 X 页】版式:[内容-Bento卡片]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
标题:苍穹生态AI伙伴矩阵

卡片列表:
  卡片1  [logo: huawei]     华为云
         · 盘古大模型 + CodeArts IDE
         · 联合开发者竞赛合作方
  卡片2  [logo: alibaba]    阿里云
         · 通义千问接入苍穹
         · 云市场联合运营
  卡片3  [logo: deepseek]   DeepSeek
         · 企业级私有化部署方案
         · 财务场景专属模型微调

排版指令:3列等宽卡片,每卡左上角嵌入logo(0.45"),logo下方品牌名12pt灰色
图片:无(全部用lobe-icons)
```

---

### 0.5.6 执行限制与降级处理

| 情况 | 处理方式 |
|------|---------|
| Slug 在映射表中找不到 | 跳过 logo,使用 emoji 替代(如 🤖),不报错 |
| CDN 拉取失败(网络超时) | 自动切换备用 CDN;仍失败则跳过,大纲保留标注 |
| SVG 转 PNG 失败 | 直接用 PNG CDN 地址拉取 fallback |
| 单页 logo 数量 > 6 个 | 合并为「logo 墙」版式,底部横排,文字移至标题区 |
| 用户说「不要 logo」/「不要图标」 | 跳过整个 0.5 阶段,不执行任何 lobe-icons 拉取 |

---

## Phase 1:大纲+版式推荐

### 1.1 输出大纲(每页标注推荐版式+推荐理由)

输出完整大纲,**每页版式字段须标注推荐理由**:

```
──────────────────────────────────────────────────
  金蝶PPT大纲 · [主题] · 共 X 页
  版式分析:[PDCA × 1页 | 数据卡片 × 2页 | 要点列表 × N页]
──────────────────────────────────────────────────
第 01 页  [封面页]              主标题 / 副标题 / 日期
第 02 页  [目录页]              4个章节导览
第 03 页  [章节分隔 01]         章节名 / 副标题
第 04 页  [SWOT矩阵版式21]      页面标题  理由:明确出现优势/劣势/机会/威胁四要素
第 05 页  [数据卡片05]          页面标题  理由:包含3个百分比指标,适合卡片展示
第 06 页  [章节分隔 02]         章节名
第 07 页  [PDCA循环版式20]      页面标题  理由:计划→执行→检查→改进四步结构
第 08 页  [要点列表04]          页面标题  理由:5条简洁要点,无特殊结构
...
第 XX 页  [结尾页]              多语言致谢
──────────────────────────────────────────────────
```

### 1.2 用户确认/调整版式

使用 `ask_user_input` 提问:

```
问题  标题:"大纲确认"  类型:single_select
  选项: 没问题,开始写内容 / 需要调整版式
```

- 选「没问题」→ 进入 Phase 2
- 选「调整版式」→ 用户指定页码和新版式,更新大纲

---

## Phase 2:内容脚本

### 2.1 输出内容脚本

思维模型页须额外注明模型结构,格式如下:

**思维模型页脚本格式:**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【第 X 页】版式:[PDCA循环版式]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
标题:2025年度项目复盘

模型结构:
  P(计划):年初制定的三大目标
  D(执行):实际落地情况,完成率80%
  C(检查):发现效率瓶颈在交付环节
  A(改进):2026年引入自动化流程

排版指令:4格循环色块(顺时针),中央↻符号
图片:无
```

**IPD五看页脚本格式:**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【第 X 页】版式:[IPD五看版式]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
标题:市场全景分析

模型结构:
  看行业:企业数字化加速,AI原生应用渗透率 <10%
  看客户:核心诉求从降本转向增效,愿为Agent买单
  看机会:Skill生态市场规模预计 2026年达2亿
  看竞争:友商缺乏元数据治理,在AI准确性上有短板
  看自己:苍穹PaaS底座扎实,ISV生态已达2800+

排版指令:5列等宽卡片横排,奇偶列顶部交替主蓝/品青,内容区浅灰蓝底
图片:无
```

**标准内容页脚本格式:**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【第 X 页】版式:[内容-要点列表]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
标题:xxxxxx

正文内容:
• 普通要点(≤30字,18pt普通)
• ★ 重点要点(≤30字,加粗+蓝色/金色强调)
• 普通要点

图片:无 / 图片N → 位置:左侧 / 右侧 / 全页
排版建议:[三列卡片 / 横向流程 / 左右对比 / 纯要点]
```

**层级标注规则:**
- `★` = 重点强调(20pt 加粗,蓝色 `2971EB` 或黄色 `FFB61A`)
- 无标记 = 普通内容(18pt 普通,1.3× 行距)
- `[底色块]` = 思维模型一级信息(品牌色背景 + 白字加粗)
- `[icon:📊]` = 指定图标(写在卡片/格子标注行,生成时调 `addIconBadge` 或直接 `addText`)

**图标使用规则(内容脚本阶段):**
1. **思维模型页** — 每格默认带图标(见 `style-guide.md § 10.4`),脚本中可用 `[icon:默认]` 表示采用推荐值,或 `[icon:🎯]` 覆盖
2. **Bento 卡片页** — 主卡(深色背景)配大图标(28–32pt),次卡(浅色)配中图标(24pt)
3. **要点列表页** — 行首图标尽量统一(同一页不超过 2 种图标),或全部不用图标
4. **图标密度上限** — 单页最多 6 个图标;同一页不得出现 3 种以上图标类别(避免视觉噪声)
5. **颜色规则** — 深色背景格(主蓝/品青)→ 图标 `color: FFFFFF`;浅色底 → 图标 `color: 2971EB`

**内容原则:**
- 每页 ≤5 个要点,单条 ≤30 字;超出则拆页
- 思维模型页每个格 ≤3 个要点,核心词 ≤6 字加粗置中
- 内容不超过版面 70%,留白 ≥ 30%(参见 `style-guide.md § 12`)
- 品牌色背景上的文字必须用白色
- 语调简洁有力,企业高管演讲调性

**布局多样性规则(必须执行):**
- 相邻 3 页不得使用同一版式——每页轮换:列数、卡片/统计/图片/文字型
- 纯文字要点页(版式04)不得连续出现超过 2 次——之后必须插入有视觉元素的版式
- 每页必须包含至少一种视觉元素(图标、数字统计、图片、色块、图表之一)

**对齐规则:**
- 段落文字、要点列表 → 左对齐
- 封面/金句页标题 → 居中;内容页标题 → 左对齐
- 禁止内容页标题下方添加强调线(章节分隔页品牌横线除外)

**间距规则(全张统一):**
- 页面左右最小边距:0.5"
- 内容块之间间距:选 0.3" 或 0.5" 并全张保持一致,不混用

### 2.2 用户确认

> 「以上是全部 X 页的内容脚本,其中包含 [N] 个思维模型版式页([模型名称列表])。如需修改,告诉我页码和修改内容,我统一调整后再生成文件。没有问题请回复「开始生成」。」

收到「开始生成」→ 进入 2.3 生成文件。

---

### 2.3 生成文件

**第一步:读取生成阶段必需文件**

```
Read `layout-presets.md` → 获取版式代码模板
Read `pptx-builder.md`  → 获取构建流程规范
If AI品牌logo标注存在 → Read `references/ai-brand-logos.md`
```

**第二步:执行构建流程**

```
编写 /home/claude/build_pptx.js
  ↓
node build_pptx.js
  ↓
soffice PDF → pdftoppm 预览图
  ↓
视觉 QA(逐张检查,至少一次修复循环)
  ↓
cp output.pptx /mnt/user-data/outputs/
  ↓
present_files 交付
```

交付说明控制在 2 行以内:「共 X 页,包含[封面/章节/内容/结尾],其中 [N] 页采用思维模型版式([模型列表]),已通过视觉QA。」

---

## 6种思维模型版式规范

> ⚠️ **完整 PptxGenJS 代码见 `layout-presets.md § 版式 19-25`**,下方仅列排版原则和色块结构,供内容脚本阶段参照。

---

### 模型 A:金字塔 / MECE 版式(→ 版式 19)

**结构**:顶部结论 → 中层分论点 → 底层论据(三级分层)

```
┌────────────────────────────────┐  ← 主蓝 #2971EB,白字,结论一句话(全宽 1/4页高)
│           核心结论              │
└────────────────────────────────┘
┌──────────┐ ┌──────────┐ ┌──────────┐  ← 黄色 #FFB61A,白字,分论点(三列等宽)
│  分论点1  │ │  分论点2  │ │  分论点3  │
└──────────┘ └──────────┘ └──────────┘
  · 论据1       · 论据1       · 论据1     ← 浅灰蓝底 #E7F1FF,深色小字
```

**品牌色**:结论=主蓝`#2971EB` / 分论点=黄色`#FFB61A` / 论据=浅灰蓝`#E7F1FF`

---

### 模型 B:PDCA 循环版式(→ 版式 20)

**结构**:4格顺时针排布,中央循环符号

```
  ┌────────┐   ┌────────┐
  │ P 计划 │ → │ D 执行 │
  └────────┘   └────────┘
      ↑    ↻       ↓
  ┌────────┐   ┌────────┐
  │ A 改进 │ ← │ C 检查 │
  └────────┘   └────────┘
```

**品牌色**:P=主蓝`#2971EB` / D=品青`#22AAFE` / C=黄色`#FFB61A` / A=紫色`#966EFF`

---

### 模型 C:SWOT 矩阵版式(→ 版式 21)

**结构**:2×2 矩阵,横纵轴标注内外/优劣维度

```
              内部因素              外部因素
优势/机会  ┌──────────────────┐  ┌──────────────────┐
           │ S  优势           │  │ O  机会           │
           └──────────────────┘  └──────────────────┘
劣势/威胁  ┌──────────────────┐  ┌──────────────────┐
           │ W  劣势           │  │ T  威胁           │
           └──────────────────┘  └──────────────────┘
```

**品牌色**:S=主蓝`#2971EB` / O=蓝绿`#05C8C8` / W=浅灰蓝`#E7F1FF`(深字) / T=紫色`#966EFF`

---

### 模型 D:黄金圈版式(→ 版式 22)

**结构**:三层嵌套椭圆(WHY→HOW→WHAT 由内到外)+ 右侧说明列

```
左侧(椭圆嵌套):              右侧(说明列):
┌─── WHAT 浅灰 ───────────┐     [WHY蓝] WHY — 为什么做:核心使命
│  ┌─── HOW 品青 ───┐     │     [HOW青] HOW — 怎么做:方法路径
│  │  ┌─ WHY 蓝 ─┐  │     │     [WHAT灰] WHAT — 做什么:产品服务
│  │  └──────────┘  │     │
│  └───────────────┘      │
└─────────────────────────┘
```

**品牌色**:WHY内核=主蓝`#2971EB` / HOW中层=品青`#22AAFE` / WHAT外层=浅灰蓝`#E7F1FF`

---

### 模型 E:5W1H 六格版式(→ 版式 23)

**结构**:2行×3列均等卡片,顶部蓝色标签 + 内容区

```
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│ WHO  谁      │  │ WHAT  什么   │  │ WHEN  何时   │
├──────────────┤  ├──────────────┤  ├──────────────┤
│ · 内容要点   │  │ · 内容要点   │  │ · 内容要点   │
└──────────────┘  └──────────────┘  └──────────────┘
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│ WHERE  何地  │  │ WHY  为何    │  │ HOW  如何    │
├──────────────┤  ├──────────────┤  ├──────────────┤
│ · 内容要点   │  │ · 内容要点   │  │ · 内容要点   │
└──────────────┘  └──────────────┘  └──────────────┘
```

**品牌色**:卡片顶部标签=主蓝`#2971EB`白字 / 内容区=浅灰蓝`#E7F1FF`深字

---

### 模型 F:SCQA 四步流程版式(→ 版式 24)

**结构**:四步横向箭头流 + 底部内容说明行

```
[S 场景] → [C 冲突] → [Q 问题] → [A 解决]
 浅灰底      品金底      紫色底      主蓝底
  ↓            ↓           ↓           ↓
 说明文字    说明文字    说明文字    说明文字
```

**品牌色**:S=浅灰蓝`#E7F1FF`(深字) / C=黄色`#FFB61A` / Q=紫色`#966EFF` / A=主蓝`#2971EB`

---

### 模型 G:IPD 五看版式(→ 版式 25)【新增】

**结构**:5列等宽卡片横排,顶部序号色块 + 内容区

```
┌──────┐  ┌──────┐  ┌──────┐  ┌──────┐  ┌──────┐
│ 01   │  │ 02   │  │ 03   │  │ 04   │  │ 05   │
│看行业│  │看客户│  │看机会│  │看竞争│  │看自己│
├──────┤  ├──────┤  ├──────┤  ├──────┤  ├──────┤
│核心  │  │核心  │  │核心  │  │核心  │  │核心  │
│观点  │  │观点  │  │观点  │  │观点  │  │观点  │
│      │  │      │  │      │  │      │  │      │
│支撑  │  │支撑  │  │支撑  │  │支撑  │  │支撑  │
│数据  │  │数据  │  │数据  │  │数据  │  │数据  │
└──────┘  └──────┘  └──────┘  └──────┘  └──────┘
```

**品牌色**:奇数列顶块=主蓝`#2971EB` / 偶数列顶块=品青`#22AAFE` / 内容区=浅灰蓝`#E7F1FF`

**脚本格式:**
```
模型结构:
  看行业:[核心观点] + [支撑数据/趋势]
  看客户:[核心观点] + [典型诉求/洞察]
  看机会:[核心观点] + [市场规模/增速]
  看竞争:[核心观点] + [竞品/差异化]
  看自己:[核心观点] + [优势/短板]

排版指令:5列等宽,顶部序号+标题色块(交替主蓝/品青),内容区浅灰蓝底
```

---

## 品牌色语义映射总表

> ⚠️ 严格约束:PPT 中**只允许使用以下颜色**,禁止使用任何不在此列表中的颜色(尤其禁止红色 `#E8210A`)。

### 主色系

| 品牌色 | 色值 | 思维模型中的语义角色 |
|--------|------|---------------------|
| 科技蓝(主蓝) | `#2971EB` | 核心结论 / 首要模块 / WHY / Plan / Strengths / Answer |
| 亮天蓝(品青) | `#22AAFE` | 执行流程 / 方法层 / HOW / Do / 次级信息 |
| 章节青 | `#00CCFE` | 章节页超大数字 + 装饰横线(专用,不用于内容页) |
| 深紫蓝(藏青) | `#28245F` | 强对比文字块 / 深色强调 / 图表深色底 |
| 白色 | `#FFFFFF` | 所有深色背景上的文字 |

### 辅助色系

| 品牌色 | 色值 | 思维模型中的语义角色 |
|--------|------|---------------------|
| 绿松石青 | `#05C8C8` | 增长正面 / 机会 / Opportunities |
| 薰衣草紫 | `#966EFF` | 挑战冲突 / 威胁风险 / Act改进 / Question / Threats / Complication |
| 橙黄 | `#FFB61A` | 强调要素 / 改进提示 / WHAT / Check / 警示信息 |
| 深灰 | `#373838` | 正文文字 / 浅色背景上的标注 |
| 浅灰 | `#BFBFBF` | 辅助说明文字 / 次级标注 / 分割线 / 边框 |
| 冰蓝 | `#E7F1FF` | 二级信息底色 / 论据区 / Weaknesses / Situation / 卡片背景 |

### 颜色禁止清单

| 禁止颜色 | 原因 |
|---------|------|
| ❌ 红色 `#E8210A` | 不在官方色盘中;章节页装饰横线必须用 `#00CCFE`,禁止用红色 |
| ❌ 旧主蓝 `#1770EA` | 已替换为官方科技蓝 `#2971EB` |
| ❌ 旧品金 `#FFC000` / `#FFB800` | 已统一为官方橙黄 `#FFB61A` |
| ❌ 任何不在上表中的颜色 | 破坏品牌一致性 |

---

## Anti AI-slop 规则(禁止事项)

> 防止生成内容落入AI模板通病,确保输出符合金蝶企业级标准。

| 问题 | ❌ 禁止 | ✅ 正确做法 |
|-----|------|---------|
| 过度渐变 | 全页渐变背景、彩虹配色 | 金蝶标准背景图或品牌色系 |
| 空洞图标 | generic 灯泡/齿轮/火箭图标 | 金蝶品牌图标或无图标纯文字 |
| 英文套话 | "Think Big" "Innovation" "Future" | 金蝶价值观:致良知、走正道、行王道 |
| 无意义装饰 | 抽象波浪、点阵、几何图形 | 只用官方气泡圆元素 |
| 章节编号滥用 | 01/02/03/04 但无章节内容 | 有实质章节才用章节分隔页 |
| 段落过长 | 单条要点超过50字 | ≤30字,每页≤5要点 |
| 数据空洞 | "显著提升""大幅增长"无数字 | 必须有具体数字或明确来源 |
| 堆砌热词 | AI Agent、大模型、数字化转型滥用 | 每页最多1个技术热词,配具体场景 |
| 假性对比 | 新旧对比但无差异描述 | 左右对比页必须列出≥3个差异点 |
| 时间轴空洞 | 只有年份无事件描述 | 每个时间点必须有事件+影响 |

---

## 金蝶品牌知识库

| 类别 | 内容 |
|------|------|
| 使命 | 予力企业成就不凡 |
| 愿景 | 做最值得托付的企业管理AI平台 |
| 价值观 | 致良知、走正道、行王道 |
| 金蝶哲学 | 以客户为中心,长期坚持专业主义;以奋斗者为本,长期坚持明心净心 |
| 四部曲 | 明心净心(起心动念/境界格局)→ 道 → 德(意识/语言/身行)→ 事(结果状况) |
| IPD五看 | 看行业 / 看客户 / 看机会 / 看竞争 / 看自己(每项:核心观点 + 支撑数据) |
| 项目层级 | 项目总监 → 项目经理 → 组长(含关键职责)→ 组员 |
| IT架构分层 | SaaS层 / PaaS层 / IaaS层 |
| 保密级别 | ④ 内部公开 请勿外传 |

---

## 常见情况处理

| 情况 | 处理方式 |
|------|---------|
| 用户未指定输出格式 | 触发 Phase F,询问 HTML vs PPTX,选择后再进入 Phase 0 |
| 用户直接提供完整内容 | 若格式已明确,直接进入 Phase 0 内容分析;否则先走 Phase F |
| 用户需求模糊(如"做个PPT介绍产品") | 先触发 Phase F 选格式,再触发 Phase 0.5 设计方向顾问 |
| 用户明确指定模型 | 跳过 Phase 0 扫描,直接采用指定模型版式 |
| 用户说「不要思维模型」 | Phase 0 结果全部忽略,按标准版式处理 |
| 用户说「直接生成」/「不用确认」 | 若格式未明确,先触发 Phase F;然后快速模式:Phase 0+1+2+H 合并输出,末尾一个确认问题 |
| 用户只要内容脚本不要文件 | 完成 Phase 2 后停止 |
| 用户说「不要封面/结尾」 | 记住偏好,大纲中删除对应页 |
| 章节超过4个 | 建议合并或设附录,目录页最多4章 |
| 单页内容过多 | 拆为2页,用承接标题「(一)」「(二)」 |
| 检测到4种以上模型 | 保留主要3种,其余降级为标准版式,大纲中注明 |
| 用户上传已有 .pptx | 提取内容后重排为金蝶风格 HTML deck |
| 用户提供数据要求图表 | 收集数据后在 HTML 中用 CSS/Canvas 绘制,PPTX 导出时转为图片 |
| 内容含 AI 品牌/大模型关键词 | 大纲标注 `[logo: slug]`,HTML 中用 lobe-icons SVG |
| 用户说「不要 logo」 | 跳过 logo 拂取,不调用 CDN |
| 用户中途要求切换输出格式 | 若未进入 Phase H,回退到 Phase F 重新选择;若已进入 Phase H,评估调整成本 |
| **OUTPUT_FORMAT=pptx 且用户要求导出 PPTX** | 进入 Phase X,执行 `scripts/export_deck_pptx.mjs` |
| **用户说「可编辑PPTX」/「要PPT文件」** | 设置 OUTPUT_FORMAT=pptx,Phase H 必须按 html2pptx 4 条硬约束执行 |
| **html2pptx 导出失败** | 提示 HTML 不合规,列出具体错误,建议修改 HTML 或输出 PDF |
| **OUTPUT_FORMAT=html 且用户只要 HTML** | 交付 HTML deck,可浏览器演讲或部署 Vercel,跳过 Phase X |
| **用户要 PDF** | 用 Playwright 截图合并导出 PDF(⚠️ 动画丢失),不依赖 OUTPUT_FORMAT |
| **用户说「编辑好了」/「保存修改」** | 提示用户在 HTML 页面点击「保存 HTML」按钮导出 |
| **用户编辑后要导出 PPTX** | 提示保存 HTML → 运行 CLI 命令 `node scripts/export_deck_pptx.mjs` |
| **用户说「不要编辑功能」** | HTML 中移除 EditController 和编辑工具栏 UI |

---

## HTML 输出详细规范(v7.0)

> HTML 是第一公民,PPTX 是可选导出。本节规范 HTML deck 的生成和导出。

### HTML 输出特点

| 特点 | 说明 |
|------|------|
| **单文件** | 全部 CSS/JS 内联,零依赖,可直接浏览器打开 |
| **交互式** | 键盘导航、触摸滑动、动画效果、进度条、导航点 |
| **响应式** | `clamp()` 字号自适应,移动端/投影仪完美适配 |
| **品牌一致** | 与 PPTX 共用相同的品牌色系、版式逻辑、内容密度规范 |
| **可分享** | 支持 Vercel 一键部署(在线 URL)、Playwright PDF 导出 |

---

### Phase H3:HTML 生成流程

**第一步:读取必需文件**

```
Read `html-kingdee-template.md` → HTML 结构 + SlidePresentation 类 + 动画触发
Read `html-kingdee-style.md`    → CSS 自定义属性 + 视口锁定 + 响应式断点
Read `html-kingdee-presets.md`  → 按需加载版式 CSS(只复制使用的版式)
If AI品牌logo标注存在 → 使用 lobe-icons CDN SVG
```

**第二步:生成 HTML 文件**

```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>{演示标题} | 金蝶</title>
  <style>
    /* 1. CSS 自定义属性(品牌色系) */
    /* 2. 视口锁定基础样式 */
    /* 3. 响应式断点 */
    /* 4. 动画与过渡 */
    /* 5. 卡片通用样式 */
    /* 6. 品牌色语义映射 */
    /* 7. 版式 CSS 类(按需加载) */
  </style>
</head>
<body>
  <div class="progress-bar"></div>
  <div class="nav-dots"></div>
  <!-- 幻灯片内容 -->
  <script>
    /* SlidePresentation 类 */
    /* Intersection Observer */
    /* 键盘/触摸/滚轮导航 */
  </script>
</body>
</html>
```

**第三步:浏览器预览**

```
写入 {主题}.html 文件
  ↓
本地 HTTP 服务预览(可选)
  ↓
用户确认 → 交付文件 / 部署 URL
```

---

### HTML 版式类名对照表

| PPTX 版式编号 | HTML CSS 类名 | 结构示例 |
|--------------|---------------|---------|
| 01 封面页 | `.slide-cover` | `<section class="slide slide-cover">` |
| 02 目录页 | `.slide-toc` | `<section class="slide slide-toc">` |
| 03 章节分隔 | `.slide-section` | `<section class="slide slide-section">` |
| 04 要点列表 | `.slide-bullets` | `<section class="slide slide-bullets">` |
| 05 数据卡片 | `.slide-data-cards` | `.data-card-grid` + `.data-card` |
| 11 数据看板 | `.slide-dashboard` | `.dashboard-grid` + `.dashboard-card` |
| 12 Bento Grid | `.slide-bento` | `.bento-grid` + `.bento-main` + `.bento-card` |
| 19 金字塔 | `.slide-pyramid` | `.pyramid-wrapper` + `.pyramid-top/.middle/.bottom` |
| 20 PDCA | `.slide-pdca` | `.pdca-grid` + `.pdca-cell` + `.color-plan/.do/.check/.act` |
| 21 SWOT | `.slide-swot` | `.swot-grid` + `.swot-cell` + `.color-strength/.weakness/.opportunity/.threat` |
| 22 黄金圈 | `.slide-golden` | `.golden-wrapper` + `.golden-circles` + `.golden-explain` |
| 25 IPD五看 | `.slide-ipd` | `.ipd-grid` + `.ipd-card` + `.color-view-1/2/3/4/5` |
| 16 金句 | `.slide-quote` | `<section class="slide slide-quote">` |
| 28 悬浮统计 | `.slide-floating-stats` | `.floating-grid` + `.floating-stat` |

---

### HTML 导航功能

| 操作 | 触发方式 |
|------|---------|
| 上一页 | `←` / `↑` / `PageUp` |
| 下一页 | `→` / `↓` / `PageDown` / `Space` |
| 首页 | `Home` |
| 结尾 | `End` |
| 左滑(移动端) | 下一页 |
| 右滑(移动端) | 上一页 |
| 鼠标滚轮 | 下一页/上一页(300ms 防抖) |

---

### HTML 内容密度规范(与 PPTX 一致)

| 幻灯片类型 | 最大内容 | 版面占比上限 |
|-----------|---------|------------|
| 标题页(封面) | 1 标题 + 1 副标题 + 元信息 | 50% |
| 内容页 | 1 标题 + 4–6 要点 | 70% |
| 特征网格 | 1 标题 + 最多 6 张卡片 | 80% |
| 数据看板 | 3 个数字卡片 | 75% |

```css
/* CSS 强制留白 */
.slide-content {
  padding: clamp(0.3rem, 1vw, 0.5rem);
}

.text-block {
  max-width: min(80vw, 800px);
}
```

---

### HTML 图标使用(Emoji)

与 PPTX 版一致,使用 Microsoft YaHei 字体渲染 emoji:

```html
<span class="icon">📊</span>  <!-- 数据看板 -->
<span class="icon">⚡</span>  <!-- 快速响应 -->
<span class="icon">🤖</span>  <!-- AI/智能体 -->
<span class="icon">🚀</span>  <!-- 起飞/增长 -->
```

---

### HTML 分享与导出(可选)

**本地预览**

```bash
python3 -m http.server 8080 --directory .
# 或
npx serve .
```

**Vercel 部署**

```bash
vercel --prod
# 输出在线 URL,可分享给他人
```

**PDF 导出(⚠️ 动画效果丢失)**

```bash
# 使用 Playwright 以 1920×1080 分辨率截图并合并
node scripts/export-pdf.js {主题}.html output.pdf
```

---

### 常见情况处理(HTML 模式)

| 情况 | 处理方式 |
|------|---------|
| 用户说「HTML幻灯片」/「网页版PPT」/「交互式演示」 | 自动选择 HTML 输出格式 |
| 用户说「传统PPT」/「PPTX文件」 | 选择 PPTX 输出格式 |
| 用户明确指定输出格式 | 按用户指定执行 |
| 用户说「不要动画」 | HTML 中移除 `.animate-*` 类,跳过动画触发 |
| 用户说「不要导航点」 | 移除 `.nav-dots` 容器 |
| 用户说「可编辑」/「内联编辑」 | 启用 `contenteditable`,⚠️ 导出前必须清除编辑状态 |
| 用户要求 PDF 导出 | 警告动画丢失,使用 Playwright 截图合并 |
| 用户要求在线分享 | 使用 Vercel CLI 部署,输出 URL |
| 移动端预览 | 响应式自动适配,触摸滑动导航生效 |
| 用户上传已有 .pptx 要求转 HTML | 先提取内容(Phase 4),再走 HTML 流程 |

---

## HTML 编辑模式(v7.2 新增)

> **HTML 输出自带编辑功能**:右上角开关 + 点击任意文字直接修改 + 一键保存导出。

### 编辑模式 UI

| 元素 | 功能 |
|------|------|
| 右上角 Toggle Switch | 开启/关闭编辑模式 |
| 「保存 HTML」按钮 | 清除编辑状态 + 导出干净 HTML 文件 |
| 「导出 PPTX」按钮 | 提示运行 CLI 命令导出 PPTX |

### 自动可编辑元素

以下元素开启编辑模式后自动支持 `contenteditable`:

| 元素类型 | CSS 选择器 | 说明 |
|---------|-----------|------|
| 标题 | `h1, h2, h3, h4, h5, h6` | 所有标题可编辑 |
| 正文 | `p, li` | 段落和列表项可编辑 |
| 卡片标题 | `.card-title, .pillar-title, .step-title` | 卡片标题可编辑 |
| 卡片描述 | `.pillar-desc, .step-desc` | 卡片描述可编辑 |
| 统计数字 | `.stat-nb, .stat-label, .stat-note` | 数据卡片内容可编辑 |
| 引用文字 | `.callout-text` | 金句内容可编辑 |

**不可编辑元素**:序号 `.pillar-ic, .step-nb`、logo、背景图、导航 UI

### 编辑模式操作流程

```
1. 打开 HTML 文件 → 右上角自动显示编辑工具栏
2. 点击 Toggle 开启编辑模式 → 所有文字元素出现蓝色虚线悬停框
3. 点击任意文字 → 进入编辑状态,出现蓝色实线边框
4. 修改内容 → 点击其他位置或 Tab 跳到下一元素
5. 点击「保存 HTML」→ 导出干净的 HTML 文件(无编辑 UI)
6. 如需 PPTX → 点击「导出 PPTX」查看 CLI 命令提示
```

### 导出时清除状态清单

| 状态 | 清除方式 |
|------|---------|
| `contenteditable` 属性 | `el.removeAttribute('contenteditable')` |
| `.editable-text` class | `el.classList.remove('editable-text')` |
| `.edit-active` class | `el.classList.remove('edit-active')` |
| `.edit-toolbar.hidden` | `toolbar.classList.add('hidden')` |
| `.nav-hint.show` | `navHint.classList.remove('show')` |
| `.nav-dot.active` | `dot.classList.remove('active')` |

⚠️ **CRITICAL**: 不清除这些状态会导致导出的 HTML/PPTX 包含编辑 UI 和临时样式。

### 用户编辑后的处理

| 用户操作 | 处理方式 |
|---------|---------|
| 用户说「编辑好了,保存」 | 执行保存 HTML 流程 |
| 用户说「导出 PPTX」 | 提示 CLI 命令,若已保存 HTML 则可直接运行 |
| 用户说「我改错了,恢复原内容」 | 无法恢复,建议重新生成原始 HTML |
| 用户编辑后要求调整版式 | 需重新走 Phase H 生成流程,编辑内容不保留 |

More General & Other skills

← All General & Other skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY