Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image to Editable PPT Skill

跨客户端的图片转可编辑 PowerPoint Skill。支持 Codex、WPS Comate,以及其他兼容 SKILL.md 的 Agent 环境。

它面向幻灯片截图、信息图、海报、界面截图和流程图等图片型参考,把文字、色块、线条、表格、图表和连接关系尽量重建为可编辑 PowerPoint 对象,同时保留原图的版式结构、层级、对齐、间距、配色、文字层级和阅读顺序。

为什么是跨客户端 Skill

这个项目把能力分成两层:

  • 平台无关层:结构还原、对象分类、坐标映射、文本保真、局部图片降级和验收标准。
  • 运行时适配层:根据当前客户端选择可用的 PPTX 生成与渲染工具。

同一份 SKILL.md 不绑定单一厂商:

客户端 优先执行引擎 说明
OpenAI Codex Presentations + artifact-tool 使用原生可编辑对象、渲染与版面检查
WPS Comate 本机 PPT Skill + PptxGenJS / WPS 演示能力 使用标准 .pptx 对象并通过 WPS 环境检查
其他兼容 Agent PptxGenJS 或客户端原生 PPTX 工具 必须满足可编辑对象与渲染验收能力

WPS Comate 官方页面介绍了 Skill 技能生态;当前客户端支持在对话中调用 Skill,也支持通过上传 SKILL.md 创建技能。参见 WPS Comate 帮助中心WPS Comate 技能市场说明

核心原则

  • 一张源图对应一张幻灯片,并保持原始顺序。
  • 原图是唯一空间基准,不主动重新设计、美化、摘要、翻译或重排。
  • 可读文字必须重建为文本框。
  • 色块、边框、分隔线、箭头和简单图标优先使用原生形状。
  • 表格、图表、流程节点和连接线尽量保持独立可编辑。
  • 照片、截图、纹理、复杂插画和品牌标识可以作为局部图片保留。
  • 禁止把整张源图作为幻灯片背景来冒充可编辑 PPT。

适用场景

  • 将演示文稿截图恢复成可编辑 PPT
  • 将信息图或流程图重建为可编辑幻灯片
  • 根据图片还原 UI、表格、图表和版式结构
  • 将多张图片按顺序批量转换为 PPT
  • 在没有原始 PPTX 文件时恢复可修改的演示内容

可编辑性策略

图片内容 PPT 中的优先实现
标题、正文、标签、注释 可编辑文本框
背景色块、卡片、边框、分隔线 PowerPoint 原生形状
流程箭头和节点关系 可编辑连接线或路径
表格 原生表格或对齐的文本与形状
图表 原生图表或可编辑图形组件
照片、截图、复杂插画 保持原比例的局部图片
Logo、产品图标、品牌标识 原始素材或源图局部裁切

当某个区域无法可靠拆分时,Skill 只允许把该局部区域保留为图片,并在交付说明中标注原因和可编辑性限制。

安装包

Release 同时提供两种压缩包:

  • image-to-ppt-v0.3.2.zip:带 image-to-ppt/ 顶层目录,适合解压到 Agent 的 Skills 目录。
  • image-to-ppt-v0.3.2-wps-comate.zip:压缩包根目录直接包含 SKILL.md,适合 WPS Comate 上传创建 Skill。

在 Codex 中安装

从 GitHub 克隆

git clone https://github.com/ShiChen872/image-to-ppt-skill.git
mkdir -p ~/.codex/skills
cp -R image-to-ppt-skill/skills/image-to-ppt ~/.codex/skills/

从 Release 安装

unzip image-to-ppt-v0.3.2.zip -d ~/.codex/skills/

调用示例:

使用 $image-to-ppt,把这些图片按原来的结构重建成可编辑 PPT。

在 WPS Comate 中安装

推荐使用客户端的 Skill 创建/管理入口,上传:

image-to-ppt-v0.3.2-wps-comate.zip

上传完成后,可以在对话框输入 / 选择 image-to-ppt,或直接描述需求让 Comate 匹配该 Skill。

在当前 macOS 客户端中,也可以把 Skill 目录复制到本地自定义技能目录进行开发调试:

mkdir -p ~/.wpscomate/agent/skills/custom
cp -R skills/image-to-ppt ~/.wpscomate/agent/skills/custom/

本地目录属于客户端实现细节,未来版本可能调整;正式共享或跨设备使用时优先采用客户端上传方式。

调用示例:

/image-to-ppt
把这些图片依次重建成可编辑 PPT,保持原有结构、文字、颜色、对齐和阅读顺序,不要重新设计。

在其他 Agent 中安装

skills/image-to-ppt/ 完整复制到客户端支持的个人或项目级 Skills 目录。该环境还必须提供:

  • 原始分辨率图片检查能力
  • 可编辑 PPTX 生成引擎
  • 本地文件读写能力
  • PPTX 渲染或视觉检查能力
  • 字体检测或明确的字体替代策略

如果环境缺少图片检查或可编辑 PPTX 引擎,Skill 会报告能力缺口,而不会返回整页贴图的伪可编辑文件。

工作流程

  1. 预检当前客户端、PPTX 引擎、图片处理、渲染器、Python 依赖和字体。
  2. 按原始分辨率检查图片,并用 YAML 记录坐标、对象和局部图片降级。
  3. 批量裁切复杂区域,在棋盘格背景上检查残影、白底和相邻内容污染。
  4. 使用当前运行端可用的 PPTX 引擎重建可编辑对象。
  5. 自动生成并排图、透明叠加图、差异图和边缘差异图。
  6. 审计 PPTX 页数、文本、形状、媒体文件和整页图片风险。
  7. 通过结构保真、文字保真和可编辑性验收后导出标准 .pptx

v0.3.2 可执行工具链

新版增加四个可跨客户端复用的脚本:

脚本 作用
preflight_runtime.py 检查客户端、PPTX 生成引擎、渲染器、字体及依赖,不修改共享运行时
extract_regions.py 根据 YAML 批量裁切局部图片并清理连通背景
compare_render.py 生成并排、叠加、差异、边缘差异与诊断指标
audit_pptx.py 检查 OOXML 完整性、可编辑文本、媒体文件及整页扁平化

建议在任务目录创建独立环境,不要把依赖安装到客户端共享运行时:

python3 -m venv .venv
.venv/bin/pip install -r skills/image-to-ppt/requirements.txt

工具链示例:

.venv/bin/python skills/image-to-ppt/scripts/preflight_runtime.py --client auto
.venv/bin/python skills/image-to-ppt/scripts/extract_regions.py \
  --manifest reconstruction.yaml --output-dir assets/regions \
  --preview qa/regions.png --report qa/regions-report.json
.venv/bin/python skills/image-to-ppt/scripts/compare_render.py \
  --source source.png --render preview.png --output-dir qa
.venv/bin/python skills/image-to-ppt/scripts/audit_pptx.py \
  output/final.pptx --expected-slides 1 \
  --manifest reconstruction.yaml --regions-dir assets/regions \
  --regions-report qa/regions-report.json

v0.3.2 根据 WPS Comate 的进一步实测增加来源真实性检查:拒绝纯白或近似空白的代理源图;extract_regions.py 会记录源图和每个裁切文件的 SHA-256;审计器会核对裁切来源报告,阻止模型把自行绘制的 PNG 冒充源图裁切;比较工具也会拒绝使用空白源图生成无意义指标。v0.3.1 的文字遮挡、完整文本、坐标、媒体及清单检查继续保留。

验收标准

在 1280 × 720 等效分辨率下,Skill 使用以下目标进行检查:

  • 主要区域边缘目标偏差不超过 4 px
  • 重复对齐线目标偏差不超过 2 px
  • 主要对象尺寸目标偏差不超过 1%
  • 文字块和基线目标偏差不超过 3 px
  • 图片不允许拉伸,裁切必须保持原始视觉焦点
  • 可读文字不得烘焙进整页图片
  • 任何局部图片降级必须记录在交付说明中

这些数值是检查目标;如果肉眼可见的偏差改变了原始结构,即使没有超过阈值也必须修正。

已知限制

  • 图片模糊或文字不可辨认时,Skill 不会猜测缺失内容。
  • 系统缺少原字体时,会使用最接近的已安装字体并说明替换关系。
  • 复杂纹理、照片、品牌资产或无法可靠分解的插画可能保留为局部图片。
  • 只有截图而没有原始数据时,图表会根据可见证据重建,不会虚构隐藏数据。
  • PowerPoint 不支持同一文件内使用不同幻灯片尺寸;混合比例图片会采用统一画布并使用最小留边。
  • 不同客户端的渲染器可能产生细微字体和阴影差异,交付说明会记录残余差异。

项目结构

image-to-ppt-skill/
├── README.md
├── LICENSE
└── skills/
    └── image-to-ppt/
        ├── SKILL.md
        ├── requirements.txt
        ├── agents/
        │   └── openai.yaml
        ├── scripts/
        │   ├── audit_pptx.py
        │   ├── compare_render.py
        │   ├── extract_regions.py
        │   └── preflight_runtime.py
        └── references/
            ├── fidelity-and-editability.md
            ├── reconstruction-manifest.md
            └── runtime-adapters.md

agents/openai.yaml 为支持该元数据的客户端提供界面信息;不识别该文件的客户端可以忽略它。

校验

如果本机已有 Codex 的 skill-creator,可以运行:

python3 ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py \
  ./skills/image-to-ppt

预期结果:

Skill is valid!

WPS Comate 上传包的根目录必须直接包含 SKILL.md;Release 前会单独检查压缩包结构。

License

MIT License

About

Cross-client SKILL.md that reconstructs images as editable PowerPoint slides in Codex, WPS Comate, and other agents.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages