{"skill":{"slug":"huo15-openclaw-ppt","displayName":"Huo15 Openclaw Ppt","summary":"基于 design tokens 的 PPT 生成技能。内置 21 套生产级审美方案（Apple 发布会 / Apple.com / Apple macOS 26 Liquid Glass 玻璃 / 原研哉极简 / 中国水墨 / 国风故宫 / 赛博朋克绚彩 / 梵高油画 / 达芬奇手稿 / 小红书时尚奶油胶片 /...","description":"---\nname: huo15-openclaw-ppt\ndisplayName: 火一五演示稿技能\ndescription: 基于 design tokens 的 PPT 生成技能。内置 21 套生产级审美方案（Apple 发布会 / Apple.com / Apple macOS 26 Liquid Glass 玻璃 / 原研哉极简 / 中国水墨 / 国风故宫 / 赛博朋克绚彩 / 梵高油画 / 达芬奇手稿 / 小红书时尚奶油胶片 / 莫兰迪高级灰 / 孟菲斯 80s / 包豪斯 / 韦斯安德森 / 科技霓虹 / Vercel/Linear 极简）+ 11 个语义化页面模板。自动 fit 防 CJK 溢出，玻璃风自带七彩光球+磨砂卡，水墨/国风自带朱砂方印+万字纹边框+飞白笔触，科技风自带渐变背景+网格+glow halo+四角刻度。单张 slide 即可当品牌海报。触发词：做PPT、生成PPT、PPT、Apple发布会、苹果玻璃风、liquid glass、原研哉、水墨、国风、赛博朋克、梵高、达芬奇、莫兰迪、孟菲斯、包豪斯、韦斯安德森、小红书时尚、复古胶片、Vercel风。\nversion: 5.0.1\naliases:\n  - 火一五PPT技能\n  - 火一五演示稿技能\n  - PPT生成\n  - AppleKeynote风格\n  - Apple发布会PPT\n  - 苹果风格PPT\n  - 苹果玻璃风\n  - LiquidGlassPPT\n  - macOS26风格\n  - iOS26风格\n  - 原研哉PPT\n  - 无印良品风\n  - MUJI风格\n  - 水墨PPT\n  - 中国水墨\n  - 国风PPT\n  - 故宫风\n  - 中国风PPT\n  - 赛博朋克绚彩PPT\n  - 银翼杀手风\n  - 梵高PPT\n  - 油画PPT\n  - 达芬奇PPT\n  - 文艺复兴风\n  - 小红书时尚PPT\n  - 小红书博主PPT\n  - 奶油博主PPT\n  - 复古胶片PPT\n  - 莫兰迪PPT\n  - 高级灰PPT\n  - 孟菲斯PPT\n  - 包豪斯PPT\n  - 韦斯安德森PPT\n  - 对称美学PPT\n  - 乔布斯风格PPT\n  - 科技风PPT\n  - 霓虹PPT\n  - 极简科技PPT\n  - VercelPPT\n  - LinearPPT\n  - SaaSPPT\n  - AI发布会PPT\n  - 品牌海报\ndependencies:\n  python-packages:\n    - python-pptx\n    - Pillow\n---\n\n# 火一五 PPT 技能 v3.2\n\n> Design tokens + 11 页面模板 + **21 套生产级审美方案** — 青岛火一五信息科技有限公司\n\n---\n\n## 〇、v4.0 完整能力（v3.3-v4.0 累加）— 媲美 Gamma + 独有差异化\n\n### 核心 CLI 矩阵\n\n| 版本 | 脚本 | 能力 | 对标 Gamma |\n|---|---|---|---|\n| v3.3 | `anti_slop_audit.py` `wcag_audit.py` `charts.py` `pptx_critique.py` | 反 AI Slop 15 红线 + WCAG AA + 真数据图 + 4 档自评 | 我们独有 |\n| v3.4 | `prompt_to_deck.py` | 自然语言 prompt → JSON deck（Claude API + cache） | Gamma 60 秒生成 |\n| v3.5 | `smart_layouts.py` | timeline / pyramid / funnel / steps 4 种 PNG | Gamma Smart Layouts |\n| v3.6 | `ai_image.py` | Unsplash + Pexels + Placeholder 3 provider | Gamma Imagine |\n| v3.7 | `brand_init.py` | Logo → 主色提取 → brand-pack.json | Gamma brand kit |\n| v3.8 | `web_export.py` `url_import.py` | scroll-snap HTML 发布 + URL 抓内容转 deck | Gamma publish/import |\n| v3.9 | `remix.py` | 受众/语言/语气改写（6 audiences × 7 langs × 5 tones） | Gamma Remix |\n| v4.0 | `auto_critique.py` | 一键 quick/deep/full 评审 + Markdown 报告 + PNG 截图 | 我们独有 |\n\n### 一键工作流（推荐）\n\n```bash\nexport ANTHROPIC_API_KEY='sk-ant-...'\n\n# 1. prompt → deck\npython3 scripts/prompt_to_deck.py \"做一份 8 分钟产品发布演讲\" \\\n    --output /tmp/d.json --build /tmp/d.pptx\n\n# 2. 改受众\npython3 scripts/remix.py /tmp/d.json --audience board \\\n    --output /tmp/board.json --build /tmp/board.pptx\n\n# 3. 发布为网站\npython3 scripts/web_export.py /tmp/d.json --output /tmp/site.html\n\n# 4. 自动评审\npython3 scripts/auto_critique.py --deck /tmp/d.json --mode full \\\n    --output-dir /tmp/critique/\n```\n\n### 不输 Gamma 的独有优势\n\n- **本地运行 + 数据隐私**（合同 / 财报不上传 SaaS）\n- **CJK 一等公民**（朱砂印章 / 飞白 / 国风元素，Gamma 永远做不到）\n- **21 套真审美方案**（玻璃 / 水墨 / 国风 / 梵高 / 包豪斯 / 韦斯安德森，Gamma 偏新企业风千篇一律）\n- **15 条反 AI Slop 红线机器化校验** + WCAG 2.2 AA 自动审计（Gamma 没系统）\n- **零 vendor lock-in**（输出 PPTX / HTML 永远是自己的）\n\n---\n\n## 〇、v4.1 智能动画引擎 + v4.2 PPTX 编辑（对标 ChatPPT 核心差异化）\n\n### v4.1 `pptx_animate.py` — 给现有 .pptx 加智能转场\n\n```bash\npython3 scripts/pptx_animate.py /tmp/d.pptx --style apple-keynote \\\n    --deck-json /tmp/d.json --output /tmp/animated.pptx\n```\n\n4 种风格预设（OOXML `<p:transition>` 直接注入）：\n- `apple-keynote` — push + section wipe + quote fade\n- `minimal-fade` — 全 slide fade，克制\n- `dynamic-slide` — cover + push 活泼\n- `cinematic` — cover + fade 电影感\n\n按 slide type 智能选转场（hero_cover→cover 类 / section_divider→wipe / quote_card→fade / 默认 push）。**对标 ChatPPT \"全网唯一智能动画引擎\"，但本地实现，零云端依赖**。\n\n### v4.2 `pptx_edit.py` — 加载现有 .pptx → AI 改写 → 输出\n\n```bash\n# 一条龙 AI 改写\npython3 scripts/pptx_edit.py rewrite /input.pptx \\\n    --instruction \"把所有标题改简洁，加 Apple 发布会的克制感\" \\\n    --output /improved.pptx\n\n# 提取 → 人工编辑 → 写回（不依赖 LLM）\npython3 scripts/pptx_edit.py extract /input.pptx --output /tmp/edit.json\n# (人工改 /tmp/edit.json 的 paragraphs[].text)\npython3 scripts/pptx_edit.py apply /input.pptx --edits /tmp/edit.json \\\n    --output /improved.pptx\n```\n\n工作原理：python-pptx run-level 替换文字，**保留所有 formatting（字体 / 颜色 / 字号 / 段落对齐）**。对标 ChatPPT Office 插件模式，但走命令行 + OpenClaw 调用，更适合企业批量处理。\n\n实测：6 张 slide deck → extract 30 paragraphs → 改 1 段 → apply → 再 extract 验证改动落实 ✓\n\n---\n\n## 〇、v4.3 演讲稿 + 文本辅写 + v4.4 多源输入（对标 ChatPPT）\n\n### v4.3 `speaker_notes.py` — 自动生成讲解词写入 .pptx 备注层\n\n```bash\npython3 scripts/speaker_notes.py /tmp/d.pptx --tone conversational \\\n    --seconds-per-slide 60 --output /tmp/d-with-notes.pptx\n```\n\n5 种语气：`formal` / `conversational`（默认）/ `passionate` / `storytelling` / `professor`。120 字/分钟换算字数（60s = ~120 字）。一次 Claude API 批量生成全 deck 演讲稿，写入 .pptx notes 层，演示模式可看到。\n\n### v4.3 `slide_polish.py` — 10 种局部文案改写模式\n\n```bash\n# 改一张 slide\npython3 scripts/slide_polish.py /tmp/d.json --slide 3 --mode refine \\\n    --output /tmp/d-polished.json --build /tmp/d-polished.pptx\n\n# 只改所有 slide 的标题\npython3 scripts/slide_polish.py /tmp/d.json --field title --mode shorten -o /tmp/x.json\n```\n\n10 模式（`--list-modes` 看全表）：\n- 语言改写：`refine` / `shorten` / `expand` / `rewrite`\n- 加内容：`add-data` / `add-quote` / `add-joke`\n- 修辞强化：`emphasize` / `metaphor` / `elevate`\n\n### v4.4 多源输入：docx / xmind / pdf\n\n```bash\n# Word 文档 → deck\npython3 scripts/docx_import.py report.docx --output /tmp/d.json --build /tmp/d.pptx\n\n# XMind 思维导图 → deck（中心主题→封面，一级分支→章节，二级→列表项）\npython3 scripts/xmind_import.py mindmap.xmind --output /tmp/d.json\n\n# PDF → deck（PyMuPDF 优先，fallback pypdf）\npython3 scripts/pdf_import.py whitepaper.pdf --output /tmp/d.json\n```\n\n实测：\n- docx 抽 20260506会议章程.docx → 2396 字符 ✓\n- pdf 抽 v7.8.5 demo 合同 → 151 字符 ✓\n- xmind 解析 .xmind ZIP（content.json + content.xml 两种格式都支持）\n\n`--print-extracted` 不调 LLM 验证抽取流程。\n\n---\n\n## 〇、v5.0 完整能力矩阵（v3.3 → v5.0 累加，对标 Gamma + ChatPPT）\n\n### 18 个 CLI 脚本 — 媲美 Gamma + ChatPPT + 独有差异化\n\n| 类别 | 脚本 | 能力 | 对标 |\n|---|---|---|---|\n| **🆕 v5.0 LLM provider** | `llm_provider.py` | 6 backend 抽象（anthropic/openai/deepseek/qwen/doubao/openclaw） | 国内合规 |\n| **生成入口** | `prompt_to_deck.py` | 自然语言 → JSON deck（cache 90% token 省） | Gamma |\n| | `url_import.py` | URL → deck | Gamma |\n| | `docx_import.py` | Word → deck | ChatPPT |\n| | `xmind_import.py` | XMind → deck（新老格式都支持） | ChatPPT |\n| | `pdf_import.py` | PDF → deck（PyMuPDF 优先 / pypdf fallback） | ChatPPT |\n| **设计 + 视觉** | `smart_layouts.py` | timeline / pyramid / funnel / steps 4 种 | Gamma Smart Layouts |\n| | `ai_image.py` | Unsplash / Pexels / Placeholder 3 provider | Gamma Imagine |\n| | `charts.py` | matplotlib bar/line/pie/area 真数据图 | Gamma |\n| | `brand_init.py` | logo → 主色 → brand-pack.json | Gamma brand kit |\n| **改写工具** | `remix.py` | 6 audiences × 7 langs × 5 tones | Gamma Remix |\n| | `slide_polish.py` | 10 模式 polish（refine/shorten/add-data/...） | ChatPPT 文本辅写 |\n| | `pptx_edit.py` | 加载现有 pptx → AI 改写 → 输出（保留 formatting） | ChatPPT Office 插件 |\n| | `speaker_notes.py` | 5 种语气演讲稿写入 .pptx notes 层 | ChatPPT 演讲稿 |\n| **效果增强** | `pptx_animate.py` | 4 种动画风格（OOXML transition 注入） | ChatPPT 动画引擎 |\n| **导出** | `web_export.py` | scroll-snap HTML 浏览体验 | Gamma publish |\n| | `image_export.py` | 长图 / 九宫格 / 横排走廊 | ChatPPT 公众号 |\n| | `video_export.py` | MP4 + BGM 淡出 | ChatPPT 视频号 |\n| **审计** | `anti_slop_audit.py` | 15 红线机器化校验 | **独有** |\n| | `wcag_audit.py` | WCAG 2.2 AA 对比度 | **独有** |\n| | `pptx_critique.py` `auto_critique.py` | 4 档审美档位 + 6 维评审 | **独有** |\n\n### 一键完整工作流\n\n```bash\n# Provider 任选其一（v5.0 支持 6 种）\nexport PPT_LLM_PROVIDER=anthropic    # 或 openai / deepseek / qwen / doubao / openclaw\nexport ANTHROPIC_API_KEY='sk-ant-...'  # 或对应 provider 的 env key\n\n# 多源输入 → JSON\npython3 scripts/prompt_to_deck.py \"做一份发布会演讲\" -o /tmp/d.json\n# 或 docx_import / xmind_import / pdf_import / url_import\n\n# 改写优化 → JSON\npython3 scripts/slide_polish.py /tmp/d.json --mode shorten -o /tmp/d2.json\npython3 scripts/remix.py /tmp/d.json --audience board --lang en -o /tmp/board-en.json\n\n# 出 PPTX\npython3 scripts/create_pptx_combined.py --spec /tmp/d.json --pack apple-light -o /tmp/d.pptx\n\n# 加动画 + 演讲稿\npython3 scripts/pptx_animate.py /tmp/d.pptx --style apple-keynote -o /tmp/d-a.pptx\npython3 scripts/speaker_notes.py /tmp/d-a.pptx --tone passionate -o /tmp/d-final.pptx\n\n# 多形态导出\npython3 scripts/web_export.py /tmp/d.json -o /tmp/site.html\npython3 scripts/image_export.py /tmp/d-final.pptx --layout vertical -o /tmp/longpic.jpg\npython3 scripts/video_export.py /tmp/d-final.pptx --bgm m.mp3 -o /tmp/d.mp4\n\n# 自动评审\npython3 scripts/auto_critique.py --deck /tmp/d.json --mode full -o /tmp/critique/\n```\n\n### 永远的独有护城河（vs Gamma + ChatPPT）\n\n- **本地运行 + 数据隐私**（合同/财报不上传 SaaS）\n- **CJK 一等公民**（朱砂印章 / 飞白 / 国风 / 中文字体 fallback）\n- **21 套真审美方案**（玻璃 / 水墨 / 国风 / 梵高 / 包豪斯 / 韦斯安德森）\n- **15 条反 AI Slop 红线机器化** + WCAG 2.2 AA 自检\n- **6 维 4 档审美评审** + 自动 PNG 截图 + Markdown 报告\n- **6 LLM provider 灵活切换**（国内合规场景必备）\n- **零 vendor lock-in** — 输出 PPTX/HTML/MP4/JPG 永远是自己的\n\n---\n\n## 〇、v3.3 设计能力栈集成（媲美 claude design）\n\n参照 `huo15-openclaw-frontend-design` v4.7 / `huo15-openclaw-design-critique` v2.0，把 PPT 也带入 4 档审美档位识别（AI-Slop / Junior / Senior / Master）。\n\n### 4 个新增 CLI\n\n```bash\n# 1. 反 AI Slop 红线自检（15 条机器化校验，参照 frontend-design）\npython3 scripts/anti_slop_audit.py                # 全部 21 套 pack\npython3 scripts/anti_slop_audit.py apple-light   # 单 pack 详情\npython3 scripts/anti_slop_audit.py --json --fail-on-violation  # CI 模式\n\n# 2. WCAG 2.2 AA 文字对比度自检（每对 fg/bg ratio ≥ 4.5）\npython3 scripts/wcag_audit.py\npython3 scripts/wcag_audit.py apple-keynote\n\n# 3. matplotlib 真数据图表（替代 CSS 假产品图，反 AI Slop R5）\npython3 scripts/charts.py bar --pack apple-light \\\n    --title \"营收增长\" --xlabel \"季度\" --ylabel \"营收（万元）\" \\\n    --data \"Q1=120,Q2=180,Q3=240,Q4=320\" \\\n    --output ./chart.png\n# 支持 bar / hbar / line / pie / scatter / area；中文字体自动 fallback\n# 也可以 Python 直接用：from charts import render_chart\n\n# 4. 设计自评（综合 anti-slop + wcag，给 4 档定位 + Keep/Fix/Quick Wins）\npython3 scripts/pptx_critique.py --pack apple-light --deep\npython3 scripts/pptx_critique.py --all          # 21 套 pack 综合排名\n```\n\n### v3.3 21 套 pack 自评结果\n\n| 档位 | 数量 | pack |\n|---|---|---|\n| 🏆 Master (≥90) | 19 | apple-keynote / apple-light / liquid-glass / muji / ink-wash / guofeng / tech-neon / tech-minimal / cyberpunk-vivid / van-gogh / da-vinci / xhs-fashion / memphis / bauhaus / wes-anderson / xiaohongshu-vintage / jobs-dark / xiaohongshu / xiaohongshu-portrait |\n| ✅ Senior (75-89) | 2 | morandi (80) / xiaohongshu-creator (78.2) — 流派必然的低对比度，仅适合极简静态展示 |\n| ⚠️  Junior / ❌ AI-Slop | 0 | （v3.3 修了 4 个 pack 的 Inter 字体 + tech-minimal 紫色 accent，全员脱离低档） |\n\n### 反 AI Slop 15 条红线（机器化校验摘要）\n\n| # | 禁用项 | 校验方式 |\n|---|---|---|\n| 1 | Inter / Roboto / Arial / system-ui 字体 | display_font / body_font 字段比对禁用列表 |\n| 2 | 紫色调 accent（H ∈ [240°, 300°]，S>40%） | hex → HSL 换算判定 |\n| 3 | emoji 当图标 | 字段含 emoji codepoint 范围 |\n| 4 | border-radius 默认 12 / 16px | card_radius pt 值检测 |\n| 6 | #121212 暗黑 + 紫主题 | bg + accent 联动 |\n| 8 | iOS 系统色直接套用（#007AFF 等） | accent 黑名单匹配 |\n| 10 | backdrop-blur 玻璃形态滥用 | glass / frosted 必须 explicit 命名 |\n| 11 | AI 渐变模糊背景（紫粉蓝青） | conic-gradient 紫粉关键词 |\n\n### 与 4 件套设计能力栈联动\n\n| 能力 | 来源 skill | PPT 怎么用 |\n|---|---|---|\n| 6 维深度评审 | `huo15-openclaw-design-critique` v2.0 | 导出 slide 为 PNG → 跑 design-critique → 拿对标差距 |\n| 8 流派 design tokens | `huo15-openclaw-frontend-design` v4.7 | 复用 6 大美学方向（Bold-Minimal / Editorial / Brutalist 等） |\n| 多方向并行对比 | `huo15-openclaw-design-director` v3.0 | 一题三方向：选 3 个不同流派 pack 各出一份 PPT |\n| 品牌资产 5 步 | `huo15-openclaw-brand-protocol` v1.0 | 写 PPT 前先 Ask/Search/Verify 品牌官方定位 + 注入 Theme |\n\n---\n\n## 一、核心理念\n\nv2.x 是「色卡游戏」——只改 primary/accent 两个颜色就叫一个新风格。v3.0 重写成真正的**设计系统**：\n\n```\nStylePack = Palette + Typography + Spacing + Elevation + Decoration + Canvas\n```\n\n每一层都是独立的 tokens，单一风格对应一整组 tokens。例如「Apple 发布会」不只是「黑底」，而是：\n\n- **Palette**：纯黑 `#000000` 底 + 4 级灰阶文字 + Apple 蓝 `#0A84FF`\n- **Typography**：SF Pro Display + hero 160pt + 负字距 -3% + 行高 0.95\n- **Spacing**：8pt grid + hero 页左右留白 1.2\"\n- **Elevation**：完全 flat，无阴影\n- **Decoration**：居中对齐、英文全大写、不显示页脚\n\nv3.1 在 Decoration 层追加了**六件套科技装饰**，每个 pack 都能独立开关：\n\n| 装饰 | 作用 |\n|----|----|\n| `gradient_bg` | 背景渐变（取代纯色），给 slide 加深度 |\n| `accent_gradient` | hero/section/stat 大字做渐变文字（Keynote/PowerPoint 端显示，Impress 回落纯色） |\n| `grid_overlay` / `dot_grid` | 细线网格或点阵背景层，赛博 / Vercel 的视觉招牌 |\n| `glow_accent` | 强调色大字周围叠多层半透明椭圆模拟辉光 |\n| `corner_marks` | 四角 L 型取景框刻度 |\n| `dev_badge` | 左下等宽字体版本戳（`BUILD · 2026.4.24` / `v2026 · BUILD 1337`） |\n\n科技风由此而来——每张 slide 都能直接当品牌海报/社媒头图使用。\n\n---\n\n## 二、6 套审美方案\n\n| pack key | 风格 | 适用场景 |\n|---------|------|---------|\n| `apple-keynote`（别名 `apple`, `苹果`, `发布会`） | Apple 发布会暗场 | 新品发布、融资路演、重磅主题 |\n| `apple-light`（别名 `苹果白`, `苹果官网`） | Apple.com 白场 | 产品介绍页、功能说明、官网风 |\n| `xiaohongshu-creator`（别名 `博主`, `博主风`, `生活博主`, `奶油博主`） | 小红书博主（奶油生活系） | 博主笔记、种草分享、温度叙事 |\n| `xiaohongshu-vintage`（别名 `复古`, `胶片`, `复古胶片`） | 小红书博主（复古胶片） | 旅行手记、文艺向、生活美学 |\n| `tech-neon`（别名 `tech`, `neon`, `科技`, `科技风`, `霓虹`, `赛博`, `赛博朋克`, `cyberpunk`） | **科技霓虹（赛博黑蓝）** | **AI 产品发布、黑客马拉松、技术 roadshow** |\n| `tech-minimal`（别名 `vercel`, `linear`, `saas`, `极简科技`, `暗黑极简`） | **科技极简（Vercel/Linear 风）** | **SaaS 产品主页、DevTool 推销、基础设施介绍** |\n\n### 2.1 apple-keynote —— 真·发布会\n\n- **配色**：纯黑 `#000000`（不是深蓝！）+ 白灰文字 + Apple 品牌蓝\n- **字体**：SF Pro Display + SF Pro Text\n- **hero 字号**：**160pt**（是 v2 的 2.5 倍，带自动 fit 避免 CJK 溢出）\n- **装饰**：完全居中、英文小字全大写（INTRODUCING / SCALE）、不显示页脚\n- **big_stat 字号**：280pt — \"2B\" 一张页的视觉锚点\n\n### 2.2 apple-light —— 产品页白场\n\n- **配色**：纯白 + Apple.com 的卡片灰 `#F5F5F7` + 链接蓝 `#0071E3`\n- **字体**：SF Pro Display\n- **hero 字号**：120pt\n- **卡片**：无描边，圆角 0.18\"，靠填色区分\n- **装饰**：居中对齐、英文不全大写\n\n### 2.3 xiaohongshu-creator —— 奶油生活博主\n\n- **配色**：奶油 `#FBF7F0` 底 + 焦糖咖 `#3E2E1F` 主文字 + 鼠尾草绿 `#9FAE8B` 点缀\n- **字体**：**Noto Serif SC**（衬线！）+ PingFang SC 正文\n- **hero 字号**：72pt + 正字距 +2%（衬线字撑开）\n- **装饰**：左对齐、标题左侧竖条 accent bar、圆角 0.22\" 卡片 + 微阴影\n- **特色**：文字不用纯黑而用焦糖咖色，配 sage green accent 做博主的温度\n\n### 2.4 xiaohongshu-vintage —— 复古胶片\n\n- **配色**：复古米 `#F2EAD9` + 深栗咖 `#4A3526` 文字 + 雾霾蓝 `#A8B8C6` accent\n- **字体**：Noto Serif SC（标题和正文都衬线，强化胶片感）\n- **hero 字号**：64pt + 更松字距 +3% + 高行高 1.2\n- **装饰**：封面顶/底装饰横线、卡片直角 0.08\" 有描边（胶片边框感）\n\n### 2.5 tech-neon —— 科技霓虹（赛博黑蓝）🆕\n\n- **配色**：深蓝黑 `#050510` 底 + 冷灰蓝文字 + 电青 `#00D9FF` 主 accent + 电紫 `#7C3AED` 辅 accent\n- **字体**：Inter（SF Pro 兜底）+ **JetBrains Mono** 做 caption/metadata\n- **hero 字号**：144pt + 左对齐 + 负字距 -2.5%\n- **装饰**：**全系六件套全开**——对角微渐变背景 + 细线网格 + 四角 L 型刻度 + hero/stat 辉光 halo + 左下 `BUILD · 日期` dev badge + 等宽小字 metadata\n- **accent_gradient**：`#00D9FF → #7C3AED`（电青→电紫），PowerPoint/Keynote 下 hero 大字显示渐变\n- **big_stat 字号**：260pt + 辉光叠加——\"42ms\" 这种数字直接发光\n- **场景**：AI 发布会、基础设施产品、赛博朋克叙事、黑客马拉松\n\n### 2.6 tech-minimal —— 科技极简（Vercel/Linear 风）🆕\n\n- **配色**：近黑 `#0A0A0F` 底 + 暖白文字 + 电紫 `#8B5CF6` 单色 accent\n- **字体**：Inter + JetBrains Mono\n- **hero 字号**：120pt + semibold（不过粗）+ 左对齐\n- **装饰**：**点阵背景（不是网格）** + subtle halo + 左下 `V2026 · BUILD XXXX` 等宽版本戳 + 无四角刻度（更克制）\n- **卡片**：细描边 `#1F1F28` + 轻量圆角 0.1\"——Vercel/Linear 文档感\n- **场景**：SaaS 产品主页、DevTool 推销、企业级软件 landing page、B 端销售 pitch\n\n---\n\n## 三、11 个页面模板\n\n| template key（type） | 用途 | 别名 |\n|----|----|----|\n| `hero_cover` | 封面大字页（eyebrow + title + subtitle + footnote） | `cover` |\n| `section_divider` | 分章大字页（编号 + 章节标题 + 副标） | `section` |\n| `big_stat` | 单数字大字页（Apple \"2B\" 招牌页） | `stat`, `big_number` |\n| `kpi_triple` | 3 宫格 KPI 卡（数字 auto-fit 避免 `99.97%` 溢出） | `kpi`, `kpi_card` |\n| `quote_card` | 引用金句卡（大引号 + 引文 + 作者） | `quote` |\n| `content_list` | 编号/要点列表 | `list` |\n| `compare_columns` | 左右对比（before/after, 方案 A/B） | `compare`, `vs`, `before_after` |\n| `product_shot` | 产品摄影页（大图 + 侧栏叙事） | `product`, `image`, `gallery` |\n| `timeline` | 时间线（横向多节点） | `story` |\n| `call_to_action` | 封底行动号召（大字 + CTA + 联系方式） | `cta`, `end`, `thanks`, `contact` |\n| `code_block` 🆕 | 代码块展示页（等宽字体 + 行号 + macOS 圆点 + filename tab + 关键词上色） | `code` |\n\n所有模板自动：\n- 按 `StylePack` 的 tokens 绘图 — 换 pack 整套风格变\n- **自动 fit 大字号** — hero/section/big_stat/kpi/cta 的大字按宽度约束自动缩放，避免 CJK 长文本溢出换行\n- 按 `decoration` 切换布局 — 居中/左对齐/accent bar/装饰线 都由 pack 控制\n- 科技风 pack 下，`hero_cover` / `section_divider` / `big_stat` 会自动叠加 glow halo + dev badge + accent gradient（Keynote/PowerPoint 渲染端）\n- 支持 6 个 v3 pack + 3 个 v2.x legacy pack 全兼容\n\n---\n\n## 四、JSON deck 规约\n\n```json\n{\n  \"year\": \"2026\",\n  \"slides\": [\n    { \"type\": \"hero_cover\",\n      \"eyebrow\": \"INTRODUCING\",\n      \"title\": \"M4 Ultra.\",\n      \"subtitle\": \"地球上最强的芯片。\",\n      \"footnote\": \"Apple · Cupertino · 2026\" },\n\n    { \"type\": \"section_divider\",\n      \"number\": \"01\",\n      \"title\": \"Performance\",\n      \"subtitle\": \"性能\" },\n\n    { \"type\": \"big_stat\",\n      \"caption\": \"CPU PERFORMANCE\",\n      \"value\": \"2x\",\n      \"unit\": \"比 M3 Ultra 快\",\n      \"footnote\": \"基于实际应用工作负载\",\n      \"accent\": true },\n\n    { \"type\": \"kpi_triple\",\n      \"title\": \"重要数字\",\n      \"en_sub\": \"Key Metrics\",\n      \"items\": [\n        { \"value\": \"192\", \"label\": \"GB 统一内存\", \"caption\": \"整张内存池共享\" },\n        { \"value\": \"80B\",  \"label\": \"晶体管\",      \"caption\": \"3nm 工艺\" },\n        { \"value\": \"4TB/s\",\"label\": \"内存带宽\",    \"caption\": \"AI 推理飞起\" }\n      ] },\n\n    { \"type\": \"quote_card\",\n      \"quote\": \"One more thing…\",\n      \"author\": \"Tim Cook\",\n      \"role\": \"Apple CEO\" },\n\n    { \"type\": \"content_list\",\n      \"title\": \"我们做了什么\",\n      \"en_sub\": \"What We Did\",\n      \"numbered\": true,\n      \"items\": [\n        { \"label\": \"重构设计系统\", \"desc\": \"把审美分解成 tokens\" },\n        { \"label\": \"10 个语义模板\", \"desc\": \"hero / section / stat / ...\" }\n      ] },\n\n    { \"type\": \"compare_columns\",\n      \"title\": \"升级对比\",\n      \"en_sub\": \"Before vs After\",\n      \"emphasize\": \"right\",\n      \"left\":  { \"label\": \"BEFORE\", \"title\": \"色卡游戏\", \"items\": [\"...\"] },\n      \"right\": { \"label\": \"AFTER\",  \"title\": \"审美方案\", \"items\": [\"...\"] } },\n\n    { \"type\": \"product_shot\",\n      \"title\": \"产品页\",\n      \"kicker\": \"NEW\",\n      \"subtitle\": \"Apple.com 风的大图 + 侧栏叙事\",\n      \"bullets\": [\"图占大块面积\", \"文字简洁克制\"],\n      \"image\": \"/tmp/shot.png\",\n      \"layout\": \"right\" },\n\n    { \"type\": \"timeline\",\n      \"title\": \"产品演进\",\n      \"en_sub\": \"Timeline\",\n      \"events\": [\n        { \"time\": \"2024\", \"label\": \"v1.0\", \"desc\": \"乔布斯暗蓝\" },\n        { \"time\": \"2026\", \"label\": \"v3.0\", \"desc\": \"tokens + 4 pack\" }\n      ] },\n\n    { \"type\": \"code_block\",\n      \"title\": \"Quickstart\",\n      \"en_sub\": \"5 LINES OF CODE\",\n      \"filename\": \"app.py\",\n      \"language\": \"python\",\n      \"code\": \"from synapse import Client\\n\\nclient = Client(api_key=\\\"sk-...\\\")\\nresp = client.chat(model=\\\"synapse-ultra\\\", messages=[{\\\"role\\\": \\\"user\\\", \\\"content\\\": \\\"Hi\\\"}])\\nprint(resp.content)\",\n      \"highlight_lines\": [4],\n      \"caption\": \"pip install synapse-ai · 官方 Python SDK\" },\n\n    { \"type\": \"call_to_action\",\n      \"title\": \"Thank You.\",\n      \"subtitle\": \"一起做有设计感的幻灯片\",\n      \"cta\": \"hello@huo15.com\",\n      \"footnote\": \"火一五 · openclaw-ppt v3.1\" }\n  ]\n}\n```\n\n### code_block 字段\n\n- `filename`：文件名标签（如 `app.py`）\n- `language`：语言提示，仅用于 UI 显示（`python` / `shell` / `ts` / `go` / ...）\n- `code`：原始代码字符串（`\\n` 分行，保留缩进，自动用不换行空格还原）\n- `highlight_lines`：要高亮的行号数组（1-based），会在该行涂一层 accent_soft\n- `caption`：代码块下方小字说明\n\n---\n\n## 五、命令行\n\n```bash\n# 列出所有 pack\npython3 scripts/create-pptx.py --list-packs\n\n# 列出所有 template\npython3 scripts/create-pptx.py --list-templates\n\n# 1. 按 JSON 生成完整 deck（推荐）\npython3 scripts/create-pptx.py \\\n  --pack apple-keynote \\\n  --spec ./deck.json \\\n  --output /tmp/deck.pptx\n\n# 2. 快速试样封面\npython3 scripts/create-pptx.py \\\n  --pack 博主风 \\\n  --cover \"关于做幻灯片这件小事|写给刚入行的小伙伴\" \\\n  --year 2026 \\\n  --output /tmp/cover.pptx\n\n# 3. 老的 --style 兼容（等价于 --pack）\npython3 scripts/create-pptx.py --style jobs-dark --spec deck.json -o out.pptx\n```\n\n公司名解析顺序：`--company` > `~/.huo15/company-info.json` > `青岛火一五信息科技有限公司`（默认）。\n\n---\n\n## 六、示例 decks\n\n`examples/decks/` 提供 6 份对应 6 套 pack 的完整样例：\n\n| 文件 | pack | 讲什么 |\n|----|----|----|\n| `apple-keynote-launch.json` | `apple-keynote` | Apple \"M4 Ultra\" 发布会风 6 页 |\n| `apple-light-product.json`  | `apple-light`   | OpenClaw Enhance 产品介绍 5 页 |\n| `xhs-creator-vlog.json`     | `xiaohongshu-creator` | 博主笔记「关于做幻灯片这件小事」5 页 |\n| `xhs-vintage-travel.json`   | `xiaohongshu-vintage` | 青岛老城旅行手记 6 页 |\n| `tech-neon-ai-launch.json` 🆕 | `tech-neon` | AI 模型发布会 \"Synapse AI\" 10 页（含 code_block） |\n| `tech-minimal-saas.json` 🆕 | `tech-minimal` | Vercel 风 SaaS 产品 pitch 7 页（含 shell 部署 code_block） |\n\n对应的渲染预览放在 `examples/previews/*.png`（共 39 张）。科技风 deck 的任意单张都可以直接导出当品牌海报或 LinkedIn/小红书头图使用。\n\n---\n\n## 七、触发词\n\n- 做 PPT / 生成 PPT / 制作 PPT / 写 PPT\n- Apple 发布会 / 发布会风 / 苹果风格 / 官网风\n- 小红书博主 / 博主风 PPT / 生活博主 / 奶油风\n- 复古胶片 / 胶片风 / 复古 PPT / 文艺风\n- **科技风 / 霓虹 / 赛博 / 赛博朋克 / cyberpunk / AI 发布会**\n- **极简科技 / Vercel / Linear / SaaS / DevTool pitch / 品牌海报**\n- 封面 / 分章页 / 大字页 / KPI / 对比页 / 时间线 / **代码块** / 封底\n- 第 X 页 / 继续 / 加一页\n\n---\n\n## 八、选 pack 指南\n\n| 想要的效果 | 选 |\n|----|----|\n| 发布会大字 / 新品宣发 / 投融资路演 | `apple-keynote` |\n| 产品介绍页 / 官网风 / 功能说明 | `apple-light` |\n| 博主笔记 / 种草分享 / 温度叙事 | `xiaohongshu-creator` |\n| 旅行手记 / 文艺向 / 生活美学 | `xiaohongshu-vintage` |\n| **AI/大模型发布会 · 赛博科技海报 · 黑客马拉松 · 技术 roadshow** | **`tech-neon`** |\n| **SaaS 主页 · DevTool pitch · B 端企业软件 landing · Vercel/Linear 质感** | **`tech-minimal`** |\n| 稳妥正式汇报（兼容 v1.x） | `jobs-dark` |\n| 小红书品牌红 Feed 帖（兼容 v2.x） | `xiaohongshu` / `xiaohongshu-portrait` |\n\n**科技风两兄弟的区别**：\n\n- `tech-neon` = **品牌海报级**装饰全开（渐变背景 + 网格 + 四角刻度 + glow halo + dev badge + 等宽 metadata），电青/电紫双 accent，适合**对外宣发**\n- `tech-minimal` = **产品官网级**克制装饰（点阵 + 微光 + 左下版本戳），单色紫 accent，适合**对内汇报/产品主页**\n\n---\n\n## 九、技术细节\n\n- **CJK 防溢出**：`pptx_toolkit.fit_text` 自动测宽 + 字号自适应\n- **玻璃风**：七彩光球 + magnitude 卡片，需 `--pack liquid-glass`\n- **水墨/国风**：朱砂方印 / 万字纹边框 / 飞白笔触，自动注入\n- **科技风**：渐变背景 + 网格 + glow halo + 四角刻度\n- **页码**：自动注入，无需写在 deck JSON\n- **footer 控制**：`show_footer=False` 关闭（apple-keynote 默认关）\n\n## 9.1 Design tokens 层次\n\n```\nStylePack\n├── Canvas       画布尺寸（默认 13.33×7.5\" 16:9）\n├── Palette      3 级背景 + 4 级文字 + accent + accent_soft + border/divider\n├── Typography   display/body/mono 三字体 stack + 6 级字号阶梯 + 字重 + 字距 + 行高\n├── Spacing      8pt grid — gutter/stack_sm/md/lg/xl + margin_x/margin_x_hero\n├── Elevation    card_radius + stroke + 假阴影（python-pptx 无真阴影）\n└── Decoration   cover 对齐、accent bar、tag_style、stat_hero_size、image_treatment\n                 ▼ v3.1 新增六件套科技装饰字段：\n                 ├── gradient_bg: (from, to, angle)   对角线性渐变铺满底板\n                 ├── accent_gradient: (from, to)      大字文字渐变（PowerPoint/Keynote 端）\n                 ├── grid_overlay / grid_*            细线网格层（色/间距/粗细可调）\n                 ├── dot_grid / dot_*                 点阵背景层（替代 grid）\n                 ├── glow_accent / glow_strength      accent 大字辉光 halo\n                 ├── corner_marks / corner_*          四角 L 型取景框刻度\n                 ├── dev_badge / dev_badge_template   左下等宽版本戳（{year}/{date}/{build}）\n                 ├── mono_font / mono_fallbacks       JetBrains Mono / Menlo / Monaco stack\n                 └── scanline / scanline_color        水平扫描线（CRT 怀旧）\n```\n\n### 9.2 字距（tracking/letter-spacing）\n\npython-pptx 官方 API 不支持字距。v3.0 在 `templates/helpers.py::_set_run_spacing` 里用 OOXML XML 注入 `<a:rPr spc=\"N\">`，单位是 1/100 pt。hero 大字用 -3% em（收紧），衬线字用 +2% em（展开）。\n\n### 9.3 Auto-fit 大字号\n\nhero/section/big_stat/cta 的文本在 `fit_font_size(text, width, base_size)` 里自动缩放，防止 CJK 长文本换行撞副标题。宽度估算按 CJK 1.1em / 大写 0.75em / 小写 0.62em / 标点 0.38em，留 12% 安全余量。\n\n### 9.4 假阴影\n\n`xhs-creator` 开启 `use_fake_shadow=True`，在卡片下方偏移 0.06\" 画一个比卡片色深的色块模拟阴影。python-pptx 没有真阴影 API。\n\n### 9.5 与 v2.x 兼容\n\n- `--style` 参数保留，等价于 `--pack`\n- legacy pack（`jobs-dark`, `xiaohongshu`, `xiaohongshu-portrait`）仍可用\n- JSON 字段 `en_subtitle` 自动映射到 `en_sub`，`sub` 自动映射到 `subtitle`\n- slide type `cover/section/list/quote/end` 仍能跑，走 templates 注册表的别名\n\n### 9.6 科技风装饰实现（v3.1）\n\n六件套装饰都通过 OOXML XML 直接注入实现（python-pptx 的 dataclass API 覆盖不全）。核心函数在 `templates/helpers.py`：\n\n| 函数 | 实现 |\n|----|----|\n| `add_gradient_rect` | 先画矩形，再把 `p:spPr` 下的 `a:solidFill` 替换成 `a:gradFill`（双色 stop + 方向角） |\n| `apply_text_gradient` | 给 run 的 `a:rPr` 注入 `a:gradFill`（覆盖 `a:solidFill`），实现渐变文字 |\n| `add_glow_halo` | 在大字周围叠 N 层椭圆，每层递减 alpha 值（通过 `a:srgbClr/a:alpha`），模拟发光 |\n| `_draw_grid_overlay` | 按 `grid_spacing` 铺横竖细矩形 —— 纯色矩形比 line shape 更稳（LibreOffice 渲染一致） |\n| `_draw_dot_grid` | 按 `dot_spacing` 铺 OVAL，中性色 + 小尺寸 —— Vercel/Linear 招牌 |\n| `_draw_corner_marks` | 四角各画 2 个 L 型方块，拼出取景框 |\n| `add_dev_badge` | 左下固定位置 mono textbox，`{year}/{date}/{build}/{n}` 模板插值 |\n\n**已知限制**：\n\n- `apply_text_gradient` 只在 PowerPoint/Keynote 下可见；LibreOffice/Impress 渲染会回落成 solid（因为 Impress 不支持文字 gradFill）——生成 PDF 预览时 hero 大字看上去是单色 accent，但实际 pptx 打开在 mac Keynote/Windows PowerPoint 下会显示渐变。\n- `glow_accent` 的 halo 用多层半透明椭圆模拟，不是 PowerPoint 真正的 glow effect（python-pptx 没暴露 effect API）。视觉效果在 PDF/PNG 预览下接近真 glow。\n- 装饰层都是画在背景之上、文本之下（`new_slide` 里按顺序绘制），不会遮挡正文。\n\n---\n\n## 十、版本历史\n\n详细 changelog 见 git log。当前主要里程碑：\n- **v3.3.x（最新）** — 设计能力栈集成：反 AI Slop 自检 / WCAG 2.2 AA 对比度审计 / matplotlib 真数据图表 / 集成 design-critique\n- **v3.2.x** — 21 套生产级审美方案（玻璃 / 水墨 / 国风 / 梵高 / 莫兰迪 / 孟菲斯 / 包豪斯 / 韦斯安德森等）\n- **v3.1.x** — 科技双套（赛博霓虹 + Vercel/Linear 极简）+ 11 个页面模板\n- **v3.0.x** — 4 套基础（Apple 发布会 + Apple.com + 小红书博主 + 复古胶片）\n- **v2.x** — 小红书品牌风 + 竖版 9:16\n- **v1.x** — Jobs 暗蓝默认风格\n\n","topics":["小红书"],"tags":{"latest":"5.0.1","stable":"2.0.0"},"stats":{"comments":0,"downloads":925,"installsAllTime":35,"installsCurrent":1,"stars":0,"versions":23},"createdAt":1776307013104,"updatedAt":1778492613600},"latestVersion":{"version":"5.0.1","createdAt":1778066916124,"changelog":"- 修复和优化部分模板脚本，以提升生成页面的准确性与兼容性。\n- 小幅调整 compare_columns.py 和 hero_cover.py，增强模板内部逻辑与效果表现。\n- 文档与元数据更新以反映版本进步。\n- 依赖与主功能保持兼容，整体体验持续迭代完善。","license":"MIT-0"},"metadata":null,"owner":{"handle":"zhaobod1","userId":"s17f6q72skfgyjycm2frgdc8dn83v5mk","displayName":"Job Zhao","image":"https://avatars.githubusercontent.com/u/13188275?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780090753274}}