logo
0
0
WeChat Login

Slidev NPC Agent

CNB 平台上的 AI 演示文稿生成助手 — 基于自然语言需求,自动产出高质量的 Slidev 幻灯片源文件与 PDF 导出。


项目简介

本项目是一个部署在 CNB(Cloud Native Build) 平台的 NPC Agent,核心能力是根据用户在 Issue 或 PR 中的自然语言描述,自动生成结构完整、风格专业的 Slidev 演示文稿。Agent 通过 Docker 容器运行,内置 Slidev 技能库与 CLI 工具,可完成从内容生成、本地预览到 PDF 导出的全流程,并通过 PR 和 Issue 附件交付结果。

核心功能

  • 智能生成 — 根据主题、目标、受众、场景描述,自动规划幻灯片结构(封面→目录→核心内容→总结→Q&A),输出完整可用的 Slidev Markdown
  • 多场景适配 — 自动识别技术分享、产品汇报、培训课件、宣讲展示等场景,调整内容风格与表达方式
  • 实时预览 — 生成后提供在线预览链接,快速确认效果
  • PDF 导出 — 自动将幻灯片导出为 PDF,作为 Issue 附件交付
  • PR 交付 — 所有代码变更通过 Pull Request 提交,包含源文件、配置及变更说明
  • 多语言支持 — 默认中文输出,支持用户指定任意语言
  • 丰富的 Slidev 能力 — 支持代码高亮与动画、Mermaid/PlantUML 图表、LaTeX 公式、Monaco 编辑器、演讲者模式等全部 Slidev 特性

架构概览

用户 Issue/PR 评论 │ ▼ CNB 事件触发 (.cnb.yml) │ ▼ NPC Agent 容器启动 (Dockerfile 构建) │ ├─► cnb-skill: 平台交互(PR、Issue 操作) ├─► slidev skill: Slidev 语法与特性参考 │ ├─► 生成 Slidev Markdown ├─► slidev export → PDF └─► 提交 PR + 附件 Issue

快速开始

使用方式

在仓库的 Issue 或 PR 中 @NPC 并描述你的幻灯片需求

示例:

@npc 请帮我生成一份关于"微服务架构最佳实践"的幻灯片,面向后端开发者,技术会议场景

更详细的示例:

@npc 为我制作一个 20 页的培训课件,主题是"Kubernetes 入门实战",受众是刚接触容器技术的运维工程师,需要包含架构图和代码示例

安装与部署

部署步骤

  1. Fork 或导入本仓库到你的 CNB 账号下

  2. 确认流水线配置.cnb.yml)已就绪:

    • main.push — Docker 镜像构建与推送
    • issue.comment@npc / pull_request.comment@npc — NPC 任务触发
  3. 触发镜像构建 — 推送代码到 main 分支,CNB 自动执行 Docker Build & Push

  4. 开始使用 — 在 Issue 或 PR 中 @NPC 即可触发幻灯片生成

配置说明

Docker 构建配置 — Dockerfile

基于 node:22-bookworm-slim,安装以下工具链:

  • 系统依赖ca-certificates, git, curl, jq
  • CNB CLI@cnbcool/cnb-cli + skills + cnb-skill
  • Slidev 工具链slidev skill + @slidev/cli + @slidev/theme-default

Slidev 技能库 — skills/slidev/

内置完整的 Slidev 技能参考文档,供 Agent 生成内容时查询:

路径说明
SKILL.md主技能文件:快速入门、核心参考表、特性索引
references/core-*.md核心文档:语法、动画、Headmatter/Frontmatter、CLI、组件、布局、导出、部署
references/code-*.md代码特性:行高亮、行号、Monaco 编辑器、Magic Move、Twoslash 等
references/diagram-*.md图表支持:Mermaid、PlantUML、LaTeX
references/layout-*.md布局与样式:画布、缩放、拖拽、全局层、作用域 CSS
references/animation-*.md动画交互:点击动画、绘图模式、粗糙标记
references/build-*.md构建与导出:PDF、OG Image、SEO、远程资源缓存
references/presenter-*.md演讲者功能:录制、计时、远程控制

项目结构

. ├── .cnb/ │ ├── settings.yml # NPC 角色配置(人设、行为模式、输出规范) │ └── slidev.png # NPC 头像 ├── .cnb.yml # CI/CD 流水线 + NPC 触发事件 ├── Dockerfile # 运行环境与工具链安装 ├── skills/ │ ├── GENERATION.md # 技能库生成与同步说明 │ └── slidev/ │ ├── SKILL.md # Slidev 主技能文件 │ ├── README.md # 技能库说明 │ └── references/ # 详细特性参考文档(50+ 文件) └── README.md # 本文件

贡献指南

欢迎对本项目进行改进!请遵循以下流程:

  1. Fork 本仓库并创建功能分支(feat/xxxfix/xxx
  2. 提交变更,确保:
    • Dockerfile 变更可正常构建
    • settings.yml 变更符合 YAML 语法且配置项完整
    • skills/ 变更遵循 GENERATION.md 中的同步规范
  3. 创建 Pull Request,描述清楚变更内容与原因
  4. 代码审查通过后合并

技能库更新

当 Slidev 上游文档更新时,参照 skills/GENERATION.md 中的增量同步流程:

  1. 对比文档差异:git diff <last_sha>..HEAD -- docs/
  2. 识别变更类型(新增 / 修改 / 废弃)
  3. 更新 SKILL.mdreferences/ 下对应文件
  4. 更新 GENERATION.md 中的 SHA 和版本号

许可证

MIT License

About

人类高质量演示胶片生成工具,做完你的做你的。

Language
Dockerfile100%