Files
remoteconn-gitea/skills/ai-ppt-generator-1.1.4/SKILL.md
2026-03-21 18:57:10 +08:00

85 lines
3.2 KiB
Markdown

---
name: ai-ppt-generator
description: Generate PPT with Baidu AI. Smart template selection based on content.
metadata: { "openclaw": { "emoji": "📑", "requires": { "bins": ["python3"], "env":["BAIDU_API_KEY"]},"primaryEnv":"BAIDU_API_KEY" } }
---
# AI PPT Generator
Generate PPT using Baidu AI with intelligent template selection.
## Smart Workflow
1. **User provides PPT topic**
2. **Agent asks**: "Want to choose a template style?"
3. **If yes** → Show styles from `ppt_theme_list.py` → User picks → Use `generate_ppt.py` with chosen `tpl_id` and real `style_id`
4. **If no** → Use `random_ppt_theme.py` (auto-selects appropriate template based on topic content)
## Intelligent Template Selection
`random_ppt_theme.py` analyzes the topic and suggests appropriate template:
- **Business topics** → 企业商务 style
- **Technology topics** → 未来科技 style
- **Education topics** → 卡通手绘 style
- **Creative topics** → 创意趣味 style
- **Cultural topics** → 中国风 or 文化艺术 style
- **Year-end reports** → 年终总结 style
- **Minimalist design** → 扁平简约 style
- **Artistic content** → 文艺清新 style
## Scripts
- `scripts/ppt_theme_list.py` - List all available templates with style_id and tpl_id
- `scripts/random_ppt_theme.py` - Smart template selection + generate PPT
- `scripts/generate_ppt.py` - Generate PPT with specific template (uses real style_id and tpl_id from API)
## Key Features
- **Smart categorization**: Analyzes topic content to suggest appropriate style
- **Fallback logic**: If template not found, automatically uses random selection
- **Complete parameters**: Properly passes both style_id and tpl_id to API
## Usage Examples
```bash
# List all templates with IDs
python3 scripts/ppt_theme_list.py
# Smart automatic selection (recommended for most users)
python3 scripts/random_ppt_theme.py --query "人工智能发展趋势报告"
# Specific template with proper style_id
python3 scripts/generate_ppt.py --query "儿童英语课件" --tpl_id 106
# Specific template with auto-suggested category
python3 scripts/random_ppt_theme.py --query "企业年度总结" --category "企业商务"
```
## Agent Steps
1. Get PPT topic from user
2. Ask: "Want to choose a template style?"
3. **If user says YES**:
- Run `ppt_theme_list.py` to show available templates
- User selects a template (note the tpl_id)
- Run `generate_ppt.py --query "TOPIC" --tpl_id ID`
4. **If user says NO**:
- Run `random_ppt_theme.py --query "TOPIC"`
- Script will auto-select appropriate template based on topic
5. Set timeout to 300 seconds (PPT generation takes 2-5 minutes)
6. Monitor output, wait for `is_end: true` to get final PPT URL
## Output Examples
**During generation:**
```json
{"status": "PPT生成中", "run_time": 45}
```
**Final result:**
```json
{
"status": "PPT导出结束",
"is_end": true,
"data": {"ppt_url": "https://image0.bj.bcebos.com/...ppt"}
}
```
## Technical Notes
- **API integration**: Fetches real style_id from Baidu API for each template
- **Error handling**: If template not found, falls back to random selection
- **Timeout**: Generation takes 2-5 minutes, set sufficient timeout
- **Streaming**: Uses streaming API, wait for `is_end: true` before considering complete