Install
openclaw skills install yuanfang-html-pptGenerate professional multi-page PPTX presentations from text or URLs with precise, fully editable layouts using customizable HTML templates and YAML data so...
openclaw skills install yuanfang-html-ppt本 skill 依赖同仓库 yuanfang-design/ 共享设计库:
yuanfang-design/base.css — token CSS 变量yuanfang-design/themes/*.css — 12 个主题一份 YAML,两个产出。 YAML 是唯一数据源,LLM 生成 → 用户可改 → 渲染出 PPTX + HTML:
用户输入 (URL/文本/需求)
↓ LLM 理解 + 编排
content.yaml ← 可人工编辑(注释说明每个字段)
↓ 渲染 (render-html-pptx.js)
deck.pptx + deck.html(保留用于调试)
YAML 优先的原因:
load-content.js 自动识别 .yaml / .yml / .jsonagent 用 web fetch 读页面,自动提取:
| 资产 | 来源 | 用途 |
|---|---|---|
| logo 图片 | favicon / apple-touch-icon / og:image | 封面右上角,询问用户后决定 |
| 品牌名 | og:site_name / 域名 | 仅供参考 |
| 主题色 | theme-color meta / CSS 变量 | 建议值,询问用户后决定 |
| 字体 | Google Fonts link / @font-face | 字体建议 |
文本输入则跳过。提取结果只是建议,不是终值。
[等待用户确认后才能进 Step 1]
agent 根据 URL/文本内容,自主编排成多页 PPT,输出 content.yaml:
| 内容类型 | PPT 结构 |
|---|---|
| 产品介绍 | cover → content×N → comparison → stat → thanks |
| 路演/融资 | cover → stat → timeline → comparison → thanks |
| 报告/分析 | cover → toc → content×N → data → big-quote → thanks |
| 方案/提案 | cover → toc → process → three-column → thanks |
# AICS 智能客服平台 — 路演 PPT
brand: AICS
theme: tech-modern # 12 主题之一,可选
title: "AICS — 智能客服平台"
author: AICS Team
slides:
# ── 封面 ──
- layout: cover
kicker: "KEYNOTE · 2026"
title: "AICS — <span class=\"gradient-text\">智能客服平台</span>"
subtitle: "基于 RAG 知识库与大语言模型的企业级智能客服系统"
tags: ["3 分钟上线", "双 LLM 自动容灾"]
logo: "data:image/svg+xml,..." # SVG/PNG data URL 或图片路径
footer: "AICS · 智能客服平台"
# ── 目录 ──
- layout: toc
kicker: "目录"
title: "今天讲的三件事"
items:
- title: "市场洞察"
desc: "为什么企业需要智能客服"
- title: "核心能力"
desc: "RAG 知识库 · 多渠道 · AI Agent"
- title: "产品路线图"
desc: "2026 年规划与愿景"
# ── 关键数据 ──
- layout: stat
kicker: "Traction · 关键数字"
stats:
- value: "3 min"
label: "上线时间"
context: "注册即用,无需部署"
- value: "99.9%"
label: "系统可用性"
context: "双 LLM 自动容灾"
caption: "从 0 到 1,智能客服 3 分钟起步"
footer: "AICS"
# ── 内容页 ──
- layout: content
title: "什么是 AICS"
body: "<p>AICS 是一款基于 <strong>RAG 知识库</strong> 和 <strong>大语言模型</strong> 的智能客服平台</p>"
footer: "AICS"
# ── 三栏特性 ──
- layout: three-column
kicker: "三大核心能力"
title: "AICS 的核心"
lede: "RAG + LLM + 多渠道,三位一体。"
items:
- icon: "📚"
title: "RAG 知识库"
desc: "草稿/发布双版本管理,智能分段,自动更新"
- icon: "🌐"
title: "多渠道接入"
desc: "网页 Widget、API、第三方平台全覆盖"
- icon: "🤖"
title: "AI Agent 技能"
desc: "自定义技能编排,双 LLM 引擎自动容灾"
# ── 对比 ──
- layout: comparison
kicker: "Before vs After"
title: "AICS vs 传统客服方案"
leftLabel: "传统客服"
rightLabel: "AICS"
items:
- left: "部署周期数周"
right: "3 分钟上线"
- left: "单点故障风险"
right: "双 LLM 自动容灾"
- left: "知识库手动维护"
right: "草稿/发布双版本自动更新"
# ── 流程 ──
- layout: process
kicker: "How-to"
title: "3 分钟上线 AICS"
lede: "三步走,从注册到上线。"
steps:
- title: "注册账号"
desc: "访问 aics.financialagent.cc"
tag: "~1 min"
- title: "导入知识库"
desc: "上传文档,AI 自动分段"
tag: "~1 min"
- title: "嵌入网站"
desc: "复制一行代码到网站"
tag: "~1 min"
# ── 时间线 ──
- layout: timeline
kicker: "Roadmap"
title: "AICS 产品路线图"
items:
- year: "2026 Q1"
title: "MVP 上线"
desc: "RAG 知识库 + 网页 Widget"
- year: "2026 Q2"
title: "多渠道扩展"
desc: "API / 第三方平台接入"
- year: "2026 Q3"
title: "AI Agent 技能"
desc: "自定义技能编排"
- year: "2026 Q4"
title: "企业级功能"
desc: "团队协作 + SSO"
# ── 结尾 ──
- layout: thanks
subtitle: "开始使用 AICS"
points: ["aics.financialagent.cc", "2026 · AICS"]
[等待用户确认/修改后才能进 Step 2]
| 主题 | 底色 | accent | 风格 | 适合 |
|---|---|---|---|---|
minimal-white | 白 #FFF | #5856E9 紫蓝 | 干净白底 | 通用, 默认 |
minimal-white-editorial | 白 #FAFAFA | #4F46E5 紫蓝 | 瑞士留白 | 高端品牌 |
tech-modern | 深 #0F172A | #4FACFE 蓝 | 科技终端风 | AI/科技产品 |
corporate-clean | 白 | #2563EB 蓝 | 商务蓝 | 企业 SaaS |
tokyo-night | 深 #1A1B26 | #7AA2F7 紫蓝 | 霓虹极客 | 开发者向 |
pitch-deck-vc | 白 | #0070F3 蓝 | YC 风路演 | 融资演示 |
dark-gold | 深 #1A1A2E | #E2B714 金 | 黑金高端 | 重大发布 |
magazine-cover | 暖白 | 渐变 | 杂志封面 | 品牌首发 |
bold-poster | 黑 #000 | #FF3355 红 | 海报风 | 活动宣传 |
editorial | 暖白 | #C0392B 红 | 编辑风 | 深度分析 |
editorial-serif | 暖白 | #C0392B 红 | 衬线编辑 | 高端长文 |
warm-handdrawn | 奶白 | #D97706 橙 | 手绘风 | 个人故事 |
data-infographic | 浅灰 | #10B981 绿 | 数据信息图 | 数据报告 |
list-ranking | 白 | #4F46E5 紫蓝 | 榜单排名 | Top 10 |
split-screen | 白 | #4F46E5 紫蓝 | 分屏对比 | A/B 对比 |
eastern | 米色 | #8D6E63 棕 | 东方美学 | 文化/本地 |
catppuccin-latte | 暖白 | #DD7878 粉 | 暖色系 | 轻松内容 |
catppuccin-mocha | 深 | #F5C2E7 粉紫 | 暗色系 | 暗色舒适 |
抓到了品牌色 → 推荐色调最接近的 2–3 个。没抓到 → 默认 minimal-white。
抓到就问"用这个/换 URL/不要",没抓到就问"要加吗"。品牌色同理。
页脚(默认品牌名 + 页码)、页数范围。
[每轮等待用户回答后才能继续]
node yuanfang-html-ppt/scripts/render-html-pptx.js \
--file content.yaml \
--theme tech-modern \
--brand-color "#4F46E5" \
--output deck.pptx
| Flag | 说明 |
|---|---|
--file | content.yaml 路径(也支持 .json/.yml) |
--theme | 主题名 |
--output | 输出的 PPTX 路径 |
--format | pptx / pdf / png |
--brand-color | 品牌色 hex,覆盖 theme accent |
每次渲染同步产出 HTML 文件:deck.html 与 deck.pptx 同目录,用于调试和对比。
渲染前 agent 自动验证 YAML 语法(用 JS-YAML parse),有错误提示用户修正。
[等待用户确认渲染结果]
用户说"改" → agent 直接修改 content.yaml 的对应字段 → 重新渲染,无需走完整流程:
| 用户说 | agent 做 |
|---|---|
| "封面标题改一下" | 读取 content.yaml,修改 slides[0].title,写回 |
| "加一页数据" | 在 slides 数组插入 stat/data 块 |
| "删掉第 5 页" | 删除对应 slide |
| "换主题" | 修改顶层的 theme 字段 |
| "第三页数据不对" | 找到对应 slide 修改数值 |
修改流程:
content.yaml
↓ agent 读取
↓ agent 定位修改位置 + 修改
↓ 写回 content.yaml(保留注释)
↓ agent 验证 YAML 语法(js-yaml.load)
↓ 语法错误 → 提示用户修复 / 语法正确 → 渲染
↓
deck.pptx + deck.html(保留,用于调试)
用户也可以直接在自己的编辑器里改 YAML(有注释说明每个字段),改完说"重新渲染"即可。
[等待用户确认/继续修改]
| 布局 | 用途 | 关键字段 |
|---|---|---|
cover | 封面 | title, subtitle, kicker, tags, logo |
section | 章节分割 | title |
content | 标题+正文 | title, body (HTML) |
two-column | 双栏 | leftTitle, leftPoints, rightTitle, rightPoints |
data | KPI 网格 | metrics[{label,value,change}] |
quote | 客户引用 | quote, attribution, role |
summary | 下一步 | title, points[] |
toc | 目录 | items[{title,desc}] |
three-column | 三栏特性 | items[{icon,title,desc}] |
process | 流程步骤 | steps[{title,desc,tag}] |
timeline | 时间线 | items[{year,title,desc}] |
big-quote | 大字号引言 | quote, attribution, role |
stat | 关键数据 | stats[{value,label,context}], caption |
comparison | 对比 | leftLabel, rightLabel, items[{left,right}] |
thanks | 结尾 | subtitle, points[] |
yuanfang-html-ppt/
├── SKILL.md # 本文件
└── scripts/
└── render-html-pptx.js # 核心渲染引擎 (HTML→dom-to-pptx)