[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-11022":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":15,"starSnapshotCount":15,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},11022,"codex-ppt-skill","ningzimu\u002Fcodex-ppt-skill","ningzimu","GPT-Image-2 PPT Generator Skill for Creating Image-Based PowerPoint Presentations in Codex and Other Skill-Compatible Agents",null,"Python",1362,76,1,3,0,491,751,1285,1473,18.66,"MIT License",false,"main",true,[],"2026-06-12 02:02:29","# Codex PPT Skill\n\n[![English](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-English-blue)](README_en.md) [![ClawHub](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClawHub-codex--ppt-cd3b35)](https:\u002F\u002Fclawhub.ai\u002Fningzimu\u002Fcodex-ppt) [![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fningzimu\u002Fcodex-ppt-skill?style=flat&logo=github&label=stars)](https:\u002F\u002Fgithub.com\u002Fningzimu\u002Fcodex-ppt-skill\u002Fstargazers) [![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fningzimu\u002Fcodex-ppt-skill?style=flat&logo=github&label=forks)](https:\u002F\u002Fgithub.com\u002Fningzimu\u002Fcodex-ppt-skill\u002Fforks)\n\n一个面向 Codex 的 PPT 生成 skill，也可在 Claude Code、OpenClaw、Hermes Agent 等支持 `SKILL.md` 的 agent 中使用；在这些非 Codex 环境中通常需要配置 `gpt-image-2` 或第三方 OpenAI 兼容格式的生图 API。它把文章、报告、论文、课程笔记等内容转换成“整页图片式”的演示文稿：先规划大纲和视觉风格，再生成每页幻灯片图片，最后用本地脚本组装为 `.pptx`。\n\n## 特点\n\n- 在 Codex 中优先使用内置生图和编辑图能力；在其他 agent 中可使用本地 API\u002FCLI fallback\n- 同时支持 Codex、Claude Code、OpenClaw、Hermes Agent 等多种 agent 环境\n- 支持使用第三方 OpenAI 兼容接口提供的 `gpt-image-2` 生图模型\n- 图片式 PPT：每页幻灯片是一张完整 16:9 图片，适合强视觉表达\n- 支持为某一页指定必须插入的图片素材，例如论文原图、实验结果图、截图或架构图\n- 风格参考库：内置清爽专业、科研答辩、电子墨水杂志、手绘技术解释、仪表盘等多种风格说明\n- 整套 PPT 保持统一视觉语言，但每页会按内容语义调整版式，避免机械重复\n- 本地组装脚本：将 `slide_01.png`、`slide_02.png` 等图片打包成 PowerPoint\n\n## 生成效果\n\n下面是一套技术分享 PPT 的生成效果示例。每页都是由 `gpt-image-2` 生成的完整 16:9 幻灯片图片，再由本地脚本组装为 PPTX。\n\n![生成 PPT 效果示例](assets\u002Fslides_example.png)\n\n下面是一套论文答辩风案例，来源于论文 [Attention Is All You Need](https:\u002F\u002Farxiv.org\u002Fabs\u002F1706.03762)。它展示了如何在指定页中插入论文原始图片作为输入素材，例如模型架构图、attention 模块图和 attention 可视化图，并围绕这些图片生成统一风格的 PPT（见 Issue #14）。\n\n![论文原图插入案例](assets\u002Fpaper-figures-example.png)\n\n## 风格示例\n\n以下是已生成预览图的风格，示例图均由 `gpt-image-2` 生成，用于帮助用户在开始制作前选择视觉方向。\n\n| 清爽专业风 | 创意杂志风 |\n| --- | --- |\n| ![清爽专业风](assets\u002Fstyle-previews\u002Fclean-professional.png) | ![创意杂志风](assets\u002Fstyle-previews\u002Fcreative-magazine.png) |\n| 电子墨水杂志风 | 数据仪表盘风 |\n| ![电子墨水杂志风](assets\u002Fstyle-previews\u002Fe-ink-magazine.png) | ![数据仪表盘风](assets\u002Fstyle-previews\u002Fdata-dashboard.png) |\n| 复古扁平插画风 | 手绘技术解释风 |\n| ![复古扁平插画风](assets\u002Fstyle-previews\u002Fretro-flat-illustration.png) | ![手绘技术解释风](assets\u002Fstyle-previews\u002Fhanddrawn-technical.png) |\n| 手绘白板风 | 温暖手工风 |\n| ![手绘白板风](assets\u002Fstyle-previews\u002Fhanddrawn-whiteboard.png) | ![温暖手工风](assets\u002Fstyle-previews\u002Fwarm-handmade.png) |\n| 科研答辩风 |  |\n| ![科研答辩风](assets\u002Fstyle-previews\u002Fscientific-defense.png) |  |\n\n## 输出结构\n\n每个 PPT 会生成一个独立项目目录：\n\n```text\n{基础目录}\u002F{PPT名称}\u002F\n├── origin_image\u002F\n│   ├── slide_01.png\n│   ├── slide_02.png\n│   └── ...\n├── outline.md\n├── speech.md\n└── {PPT名称}.pptx\n```\n\n`origin_image\u002F` 只放正式页图片，并按 `slide_01.png`、`slide_02.png` 这样的顺序命名。样张确认时也直接使用对应页的正式文件名；如果要保留废稿或对比图，放到项目根目录或单独的 `drafts\u002F` 目录，不要放进 `origin_image\u002F`。\n\n`speech.md` 会在组装时写入 PPT 的每页备注。建议使用 `## Slide 1: 标题`、`## Slide 2: 标题` 这样的标题格式，脚本会按页码匹配。\n\n## 适用场景\n\n- 技术文章转分享 PPT\n- 论文或报告转演示稿\n- 课程笔记转课件\n- 科研项目申报、中期检查、结题验收和论文答辩\n- 商业汇报、产品介绍、调研总结\n- 需要强视觉统一性的图片式演示文稿\n\n## 安装\n\n### Codex\n\n推荐使用 `skills` CLI 安装到 Codex 的全局 skills 目录：\n\n```bash\nnpx -y skills@latest add ningzimu\u002Fcodex-ppt-skill \\\n  --skill codex-ppt \\\n  --agent codex \\\n  --global\n```\n\n安装完成后，重启 Codex 让新 skill 生效。\n\n如果你是在本地开发这个仓库，也可以把 skill 目录链接到 Codex skills 目录，方便实时调试修改：\n\n```bash\nmkdir -p ~\u002F.codex\u002Fskills\nln -s \u002Fpath\u002Fto\u002Fcodex-ppt-skill\u002Fskills\u002Fcodex-ppt ~\u002F.codex\u002Fskills\u002Fcodex-ppt\n```\n\n### OpenClaw\n\n推荐通过 ClawHub 安装：\n\n```bash\nopenclaw skills install codex-ppt\n```\n\nClawHub 页面：[clawhub.ai\u002Fningzimu\u002Fcodex-ppt](https:\u002F\u002Fclawhub.ai\u002Fningzimu\u002Fcodex-ppt)\n\n如果使用 OpenClaw 的 skill allowlist，需要把 `codex-ppt` 加入允许列表。\n\n### Claude Code、Hermes Agent\n\n这些 agent 都可以读取 `SKILL.md` 形式的 skill。推荐同样使用 `skills` CLI 安装：\n\n```bash\n# Claude Code\nnpx -y skills@latest add ningzimu\u002Fcodex-ppt-skill \\\n  --skill codex-ppt \\\n  --agent claude-code \\\n  --global\n\n# Hermes Agent\nnpx -y skills@latest add ningzimu\u002Fcodex-ppt-skill \\\n  --skill codex-ppt \\\n  --agent hermes-agent \\\n  --global\n```\n\n常见目标目录是：Claude Code 使用 `~\u002F.claude\u002Fskills\u002Fcodex-ppt`，Hermes Agent 使用 `~\u002F.hermes\u002Fskills\u002Fcodex-ppt`。\n\n如果你是在本地开发这个仓库，也可以用软链接替代复制，方便实时调试修改。\n\n## 生图模型配置\n\n只有在需要通过 API\u002FCLI fallback 生图时，才需要配置生图模型。指定图片分辨率、提高质量或要求修改某一页，本身不会触发第三方 API 配置；如果 Codex 内置图片生成工具可用，会继续使用内置工具。典型需要配置的情况包括：\n\n- 在 Codex 中使用第三方 API 或兼容中转站接入时，通常无法使用内置的图片生成工具。\n- 在 Claude Code、OpenClaw、Hermes Agent 等环境中使用该 skill。\n\n如果你是通过 GPT 会员订阅使用 Codex，并且 Codex 内置图片生成工具可用，则不需要配置 `gpt-image-2` 生图模型；这种情况下 Codex 已经内置了该图片生成能力。即使你在提示词里明确说“使用 `gpt-image-2`”，也应优先理解为使用 Codex 内置图片生成工具，而不是切换到本地 API\u002FCLI fallback。\n\n只有在已经明确选择 API\u002FCLI fallback 时，agent 才应该检查 `~\u002F.codex-ppt-skill\u002F.env` 并在缺少配置时报 `OPENAI_API_KEY`。不要在 Codex 内置图片生成工具可用时，因为用户提到 `gpt-image-2` 就要求配置 API key。`base URL` 只有使用第三方中转站时才需要配置，模型名缺省为 `gpt-image-2`，只有中转站要求自定义模型名时才需要修改。配置完成后 Codex、Claude Code、OpenClaw、Hermes Agent 会复用同一套配置。\n\n手动排查时也可以直接运行配置命令：\n\n```bash\npython3 \u002Fpath\u002Fto\u002Fcodex-ppt-skill\u002Fskills\u002Fcodex-ppt\u002Fscripts\u002Fcodex_ppt_runtime.py config \\\n  --api-key \"your-api-key\" \\\n  --model gpt-image-2\n```\n\n其中 `--api-key` 是你的 API key；`--model` 是图片模型名，默认可使用 `gpt-image-2`。配置会写入 `~\u002F.codex-ppt-skill\u002F.env`。不要把 API key 写进项目目录或提交到仓库。\n\n如果使用第三方中转站，再加上 `--base-url`。如果中转站使用自定义模型名，就把 `--model` 改成中转站提供的名称：\n\n```bash\npython3 \u002Fpath\u002Fto\u002Fcodex-ppt-skill\u002Fskills\u002Fcodex-ppt\u002Fscripts\u002Fcodex_ppt_runtime.py config \\\n  --api-key \"your-api-key\" \\\n  --base-url \"https:\u002F\u002Fyour-openai-compatible-endpoint\u002Fv1\" \\\n  --model openai\u002Fgpt-image-2\n```\n\n## 使用方式\n\n在 Codex、Claude Code、OpenClaw 或 Hermes Agent 中明确指定使用 `codex-ppt` skill，例如：\n\n```text\n请使用 codex-ppt skill 把 \u002Fpath\u002Fto\u002Farticle.md 做成 10 页左右的 PPT。\n```\n\nskill 会按以下流程执行：\n\n1. 阅读内容并规划 PPT 大纲\n2. 生成 `outline.md`，并请求你确认页数、标题和每页要点\n3. 给出 2-3 个视觉风格选项，并推荐一个让用户确认\n4. 在首次生图前说明将使用的生图方式，并请求你确认\n5. 使用确认后的图片生成后端生成 1 页样张，让用户确认风格、版式节奏和文字质量\n6. 创建 PPT 项目目录\n7. 使用同一图片生成后端逐页生成全部幻灯片图片\n8. 检查文字清晰度、风格一致性和内容完整性\n9. 生成 `speech.md`\n10. 使用 `assemble_ppt.py` 组装 `.pptx`\n\n## 使用技巧\n\n- 默认脚本分辨率是 2K 16:9 横屏。如果生成的幻灯片图片比较模糊，尤其是文字较多的页面，可以让当前 agent 改用 4K 分辨率生成图片。\n- 如果只是不满意某一页的内容、排版、配色或文字表达，可以直接让当前 agent 针对这一页做细致修改，不需要整套 PPT 重新生成。\n- 你也可以上传一张喜欢的 PPT 风格截图或参考图，让当前 agent 模仿它的配色、版式、字体气质和视觉元素来生成整套 PPT。\n- 如果需要插入论文原图、实验结果图、截图或架构图，可以在大纲中指定这些图片对应的页码和用途。\n\n## 许可证\n\nMIT\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=ningzimu\u002Fcodex-ppt-skill&type=Date)](https:\u002F\u002Fwww.star-history.com\u002F#ningzimu\u002Fcodex-ppt-skill&Date)\n","该项目是一个基于Codex的PPT生成工具，能够将文章、报告、论文等内容转换成图像形式的PowerPoint演示文稿。它利用gpt-image-2模型生成每页幻灯片的整页图片，并通过本地脚本组装为.pptx文件。支持多种agent环境如Codex、Claude Code等，并允许用户指定特定页面插入的图片素材，内置了多种视觉风格供选择。适用于需要强视觉表达的技术分享、论文答辩、课程讲义制作及商业汇报等多种场景。",2,"2026-06-11 03:31:05","CREATED_QUERY"]