mcpField
P
popai-powerpoint-pptx

popai-powerpoint-pptx

github.com/popaiofficial文档处理0432 次安装30 周前更新
代码仓库

关于 popai-powerpoint-pptx

这项 Skill 通过 PopAI API 创建和修改 PowerPoint 演示文稿,可根据主题生成内容,并接受参考文件或 PPTX 模板。生成后可通过同一 channel ID 继续修改。

主要功能

  1. 01根据主题生成幻灯片
  2. 02搜索并整理相关信息
  3. 03使用参考文件或 PPTX 模板
  4. 04通过 channel ID 修改演示文稿

适用场景

  1. 01根据主题创建演示文稿
  2. 02使用 PDF 或图片作为参考制作幻灯片
  3. 03按 PPTX 模板生成演示文稿
  4. 04继续修改已生成的演示文稿

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/popaiofficial/popai-presentation-slides --skill popai-powerpoint-pptx

安装后在 Claude Code 中输入/popai-powerpoint-pptx确认已加载。

附带文件generate_ppt.py

详细介绍

PopAI PPT 技能

通过 PopAI 的 API 以编程方式创建演示文稿。该 API 内置了强大的研究和信息收集功能,会自动搜索、收集并整理相关内容。你也可以选择上传文件作为参考资料或模板。如果提供了 .pptx 模板,输出将完整保留模板的布局、样式和设计,100% 忠实于模板。初次生成后,你可以使用相同的频道 ID 发送后续修改指令。

设置

  1. 请用户注册并获取 Access Token:https://www.popai.pro/popai-skill
  2. 用户提供令牌后,将其设置到环境变量中:export POPAI_ACCESS_TOKEN=<token>

提示:你可以将密钥保存在 TOOLS.md 中,以便日后使用。

脚本

  • generate_ppt.py - 通过 PopAI API 生成 PPT(上传文件 → 创建频道 → SSE 流 → 获取 pptx);也支持通过 --channel-id 进行多轮修改

使用示例

# Generate PPT from topic only
python3 generate_ppt.py --query "AI Development Trends Report"

# With reference files (max 5)
python3 generate_ppt.py --query "Tesla Earnings PPT" --file data.pdf chart.png

# With a PPT template file (applied as layout template)
python3 generate_ppt.py --query "Tesla Annual Report" --tpl template.pptx

# With both template and reference files
python3 generate_ppt.py --query "Tesla Annual Report" --tpl template.pptx --file data.pdf chart.png

# Multi-round modification: modify an existing PPT (template cannot be changed)
python3 generate_ppt.py --channel-id "CHANNEL_ID" --query "Add a competitive analysis slide and make the color scheme blue"

# With URLs as reference material (included in query)
python3 generate_ppt.py --query "Create a PPT summarizing this article: https://example.com/report.html"

# Multi-round modification with additional reference files
python3 generate_ppt.py --channel-id "CHANNEL_ID" --query "Update the financial data with this new report" --file new_data.pdf

Agent 步骤

初次生成
  1. 获取用户提供的 PPT 主题
  2. 如果用户提供了参考资料:
    • 本地文件:通过 --file(最多 5 个)和/或 --tpl(用于设置布局的 PPT 模板)传入
    • URL:直接将其加入 --query 文本中 — API 会自动获取并处理
  3. 运行脚本(超时:1200000):
    python3 generate_ppt.py --query "TOPIC" [--file FILE1 FILE2 ...] [--tpl TEMPLATE.pptx]
    
    告知用户:“正在生成 PPT,预计需要 5 分钟……”
  4. 脚本运行期间,监控 stdout JSON 行,并实时向用户报告进度(例如任务状态更新、搜索操作、工具结果)
  5. 生成完成后,向用户展示最终结果:
    • 将 summary 文本(来自 NODE_END 事件)作为生成摘要展示
    • 将 pptx_url 作为下载链接展示:“下载 PPT:<pptx_url>”
    • 将 web_url 作为网站链接展示:“在线查看/编辑:<web_url>”
  6. 如果用户要求直接获取 pptx 文件,请从 pptx_url 下载并交付给用户
  7. 保存 channel_id,其值来自 web_url(https://www.popai.pro/agentic-pptx/<channelId> 的最后一个路径段),以备后续修改
多轮修改

当用户想要修改或改进已生成的 PPT 时使用(例如“添加一张幻灯片”“更改标题”“使用更深的主题”)。

规则:

  • 必需:--channel-id(来自之前生成的 PPT)和 --query(修改指令)
  • 可选:使用 --file 为本次修改提供新的参考文件
  • 不支持:修改模式下会忽略 --tpl — 无法更改原始模板
  1. 确认之前生成时的 channel_id(从 web_url 中保存)
  2. 获取用户的修改指令
  3. 如果用户提供了其他参考文件,通过 --file 传入
  4. 运行脚本(超时:1200000):
    python3 generate_ppt.py --channel-id "CHANNEL_ID" --query "MODIFICATION_INSTRUCTION" [--file FILE1 ...]
    
    告知用户:“正在应用你的修改,预计需要 3-5 分钟……”
  5. 以与初次生成相同的方式解析并展示结果(新的 pptx_url 和 web_url)

输出

事件类型(stdout,每行一个 JSON):

{"type": "task", "id": "1", "content": "Search for Tesla latest earnings data", "status": "progressing"}
{"type": "search", "action": "Web Searching", "results": [{"title": "...", "url": "...", "snippet": "...", "date": "..."}]}
{"type": "tool_result", "event": "TOOL_CALLS-xxx", "action": "...", "result": "..."}
{"type": "summary", "text": "Tesla earnings PPT has been created..."}
{"type": "stream_end"}

最终结果(is_end: true):

{
  "type": "pptx_ready",
  "is_end": true,
  "pptx_url": "https://popai-file-boe.s3-accelerate.amazonaws.com/.../xxx.pptx",
  "file_name": "xxx.pptx",
  "preview_images": ["https://...0.jpeg"],
  "preview_count": xx,
  "web_url": "https://www.popai.pro/agentic-pptx/<channelId>"
}
  • pptx_url:.pptx 文件的下载链接
  • web_url:PopAI 网站链接,可用于在线查看和编辑
  • preview_images:生成的 PPT 按页截图(每张幻灯片对应一张图片)
  • preview_count:预览图片总数(即幻灯片数量)
  • summary:来自 NODE_END 事件的最终摘要文本,作为生成回顾展示给用户

支持

如有任何问题,请联系 [email protected]

技术说明

  • 流式传输:SSE 流;TOOL_CALLS-pptx 事件包含最终的 .pptx 下载 URL;last:true 表示流结束
  • 文件上传:通过 getPresignedPost 向 S3 发起预签名 POST,支持任意文件类型
  • 超时:生成通常需要约 5 分钟;
  • 频道 ID:可从 web_url 中提取——https://www.popai.pro/agentic-pptx/<channelId> 的最后一个路径段
  • 多轮生成:直接使用现有的 channel_id 调用 send_generate;不会传递 tpl_info(频道创建后模板固定)

评论

支持 Markdown