360 Secure SkillHub
360 安全技能中心

课件帮 Aippt

根据用户主题,先由本地大模型生成并确认 PPT 大纲,再从平台主题列表中挑选模板,写入参数文件后调用课件帮接口创建生成任务,随后定期轮询进度,最终给出在线查看链接;需配置平台凭证并联网。

good0007
good0007
热度 77.64
最近更新 2026-10-14 17:08:17
分类:创作依赖:代码执行 / 读写文件 / 第三方 API / 内部调用大模型应用场景:演示设计 / 报告撰写 / 模板 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add kejian365-aippt
Metadata
name
kejian365-aippt
description
Generate professional PPT presentations using the 课件帮 (Kejian365) AI platform. Handles the full pipeline: outline generation, theme selection, AI content creation, and layout design. Ideal for business reports, product pitches, academic presentations, and training materials. Trigger when the user says: make me a PPT, generate a presentation, create slides, 帮我做PPT, 生成PPT, 制作幻灯片, 课件帮生成, or any request to produce a PowerPoint or slide deck using 课件帮.

课件帮 AIPPT — 一句话生成专业 PPT

接入「课件帮」AI 平台,全流程自动完成 PPT 生成:大纲确认 → 模板匹配 → 智能生成 → 交付链接,无需手动操作任何 API。

适用场景

场景 示例
商务汇报 季度总结、战略分析
产品介绍 融资 Pitch、新品发布
学术演示 研究报告、毕业答辩
培训课件 员工培训、技能分享

前提条件

需要环境变量:

KEJIAN365_AUTH_TOKEN=<Your_Token_Here>

密钥获取:https://kejian365.com/oapi-portal

使用方式

直接说:「帮我做一个关于 XX 的 PPT」即可启动。


Execution Checklist

Run through these steps in order. Track completion in context — never repeat a completed step.

[ ] Step 1  Gather requirements from user
[ ] Step 2  Generate outline (local LLM) → show to user → confirm
[ ] Step 3  run list_themes.py → pick theme → tell user
[ ] Step 4  Write params.json + run script (creates task ONCE on success)
[ ] Step 5  Re-run script every 30s to poll until terminal state
[ ] Step 6  Report final result

Hard rules:

  • NEVER call POST /skill/task/create directly — always use the script
  • NEVER change --work-dir for the same task (causes duplicates)
  • NEVER show ppt_id, work_dir, file paths, or raw URLs to the user

Script idempotency:

task_state.json status Script behaviour
Missing / CREATE_FAILED Calls create API (or retries)
PENDING / RUNNING Polls only, never creates again
DONE Returns success immediately
GENERATION_FAILED Returns failure; delete state file to retry

Step 1 — Gather Requirements

Ask in one message:

好的!请告诉我:

  1. PPT 的主题是什么?
  2. 有什么特别要求吗?(受众、风格、页数、语言等,没有就跳过)

Extract:

Parameter Default
topic required
settingPages "智能决策" → "精简" ~10p / "标准" ~20p / "长篇" ~30p
settingLanguage "中文"
settingAudience "智能决策"
illustrationMode "standard" ("pro" = premium)

Step 2 — Generate Outline

Generate locally (no API). Then show the outline to the user and wait for confirmation:

已为您生成以下大纲,共 {N} 页:

  1. 封面 — {title}
  2. 目录 — {title} …(逐页列出)

满意的话我来继续选模板;如需调整请告诉我。

Outline format (OutlineModel):

  • pages[].pageNumber sequential from 1, no gaps
  • Page 1 = 封面, last = 结束, at least 1 内容
  • Add 目录 when ≥ 6 pages; 章节 + its 内容 pages share chapterNumber
  • main_title: PPT 主标题(可与 topic 相同或更精炼)
  • narrative: 全局叙事策略,指导每页内容基调(可留空 {})
{
  "main_title": "主标题",
  "narrative": {
    "objective": "受众沟通目的",
    "core_message": "核心信息",
    "mode": "教学式",
    "mode_behavior": "内容推进逻辑",
    "reading_mode": "均衡阅读"
  },
  "pages": [
    { "pageNumber": 1, "pageType": "封面", "title": "主标题", "content": "" },
    { "pageNumber": 2, "pageType": "目录", "title": "目录", "content": "1. 概述\n2. 分析" },
    { "pageNumber": 3, "pageType": "章节", "title": "第一章", "content": "", "chapterNumber": "01" },
    { "pageNumber": 4, "pageType": "内容", "title": "内容页", "content": "...", "chapterNumber": "01" },
    { "pageNumber": 5, "pageType": "结束", "title": "谢谢", "content": "" }
  ]
}

Material (optional): also generate a short research summary to improve content quality and pass it as the material field.


Step 3 — Select Theme

Use the script — never call the API directly (raw JSON response is too large for context):

python kejian365-aippt/scripts/list_themes.py

Output per theme: THEME: theme_id|theme_name|style|scene

Reason over the full list, pick the theme_id that best fits the PPT topic, audience, and tone. Save it for Step 4 themeId.

Tell the user:

已为您选择「{theme_name}」模板({style} 风格 · {scene} 场景),即将开始生成…


Step 4 — Create Task

Work directory

Use a stable slug per topic — same task = same directory every time:

/mnt/user-data/workspace/{topic-slug}-ppt-tmp

params.json (UTF-8, no BOM, no \uXXXX escaping)

{
  "topic": "主题名称",
  "themeId": "theme_xxx",
  "outline": {
    "main_title": "主标题",
    "narrative": { "objective": "...", "core_message": "...", "mode": "教学式", "mode_behavior": "...", "reading_mode": "均衡阅读" },
    "pages": [ ... ]
  },
  "authToken": "<credential>",
  "requirements": "用户的特别要求",
  "material": "# 研究摘要\n...",
  "themeConfig": {
    "settingPages": "标准",
    "settingLanguage": "中文",
    "settingAudience": "智能决策",
    "contentDepth": "智能生成",
    "illustration": "智能配图",
    "sourceMode": "智能参考"
  },
  "illustrationMode": "standard"
}

Run script

python kejian365-aippt/scripts/create_ppt_task.py \
  --params-file {work-dir}/params.json \
  --work-dir    {work-dir}

On SUBMITTED:, parse 查看链接: from stdout and say:

🎉 PPT 任务已创建成功! 主题:「{topic}」,模板:「{theme_name}」 生成大约需要 5–15 分钟,可以先点这里预览(生成完成前内容可能为空)。 我会每隔 30 秒自动查询进度,请稍候。


Step 5 — Poll Progress

Re-run every 30s (omit --params-file after first run):

python kejian365-aippt/scripts/create_ppt_task.py \
  --work-dir {work-dir}
Exit First line Action
0 SUBMITTED: Poll again in 30s
0 DONE: → Step 6
2 PENDING: Report progress, poll again in 30s
1 FAILED: → Error handling

When pending, parse 进度: and 查看链接: and say:

正在生成中,已完成 {N}/{total} 页,完成后可在这里查看。


Step 6 — Report Result

Success (DONE:)

Parse 主题: / 页数: / 查看链接: and say:

🎉 「{topic}」的 PPT 已生成完成,共 {N} 页! 点击这里查看您的 PPT

Provide raw URL only if the user explicitly asks.

Failure (FAILED:)

stdout keyword Say to user
余额不足 账户余额不足,充值后告诉我,我来帮您重新生成。
鉴权 / 401 / 缺少账号凭证 未检测到有效密钥,请配置环境变量: KEJIAN365_AUTH_TOKEN=your_token,密钥可到课件帮开放平台获取。
anything else 生成时遇到了问题,要重新试一次吗?

Lines starting with [INTERNAL] are for the agent only — never show to user. Delete task_state.json silently to retry.


Appendix — API Reference

api-reference.md