AIPPT生成
/install ai-ppt
\r \r
PPT Generator\r
\r
⚠️ 重要:交互式流程说明\r
\r 这是一个交互式流程,不是自动化脚本!\r \r 在以下关键步骤必须停止执行,等待用户确认:\r \r
- Step 4: 大纲确认 - 展示大纲后必须停止,等待用户回复"1"或"2"\r
- Step 8: 选择模版 - 展示模版列表后必须停止,等待用户输入模版编号\r \r 禁止行为:\r
- ❌ 不要自动选择大纲确认选项\r
- ❌ 不要自动选择模版\r
- ❌ 不要在用户回复前继续下一步\r \r 正确做法:\r
- ✅ 展示内容后立即停止\r
- ✅ 明确告诉用户需要回复什么\r
- ✅ 等待用户回复后再继续\r \r ---\r \r
Overview\r
\r
通过调用统一API接口实现PPT的自动化生成。完整流程包括:主题输入 → 大纲生成 → 大纲确认/修改 → 模板选择 → PPT生成 → 文件交付。\r
\r
统一接口地址: https://ai.mingyangtek.com/aippt/api/c=15109\r
\r
重要说明:\r
- 所有操作使用同一个URL\r
- 通过请求参数区分不同操作\r
- 使用POST方法\r \r ---\r \r
Complete Workflow\r
\r
Step 1: 用户输入主题\r
\r 当用户请求生成PPT时,首先确认主题:\r
用户: 帮我生成一个年终总结PPT\r
用户: 制作一个水浒传赏析的幻灯片\r
用户: 创建一个产品发布演示文稿\r
```\r
\r
**操作**:\r
1. 从消息上下文中提取用户信息:`sender_id`, `sender`, `chat_id`, `channel`\r
2. 确认PPT主题(如果用户未明确说明)\r
\r
### Step 2: 生成大纲\r
\r
调用统一接口生成大纲:\r
\r
**Request**:\r
```http\r
POST http://ai.mingyangtek.com/aippt/api/c=15109 HTTP/1.1\r
Content-Type: application/json\r
X-Userid: {sender_id}\r
X-Sender: {sender}\r
X-Chatid: {chat_id}\r
X-Channel: {channel}\r
\r
{\r
"mainIdea": "年终总结"\r
}\r
```\r
\r
**参数说明**:\r
- `mainIdea`: PPT主题/主要想法(必需)\r
\r
**Response** (示例):\r
```json\r
{\r
"code": 200,\r
"message": "SUCCESS",\r
"data": {\r
"id": "9f247d90c8044b10b46dc536bdd724e8",\r
"mainIdea": "年终总结",\r
"markdown": "# 年终总结\
## 工作回顾\
...",\r
"outLineTree": "{...}"\r
}\r
}\r
```\r
\r
**重要字段说明**:\r
- `code`: 状态码,200表示成功\r
- `message`: 消息,SUCCESS表示成功\r
- `data.id`: 大纲唯一标识(用于后续操作)\r
- `data.mainIdea`: PPT主题\r
- `data.markdown`: Markdown格式的内容\r
- `data.outLineTree`: JSON字符串格式的大纲树结构,需要解析使用\r
\r
### Step 3: 大纲渲染展示\r
\r
根据不同渠道,选择不同的渲染方式:\r
\r
| 渠道 | 推荐格式 | 原因 | 说明 |\r
|------|---------|---------|------|\r
| wecom/feishu | emoji | 支持emoji,用户体验好 | 用emoji增强可读性 |\r
| telegram/discord | markdown | 支持markdown,格式清晰 | 使用标题和列表 |\r
| slack | simple | 不支持复杂格式 | 使用纯文本编号 |\r
\r
**格式化函数调用**:\r
```python\r
from scripts.ppt_api import format_outline\r
\r
# 根据渠道自动选择格式\r
channel = "wecom"\r
if channel in ["telegram", "discord"]:\r
style = "markdown"\r
elif channel == "slack":\r
style = "simple"\r
else:\r
style = "emoji"\r
\r
formatted_outline = format_outline(result, style=style)\r
print(formatted_outline)\r
```\r
\r
### Step 4: 大纲确认\r
\r
**⚠️ 重要:必须等待用户确认!展示大纲后必须停止执行,等待用户回复。**\r
\r
展示大纲后,询问用户是否需要修改:\r
\r
**选项**:\r
1. **不修改** - 使用当前大纲\r
2. **修改大纲** - 调整内容\r
\r
**必须的操作**:\r
1. 展示完整大纲内容\r
2. **停止执行,等待用户回复"1"或"2"**\r
3. **不要自动选择,不要继续下一步**\r
4. 根据用户回复执行对应操作\r
\r
**用户回复**:\r
- 用户回复 "1" → 确认大纲,继续下一步\r
- 用户回复 "2" → 进入大纲修改流程\r
\r
### Step 5: 大纲修改(可选)\r
\r
如果用户选择修改大纲,调用编辑大纲接口:\r
\r
**Request**:\r
```http\r
POST https://ai.mingyangtek.com/aippt/api/c=15110 HTTP/1.1\r
Content-Type: application/json\r
X-Userid: {sender_id}\r
X-Sender: {sender}\r
X-Chatid: {chat_id}\r
X-Channel: {channel}\r
\r
{\r
"outlineId": "9f247d90c8044b10b46dc536bdd724e8",\r
"markDownStr": "# 年终总结\
## 修改后的内容\
...",\r
"userId": "{sender_id}"\r
}\r
```\r
\r
**参数说明**:\r
- `outlineId`: 大纲ID(必需)\r
- `markDownStr`: Markdown格式的完整大纲内容(必需)\r
- `userId`: 用户ID(必需)\r
\r
**Response** (示例):\r
```json\r
{\r
"code": 200,\r
"message": "SUCCESS",\r
"data": {\r
"id": "9f247d90c8044b10b46dc536bdd724e8",\r
"mainIdea": "年终总结",\r
"markdown": "# 年终总结\
## 修改后的内容\
..."\r
}\r
}\r
```\r
\r
### Step 6: 智能标签推荐\r
\r
根据PPT主题推荐合适的标签:\r
\r
```python\r
from scripts.ppt_api import recommend_tags\r
\r
tags = recommend_tags("年终总结")\r
# 返回: {"style_tags": ["商务风"], "color_tags": ["蓝色"]}\r
\r
tags = recommend_tags("春天")\r
# 返回: {"style_tags": ["中国风"], "color_tags": ["绿色"]}\r
```\r
\r
**标签范围**:\r
- 风格标签:简约风、小清新、商务风、中国风、可爱卡通、科技风、手绘风格、欧美风、党政风、黑板风\r
- 颜色标签:蓝色、红色、粉色、黄色、绿色、橙色、黑色、白色、灰色、紫色\r
\r
### Step 7: 查询模版列表\r
\r
**Request**:\r
```http\r
POST https://ai.mingyangtek.com/aippt/api/c=15111 HTTP/1.1\r
Content-Type: application/json\r
X-Userid: {sender_id}\r
X-Sender: {sender}\r
X-Chatid: {chat_id}\r
X-Channel: {channel}\r
\r
{\r
"keywords": ["商务风", "蓝色"],\r
"userId": "{sender_id}"\r
}\r
```\r
\r
**参数说明**:\r
- `keywords`: 标签数组(必需)- 可以传多个标签\r
- `userId`: 用户ID(必需)\r
\r
**Response** (示例):\r
```json\r
{\r
"code": 200,\r
"message": "SUCCESS",\r
"data": [\r
{\r
"templateId": 39,\r
"fileName": "简约蓝色商务汇报PPT模版.pptx",\r
"preview": "https://aipptx.oss-cn-shanghai.aliyuncs.com/templates/39/view_xxx.pptx"\r
}\r
]\r
}\r
```\r
\r
**模版列表展示**:\r
```python\r
from scripts.ppt_api import format_templates\r
\r
# 格式化模版列表(简单列表格式,不显示ID和预览)\r
formatted = format_templates(templates, channel="wecom")\r
# 输出:\r
# 找到 5 个模版:\r
#\r
# 1. 简约蓝色商务汇报PPT模版.pptx\r
# 2. 绿色简约校园通用PPT.pptx\r
# ...\r
#\r
# 请选择模版编号(1-5):\r
```\r
\r
### Step 8: 选择模版\r
\r
**⚠️ 重要:必须等待用户选择!展示模版列表后必须停止执行,等待用户输入模版编号。**\r
\r
展示模版列表后,询问用户选择模版:\r
\r
**必须的操作**:\r
1. 展示模版列表(使用format_templates函数)\r
2. **停止执行,等待用户输入模版编号(如"1"、"2"等)**\r
3. **不要自动选择模版,不要继续下一步**\r
4. 根据用户输入的编号,提取对应的templateId\r
\r
**用户选择模版编号后**,提取对应的 templateId:\r
\r
```python\r
# 用户选择编号 1\r
selected_template_id = templates[0]['templateId'] # 39\r
```\r
\r
### Step 9: 提交PPT任务\r
\r
**Request**:\r
```http\r
POST https://ai.mingyangtek.com/aippt/api/c=15112 HTTP/1.1\r
Content-Type: application/json\r
X-Userid: {sender_id}\r
X-Sender: {sender}\r
X-Chatid: {chat_id}\r
X-Channel: {channel}\r
\r
{\r
"templateId": 39,\r
"outlineId": "9f247d90c8044b10b46dc536bdd724e8",\r
"reporter": "贾俊豪"\r
}\r
```\r
\r
**参数说明**:\r
- `templateId`: 模版ID(必需)- 数字类型\r
- `outlineId`: 大纲ID(必需)\r
- `reporter`: 汇报人/作者名称(可选)\r
\r
**Response** (示例):\r
```json\r
{\r
"code": 200,\r
"message": "SUCCESS",\r
"data": {\r
"id": 2086770\r
}\r
}\r
```\r
\r
**重要**:返回的是 `id` 字段(数字类型),不是 `taskId`\r
\r
### Step 10: 查询PPT生成结果\r
\r
PPT生成是异步的,需要轮询查询状态:\r
\r
**Request**:\r
```http\r
POST https://ai.mingyangtek.com/aippt/api/c=15113 HTTP/1.1\r
Content-Type: application/json\r
X-Userid: {sender_id}\r
X-Sender: {sender}\r
X-Chatid: {chat_id}\r
X-Channel: {channel}\r
\r
{\r
"pptId": 2086770,\r
"userId": "{sender_id}"\r
}\r
```\r
\r
**参数说明**:\r
- `pptId`: PPT任务ID(必需)- 数字类型\r
- `userId`: 用户ID(必需)\r
\r
**Response - 生成中**:\r
```json\r
{\r
"code": 200,\r
"message": "SUCCESS",\r
"data": {\r
"id": 2086770,\r
"status": 0,\r
"fileurl": null\r
}\r
}\r
```\r
\r
**Response - 生成完成**:\r
```json\r
{\r
"code": 200,\r
"message": "SUCCESS",\r
"data": {\r
"id": 2086770,\r
"status": 1,\r
"fileurl": "https://aipptx.oss-cn-shanghai.aliyuncs.com/worksdate/xxx.pptx"\r
}\r
}\r
```\r
\r
**状态说明**:\r
- `status=0`: 生成中\r
- `status=1`: 生成完成\r
\r
**轮询策略**:\r
```python\r
# 使用 wait_for_ppt 函数自动轮询\r
result = client.wait_for_ppt(ppt_id, max_attempts=60, interval=5)\r
# 每5秒查询一次,最多查询60次(约5分钟)\r
```\r
\r
### Step 11: 交付PPT文件\r
\r
**格式化输出**:\r
```python\r
from scripts.ppt_api import format_ppt_result\r
\r
# 格式化PPT生成结果(包含推广文案)\r
output = format_ppt_result(\r
theme="年终总结",\r
ppt_id="2086770",\r
download_url="https://aipptx.oss-cn-shanghai.aliyuncs.com/worksdate/xxx.pptx",\r
channel="wecom"\r
)\r
\r
print(output)\r
```\r
\r
**输出格式**:\r
```markdown\r
## ✅ PPT生成成功!\r
\r
### 📋 生成信息:\r
\r
- **主题**: 年终总结\r
- **PPT ID**: `2086770`\r
\r
---\r
\r
### 📥 PPT下载链接:\r
\r
```\r
https://aipptx.oss-cn-shanghai.aliyuncs.com/worksdate/xxx.pptx\r
```\r
\r
**点击链接即可下载PPT文件!**\r
\r
---\r
\r
## 🎉 PPT生成完成!\r
\r
---\r
\r
**本功能由名阳信息技术有限公司提供** \r
如需使用完整功能,请下载APP应用或访问网站:\r
- 📱 APP:各大应用商店搜索"mindppt"\r
- 🌐 网站:https://mindppt.net\r
```\r
---\r
\r
## User Information Passing\r
\r
所有API调用都需要携带用户信息:\r
\r
### Header字段\r
`http\r
X-Userid: {user_id} # 用户唯一标识(必需)\r
X-Sender: {sender} # 用户名称\r
X-Chatid: {chat_id} # 会话ID\r
X-Channel: {channel} # 渠道(wecom/feishu/telegram等)\r
`\r
\r
### 获取方式\r
从消息上下文中获取:\r
- sender_id - 从消息上下文获取\r
- sender - 从 Sender.label 获取\r
- chat_id - 从 inbound_meta.chat_id 获取\r
- channel - 从 inbound_meta.channel 获取\r
\r
---\r
\r
## Error Handling\r
\r
### 常见错误\r
\r
1. **网络连接失败** - 检查网络连通性\r
2. **请求频率超限(429)** - 等待后重试\r
3. **资源不存在(404)** - 检查ID是否正确\r
4. **服务器错误(5xx)** - 等待后重试\r
\r
---\r
\r
## References\r
\r
- API接口文档:\r
eferences/api-endpoints.md\r
- Python客户端:scripts/ppt_api.py\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install ai-ppt - After installation, invoke the skill by name or use
/ai-ppt - Provide required inputs per the skill's parameter spec and get structured output
What is AIPPT生成?
PPT自动生成工具,通过调用外部接口实现从主题到完整PPT文件的自动化生成流程。支持大纲生成、大纲修改、模板选择、PPT生成等完整流程。当用户要求生成PPT、制作幻灯片、创建演示文稿、年终总结PPT、项目汇报PPT时使用此skill。 It is an AI Agent Skill for Claude Code / OpenClaw, with 217 downloads so far.
How do I install AIPPT生成?
Run "/install ai-ppt" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is AIPPT生成 free?
Yes, AIPPT生成 is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does AIPPT生成 support?
AIPPT生成 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created AIPPT生成?
It is built and maintained by luych888-design (@luych888-design); the current version is v1.0.4.