GPT 图像 2
v1.0.4PPT Generator通过OpenAI的gpt-image-2生成视觉效果惊人的PPT幻灯片 -- 10种精选风格(Spatial Glass / Tech Blue / Editorial Mono / Dark Aurora / Risograph / W...)
0· 11·0 当前·0 累计
安全扫描
OpenClaw
可疑
medium confidence该包大多数功能如其README/SKILL.md所述(通过OpenAI图像及可选的视觉提供者生成PPT幻灯片),但存在多个内部不一致性(清单表明无环境变量/仅指令,而代码和安装脚本需要OpenAI API密钥并包含许多代码文件),并在SKILL.md中检测到提示注入模式——安装或授予密钥前请进行审查。
评估建议
该技能看似实现了其宣称的功能(通过调用图像/视觉 LLM 创建 PPT),但存在多处红旗,安装或提供 API 密钥前务必谨慎:
1) Manifest 不匹配——注册元数据声称无需环境变量、仅依赖指令,但代码和 README 要求 OPENAI_API_KEY(以及可选的 VISION_*)。请将此包视为会调用外部端点并发送幻灯片内容的代码。
2) SKILL.md 含有隐藏 Unicode 控制字符(提示注入信号)——使用前请用十六进制编辑器打开或运行 `cat -v` 检查隐藏字符。
3) 提示词与输入会被保存到 prompts.json 及其他本地缓存;若数据敏感,请勿运行,除非你接受这些文件存在且可能被共享。
4) 仅提供你信任的 API 密钥和 base_url;工具会将内容发送至所配置的端点。
5) 若决定安装:请在隔离环境(容器/一次性 VM)中进行,审查 generate_ppt.py 和 image_generator.py 是否有额外网络调用,并优先将 OPENAI_BASE_URL 设为官方服务商或你控制的转发地址。如无法验证仓库来源或 SKIL...详细分析 ▾
⚠ 用途与能力
该技能的注册元数据声明“所需环境变量:无”且“无安装规范 — 仅指令”,但 bundle 内包含可运行的 Python 代码、安装脚本以及明确要求 OPENAI_API_KEY(以及可选的 VISION_* 变量)的 SKILL.md/README。这种 manifest 声称无需凭据而代码却需要 API 密钥的不一致应由发布者解决。
ℹ 指令范围
运行时指令与代码通常限定于所述用途:接收 slides_plan.json,可选 .pptx 模板,将模板页渲染为 PNG,调用配置的 OpenAI 兼容 Images/chat 端点(gpt-image-2)及可选视觉模型,下载返回图片,组装 HTML 查看器与 .pptx。SKILL.md/代码在调用者当前工作目录下写入输出并缓存。注意两点:(1) SKILL.md 及预扫描检测到其中存在“unicode-control-chars”(提示注入模式),可能隐藏/混淆文本;(2) prompts.json 包含所用完整提示(含用户提供的幻灯片文本),以明文本地存储,若共享可能泄露敏感内容。
ℹ 安装机制
没有 registry “install” 规范,但仓库提供了 install_as_skill.sh,它会将文件复制到 ~/.claude/skills/... 并执行 pip install -r requirements.txt。这是标准的本地安装流程(无晦涩的第三方下载地址),不过安装器可能会还原已有的 .env,并在本地未安装 LibreOffice 时拉取较大的 docker 镜像(linuxserver/libreoffice)。除常规的 pip/docker 使用外,未发现任意远程代码下载迹象。
⚠ 凭证需求
代码需要 OPENAI_API_KEY / OPENAI_BASE_URL(若使用 template-clone 模式,还可选 VISION_API_KEY / VISION_BASE_URL)。这些环境变量与所述功能(调用图像+视觉端点)成正比,但注册元数据错误地列出“所需环境变量:无”。这一差异至关重要:该 Skill 需要你的 API 密钥,并会将用户内容发送至你配置的 base_url。没有无关凭证(如 AWS 等),因此所请求的密钥在功能上是合理的,但清单遗漏具有误导性。
✓ 持久化与权限
该 skill 未设置 always:true,不会强制自启。它将缓存与输出写入调用方 cwd 下的显式每次运行路径(template_renders/、template_cache/、outputs/);若已安装,使用本地 ~/.claude/skills 位置,不修改其他 skill 或全局代理设置。自主调用(disable-model-invocation=false)为平台默认,本身并非此处独有风险。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.42026/4/22
去除所有 .md / .py / .yaml 文件中的非ASCII花式标点符号(em/en破折号、箭头、⚠/ℹ、盒绘制)以清除ClawHub的宽unicode控制字符启发式方法。保留CJK字符。
● Pending
安装命令
点击复制官方npx clawhub@latest install gpt-image2-ppt
镜像加速npx clawhub@latest install gpt-image2-ppt --registry https://cn.longxiaskill.com 镜像可用
本土化适配说明
GPT 图像 2 安装说明: 安装命令:npx clawhub@latest install gpt-image2-ppt
技能文档
把一份 markdown 大纲(或 slides_plan.json)+ 一种视觉风格,直接喂给 OpenAI 官方 Images API(gpt-image-2),逐页出图,最后拼成一个键盘可翻页的 HTML viewer + 16:9 .pptx。
十种内置风格
| 风格 ID | 一句话定位 | 适用场景 | | --- | --- | --- | |gradient-glass | Apple Vision OS / Spatial Glass | AI 产品发布、技术分享、创意提案 |
| clean-tech-blue | Stripe / Linear 级蓝白 | 融资路演、商业计划书、企业战略 |
| vector-illustration | 复古矢量插画 + 黑描边 | 教育培训、品牌故事、社区分享 |
| editorial-mono | Kinfolk / Monocle 编辑设计 | 品牌发布、文化访谈、读书分享 |
| dark-aurora | Linear / Vercel 深色霓虹 | AI 产品、开发者工具、技术分享 |
| risograph | Riso 双套色印刷 + 网点纹理 | 创意工作室、文创品牌、独立 zine |
| japanese-wabi | 无印 / 原研哉式侘寂 | 茶道、生活方式、奢侈品、文化讲座 |
| swiss-grid | Bauhaus / Vignelli 国际主义网格 | 学术报告、博物馆展陈、严肃汇报 |
| hand-sketch | Sketchnote / 白板手绘 | 工作坊、产品 brainstorming、培训 |
| y2k-chrome | Y2K 千禧液态金属 + 蝴蝶贴纸 | 潮牌、文娱、品牌联名、Z 世代营销 |
风格选择原则:技术类首选dark-aurora/gradient-glass,商务类首选clean-tech-blue/editorial-mono,文化生活类首选japanese-wabi/vector-illustration,潮文娱类首选risograph/y2k-chrome,学术类首选swiss-grid,工作坊与早期创意类首选hand-sketch。
模板克隆模式
直接给 skill 一个 .pptx 模板,后续所有页都仿这个模板。# 一行:自动渲染 + vision 抽风格 + 出图。本机有 LibreOffice 或 docker 镜像即可
python3 generate_ppt.py \
--plan slides_plan.json \
--template-pptx ./company-template.pptx \
--template-strict
--template-strict 表示每页都把模板对应页作为 image reference 喂给 gpt-image-2,仿真度最高。
模板渲染:本机不需要操作 PowerPoint
skill 自带render_template.py,把 .pptx 自动渲染成每页 PNG,存到 /template_renders//page-NN.png。
后端按优先级自动挑:
- 本机
libreoffice/soffice命令(最快) - 本机 docker +
linuxserver/libreoffice镜像(首次拉 ~2.5GB) - PDF -> PNG 走
pymupdf(已在 requirements);没装就用pdf2image+ poppler
page-01.png 起按字典序对应页码。
跑 generate_ppt.py --template-pptx ... 时如果省略 --template-images 会自动调一次渲染;也可以手动先跑一次:
python3 render_template.py company-template.pptx # -> /template_renders/company_template/page-01.png ... page-NN.png
仿模板的两层缓存
| 资料 | 路径 | 用途 | | --- | --- | --- | | 模板每页 PNG |/template_renders//page-NN.png | LibreOffice 一次渲染长期复用 |
| Vision 风格分析 | /template_cache/.json | gemini-3.1-pro-preview 一次分析长期复用 |
| 生成产物 | /outputs// | 每次新跑都新目录 |
三者都在调用者 cwd 下,与项目自然同进退;建议把 template_renders/、template_cache/、outputs/ 加进项目的 .gitignore。
vision 模型:模板分析走单独的 OpenAI 兼容多模态 chat completions(默认 gemini-3.1-pro-preview,配在 .env 的 VISION_* 里),与图片生成的 gpt-image-2 解耦。
安装
git clone git@github.com:JuneYaooo/gpt-image2-ppt-skills.git
cd gpt-image2-ppt-skills
bash install_as_skill.sh # 编辑 ~/.claude/skills/gpt-image2-ppt-skills/.env 填入 API_KEY
必需的环境变量
OPENAI_BASE_URL=https://api.openai.com # 或任意 OpenAI 兼容中转站
OPENAI_API_KEY=sk-...
GPT_IMAGE_MODEL_NAME=gpt-image-2
GPT_IMAGE_QUALITY=high # low / medium / high / auto
# 可选:模板克隆模式才需要(vision 分析独立 provider)。
# 不内置默认 endpoint,请填你自己信任的服务,否则就别填这一组。
# VISION_BASE_URL=https://your-openai-compatible-relay.example.com/v1
# VISION_API_KEY=sk-...
# VISION_MODEL_NAME=gemini-3.1-pro-preview
安全提示:脚本只从/.env、~/.claude/skills/.../env、~/skills/.../env与显式GPT_IMAGE2_PPT_ENV加载凭据,不会向上递归读取项目目录里的.env,避免误吃无关密钥。
生成流程(内置风格)
- 用户给一份大纲 / 已有的 slides_plan.json
- Claude 读懂内容,按需要生成 / 校准
slides_plan.json:
{
"title": "...",
"slides": [
{"slide_number": 1, "page_type": "cover", "content": "标题 / 副标题"},
{"slide_number": 2, "page_type": "content", "content": "正文要点..."},
{"slide_number": 3, "page_type": "data", "content": "数据 / 总结..."}
]
}
- 选风格:从上面 10 套里挑一个,对应
styles/.md - 调脚本:
python3 generate_ppt.py --plan slides_plan.json --style styles/editorial-mono.md
- 产物在
/outputs//: images/slide-XX.png-- 每页 PNG(16:9,1536x1024)index.html-- HTML viewer,方向键翻页、空格自动播放、ESC 全屏prompts.json-- 每页用到的完整 prompt(便于复盘 / 二次微调)