
AI 技能人工智能【免费下载链接】ppt-masterAI 把任意文档生成真正可编辑的 PowerPoint —— 原生形状与动画、演讲者备注可合成音频旁白、还能参考你自己的 .pptx 模板,而不是一张张图片 · 何雨果出品项目地址https://gitcode.com/hugohe3/ppt-master点击查看免费下载本文以 project.md 为主体骨架系统讲解 PPT Master一个「AI 将任意文档生成可编辑 PowerPoint」的开源 Skill的项目级工程化工具集如何用project_manager.py创建、填充、校验一个标准项目工作区如何用page-context做按页执行视图诊断如何借助workflow_transcript.py/workflow_log.py沉淀可追溯的冷审计日志以及如何通过pptx_template_import.py把参考 .pptx 变成可复用的模板工作区。读完本文你将掌握一条从零初始化项目、导入多类型素材、生成设计规范与执行锁、批量校验到最后导出 PPTX 的完整 CLI 实操路径并理解每一条命令背后的源码级设计约束。工具集全景项目生命周期的一站式入口scripts/顶层脚本是用户可直接运行的一等入口其中负责「项目」这一层面的工具集中记录在 docs/project.md它们共享同一个核心目标创建、校验、检视 PPT Master 标准工作区。从 scripts/README.md 的脚本索引可以看出这一组工具与转换source_to_md.py、SVG 管线finalize_svg.py、导出svg_to_pptx.py共同构成端到端链路而项目管理工具是这条链路的起点与质量闸门。围绕项目管理工作区最常使用的脚本与职能如下脚本职能实现位置project_manager.py项目初始化、素材导入、脚手架、校验、信息查询、按页上下文投影project_management/ 内部模块workflow_transcript.py自动记录项目级 Python 命令的审计日志workflow_transcript.pyworkflow_log.py手动追加一条重要审计事件workflow_log.pyproject_utils.py共享的项目解析与校验辅助函数project_utils.pybatch_validate.py批量健康检查多个项目batch_validate.pygenerate_examples_index.py重建示例项目 README 索引generate_examples_index.pypptx_template_import.py.pptx模板参考导入/create-template 入口pptx_template_import.pyerror_helper.py常见项目错误的标准化修复建议error_helper.pyproject_manager.py本身是一个极薄的 CLI 壳见 project_manager.py真正的实现位于 project_management/cli.py 的ProjectManager类与 project_management/paths.py 的路径常量中。入口在运行前还会调用attribution_guard.require_skill_integrity()与configure_utf8_stdio()确保 Skill 完整性检查与 UTF-8 终端输出。project_manager.py init创建标准项目工作区初始化命令的完整语法如下python3 scripts/project_manager.py init project_name [--format registered_format] python3 scripts/project_manager.py init project_name --format ppt169 --dir base_dir python3 scripts/project_manager.py init project_name --quick-generate命名规则与 --format 语义从 cli.py 的 init_project 实现约 L273 起可以拆解出三条核心规则不传--format目录名为name_YYYYMMDD例如my_presentation_20251116如果项目名本身已带有_YYYYMMDD后缀例如直接把既有项目目录名贴回init则原样使用不会二次追加日期。此时画布canvas推迟到创作阶段确定Default Generate 记录在spec_lock.mdQuick Generate 记录在第一张 SVG。传--format目录名为name_format_YYYYMMDD例如my_widescreen_ppt169_20251116别名会被归一化例如xhs会归一化为xiaohongshu。--format只接受已注册的画布 key只有当实际画布与注册格式精确匹配时才应传入。目录安全项目名必须是单一、非绝对路径的路径分量且最终目录必须落在基目录之内否则抛出ValueError目录已存在则抛出FileExistsError。init使用的画布注册表定义在 config.py 的CANVAS_FORMATS中project_utils.py 另有同名兜底副本。文档列出的常见格式及其精确尺寸如下格式 key名称尺寸viewBox宽高比典型用途ppt169PPT 16:91280×72016:9现代投影、线上演示ppt43PPT 4:31024×7684:3传统投影xiaohongshu小红书1242×16603:4知识分享、种草笔记moments朋友圈 / IG1080×10801:1社交方形图storyStory / TikTok1080×19209:16短视频封面、Storiesbanner横版 Banner1920×108016:9网页横幅、大屏a4A4 打印1240×1754√2:1打印文档、PDF 导出此外注册表中还有wechat900×383公众号头图因此完整的注册集合为 8 个。别名表CANVAS_FORMAT_ALIASES支持xhs → xiaohongshu、wechat_moment / wechat-moment / 朋友圈 → moments、小红书 → xiaohongshu。目录结构与 --quick-generate默认非 Quick模式下init会创建如下标准工作区目录mkdir(parentsTrue, exist_okTrue)并在项目根写入一份 README.md 说明每个目录的用途svg_output/原始 SVG 输出导出到 PPTX 的唯一路径来源svg_final/自包含的 SVG 视觉预览可手动作为 SVG 图片插入 PowerPoint但不支持 Convert-to-Shapeimages/运行时图片池转换器资源尽量保留原始短文件名icons/项目图标集icon_sync.py复制入库图标 自定义图标notes/演讲者备注templates/项目模板live_preview/浏览器预览运行时文件与历史lock.json、server.log、edits.jsonl、annotations.jsonlsources/源材料与归一化 Markdownanalysis/机器提取的中间分析PPTX intake、image_analysis.csvvalidation/冷审计日志、SVG 质量报告、PPTX 后检报告exports/最终原生 DrawingML pptx 交付物带时间戳backup/timestamp/svg_output/归档--quick-generate则只创建svg_output/和validation/workflow.log不写 README——这是 Quick Generate 简档的最小工作区形态见 cli.py 的 init 参数 L1229-L1236。初始化成功后 CLI 会追加一条Project initialized: profiledefault|quick; ...到工作流日志并打印下一步提示Default 简档为「放入源文件 → 撰写设计规范 → 生成 SVG」Quick 简档为「生成 SVG → 运行 Quick 校验与导出」。import-sources导入素材并自动归一化素材导入是项目填充的核心命令python3 scripts/project_manager.py import-sources project_path source1_or_dir [source2_or_dir ...] python3 scripts/project_manager.py import-sources project_path file.md --move python3 scripts/project_manager.py import-sources project_path file.md --copy python3 scripts/project_manager.py import-sources project_path template.pptx --no-image-propagation导入边界Import boundary文档开头的引用块定义了一条硬性边界move only sources already under the repositorysprojects/tree. Copy every other local path, even when--moveis supplied. Use--copyto preserve a projects-local source.即--move只对仓库projects/树下的源生效其余任何本地路径即使带了--move也一律复制。--move与--copy互斥同时传会抛ValueError。在 cli.py 的 import_sources约 L806 起中这一语义的完整展开是projects/下的文件默认移动进目标项目的sources/传--copy则原地保留。其他项目的树内文件inside_other_project通过标记文件如svg_output/design_spec.md/spec_lock.md/README.md判断默认复制除非显式传--move——这样借用某个已完成项目的切片不会把源项目搬空。projects/之外的文件/URL 永远复制进sources/--move被忽略。topic-research 配对移动projects/slug.md时其兄弟目录projects/slug_web_sources/会一并带走落到analysis/research_web_sources/。目录输入非递归展开为其中的文件列表若某个projects/下的源目录在导入后完全变空则该目录被移除--copy时绝不删除目录projects/之外的目录永不触碰。按后缀类型的自动归一化import-sources对同一批次里的每个源按照后缀路由到不同处理路径这是理解导入行为的核心可对照 cli.py 中的后缀常量 L94-L102输入类型处理行为.md/.markdown/.txt直接归档到sources/Markdown 会先做内容归一化去 BOM、CRLF→LF、抹平 Crawled/Imported 时间戳行等并做等价内容去重避免重复导入位图.png/.jpg/.jpeg/.gif/.webp/.bmp/.tiff归档到sources/同时以防冲突短文件名复制一份到images/运行时图片池原名保留在sources/存档.pdf/.pptx/.xlsx/.docx等自动调用对应转换器生成同名stem.md归一化 Markdownpdf_to_md.py/ppt_to_md.py/excel_to_md.py/doc_to_md.py若已存在同名 Markdown 或同 stem 的显式 Markdown 源则跳过自动转换.csv/.tsv作为纯文本表格源归档无需转换旧版.xls仅归档并提示「请另存为 .xlsx」URL调用web_to_md.py抓取为 Markdown失败时归档.url.txt记录其他扩展名仅归档不自动转换Step 1 转换配合提示目录输入是非递归展开的。如果 Step 1 生成的 Markdown 就在原始源文件旁边只需传一次源文件/目录如果 Step 1 用-o把 Markdown 写到了别处则需同时传原始源路径/目录和 Markdown 输出路径/目录。图片传播与 --no-image-propagation默认情况下propagate_imagesTrue转换器产出的伴随图片资产及其image_manifest.json会从sources/复制并入运行时images/池manifest 按文件名合并去重并在条目上记录source_namespace。_propagate_image_assets会优先保留原始短文件名只有真实冲突才追加数字后缀。--no-image-propagation则把提取的伴随资产及其 Markdown 引用保留在sources/不复制、不合并到images/。文档明确Create Template 的项目级project scope参考导入必须使用该开关见 create-template.md 1A 节而 Generate 默认保留传播行为。该开关不清理此前已导入的图片显式传入的位图仍会进入images/。SVG/EMF/WMF 与 Office 矢量SVG/EMF/WMF 输入默认保持为源资产除非转换器 manifest 提供了展示元数据。从 DOCX/PPTX 中提取的 Office 内嵌矢量会作为一等图片资产落入images/并登记image_manifest.json从不转换为 PNG——因此浏览器预览一个 EMF/WMF 显示空白是预期行为。其导出行为见 svg-pipeline.md。PPTX 输入的多套牌增强PPTX 族输入在analysis/下自动富集见 cli.py 的 _import_pptx_intake L489-L503每套牌生成stem.identity.json与stem.slide_library.json并合并进共享的多套牌索引source_profile.jsondecks[]。同一 stem 重新导入会替换其在decks[]中的条目每个项目可同时拥有多个 PPTX 套牌条目。导入完成后 CLI 会打印分组的摘要Archived originals / Normalized markdown / Runtime image copies / Analysis artifacts / Notes / Skipped并以退出码0/1表示是否有可用素材导入成功。scaffold-spec / scaffold-lock确定性脚手架validate之前的两个可选手动辅助命令python3 scripts/project_manager.py scaffold-spec project_path # 生成 design_spec.md python3 scripts/project_manager.py scaffold-lock project_path # 生成 spec_lock.md它们的实现委托给 project_specs.py 的 scaffold_project_artifact从 scaffolds/design_spec.md 与 scaffolds/spec_lock.md 读取模板确定性替换{{PROJECT_NAME}}、{{CANVAS_NAME}}、{{CANVAS_DIMENSIONS}}、{{VIEWBOX}}、{{CREATED_DATE}}等项目/画布元数据。两个脚手架都带!-- ppt-master-schema: design-spec/v1 --或!-- ppt-master-schema: spec-lock/v1 --的版本标记。它们要求项目目录名带已注册格式据此确定画布元数据并且拒绝覆盖已存在的产物。设计规范脚手架按I. Project Information到X. Speaker Notes Requirements组织I包含目标受众、沟通意图、核心信息、阅读模式、生成模式、演讲者备注/自定义动画/旁白音频开关等IX. Content Outline要求每个 Slide 块含Audience move、Title、Core message、Content等字段X要求备注文件名与notes/下 SVG 文件名一一对应。执行锁脚手架则面向机器执行canvasviewBox/format、communicationprimary_language/audience/objective/core_message/consumption_mode、mode、visual_style、colors、typography、icons、page_rhythm按页、pptx_structure默认mode: flat以及forbidden禁用的 SVG 元素与写法。需要强调的是Normal Generate 的创作路径并不调用这两个 scaffold 命令——它读取 design_spec_reference.md 从零写完整design_spec.md再读 spec_lock_reference.md 写完整锁投影。脚手架只是可选的「手动辅助」。validate结构校验 双 Schema 语义校验python3 scripts/project_manager.py validate project_pathvalidate的职责分成三层cli.py 的 validate_project L1150 起结构校验validate_project_structure见 project_utils.py L599检查目录存在性、README缺失记为 warning、设计规范文件支持design_spec.md及若干中文/legacy 名称、svg_output/是否为空、SVG 命名是否符合^(slide_\d_\w|P?\d_.)\.svg$、目录名是否带_YYYYMMDD后缀。若存在设计规范还会运行沟通追踪校验validate_communication_trace要求spec_lock.md含## communication且具备audience/objective/core_message三个键design_spec.md含## IX. Content Outline且每个 Slide 块都含Audience move与Relationships行。规划产物 Schema 校验validate_project_artifacts见 project_specs.py对照 design_spec.schema.json 与 spec_lock.schema.json 解析现有 Markdown 产物报告缺失小节/字段、非法枚举、畸形页 key、未满足的条件式小节等。当出现可选的自定义引用列表时要求每个 id 都能解析到对应的 mode / visual-style / image-rendering 目录拒绝重复项也拒绝在非自定义选择上出现引用行在带版本标记的锁的## forbidden下每个非空、非基线列表项必须以(user)结尾。viewBox 一致性validate_svg_viewbox读取svg_output/中所有 SVG 的根viewBox与项目目录名编码的画布格式对比ppt169应为0 0 1280 720并检查全项目 viewBox 是否统一。validate是结构 lint而非语义保真证明它不会改写任一产物也不比较两者的文本相等性它不证明「最终确认 → Design Spec」保真也不证明「Design Spec/上下文 → 锁」语义保真——这两道闸门由 Generate Step 4 在结构校验之前负责。校验只读规划产物从不重新打开confirm_ui/result.json——最终结果在进入校验前已被一次性消费进 Design Spec。文档还明确划分了两种 schema 的角色design schema 是给人类可读 brief 的结构 lintlock schema 才拥有机器执行值。对于 structured 模板使用严格strict输入原型必须匹配其分配的 Master/Layout自适应adaptive输入原型保留其 Master而由 Strategist 新声明的输出 Layout 在生成的 SVG 存在后进行交叉校验。带版本标记的当前产物与可选脚手架携带 schema 标记无标记的 legacy 产物以警告降级走旧校验路径畸形或不支持的标记按错误处理。退出码语义有 errors 返回1validate会分别打印[ERROR]/[WARN]/[OK]三段输出。info与page-context检视项目与按页执行视图infopython3 scripts/project_manager.py info project_pathinfo复用project_utils.get_project_info解析目录名得到名称/格式/日期统计 SVG 数量、是否有设计规范、源材料数量等输出路径、存在性、SVG 文件数、设计规范、源材料数、画布格式与创建日期。page-context按需只读的当前页投影page-context将design_spec.md与spec_lock.md投影为一个紧凑的当前页执行视图用于显式诊断、路由检查或上下文用量测量——正常 Generate 在每个有效执行上下文保留一次完整规划产物不会在每页都调用它python3 scripts/project_manager.py page-context project_path P07 python3 scripts/project_manager.py page-context project_path P07 --pretty python3 scripts/project_manager.py page-context project_path P07 --record-usage python3 scripts/project_manager.py page-context-report project_path从 page_context.py 的 build_page_context约 L470 起可以归纳其核心机制页 key 归一化P07/07统一归一化为P07normalize_page_key必须为正数否则抛PageContextError。前置校验投影前重新校验机器锁与选定的模板根身份design-brief 值不被当作第二把锁。H3–H6 的 Slide 标题保持可读。投影内容每次调用都刻意包含一个有界的global锚点集communication / canvas / mode / visual_style / colors / typography / icons / pptx_structure / forbidden作为跨页连续性视图而非颜色/字体白名单。lock_source将该投影绑定到当前spec_lock.md的 SHApage_context含当前 §IX brief、节奏、资源与条件式模板/图表分配reference_set含kind、作用域路径、SHA 与once-per-execution-context加载策略。大体积的 Design Spec、原型与选中的图表 SVG 只以作用域路径/SHA 指纹形式出现每个执行上下文只读一次。项目 Design Spec 附带编辑策略same_context_edit_policy: targeted-readback-and-rebind——当主 agent 在合法未压缩上下文中做有界修复保持 roster/顺序/身份/沟通不变时只读回精确变更的片段并校验后再继续全新、压缩后、外部、未知或不匹配的变更则要求完整重读 Design Spec 与锁。--bundle是已弃用的兼容 no-op永远不在 stdout 追加 Design Spec、原型 SVG、图表 SVG、manifest 或文本槽 sidecar。图像选择逻辑_page_images图像行从当前 §IX brief、显式 §VIII 页分配与镜像原型引用中选取当这些来源把图像分配到他处而未分配给当前页时视图排除这些图像任何仍未分配的 legacy 图像保留在兼容子集中仅当所有锁定图像都有确定分配时输出confirmed-none。镜像物化可能发布确定性的ppt-master.template-text-slots.v2-min诊断但那是工具元数据不是 page-context 或模型输入——完整 SVG 始终是唯一模板权威。--record-usage 与 page-context-report--record-usage在analysis/page-context/PNN.usage.json写一个派生快照schemappt-master.page-context-usage.v2哈希每个输入精确测量紧凑 stdout 的字节/字符/哈希并记录引用指纹tiktoken以o200k_base惰性加载不可用时命令仍成功仅记录tokens: null。page-context-report只汇总新鲜快照通过重算每个输入文件的 SHA-256 判定stale_pages识别 token 不可用页与唯一引用文件并对page-context目标 2000 tokens与lock-projection目标 1000 tokens给出 count/sum/min/p50/p95/max 与超目标统计。遥测可能是部分的——它不测量 once-loaded 引用、源读取或其他会话上下文。工作流审计workflow_transcript.py 与 workflow_log.py项目初始化会创建validation/workflow.log并记录自己的里程碑。此后的项目级 Python 工具直接运行即可python3 scripts/tool.py project_path args...共享 CLI 引导install_auto_transcript见 workflow_transcript.py L302从工作目录或命令行参数中发现既有项目日志。它记录一条 UTC 命令信封时间戳、cwd、完整 argv、run id加上显式[ERROR]/[FAIL]与 receipt/report 行、有界的[WARN]/[OK]/stderr 采样、受限的 summary 上下文以及每次运行的省略计数——不使用外部启动器或第二个 Python 进程。完整输出留在原控制台不复制进审计日志。值得注意的边界项目初始化之前的命令不回溯补记二进制缓冲写入、隐藏子进程输出、分离服务活动不记录Confirm UI 与 live preview 在各自组件server.log保留详细输出分离进程启动器会在长驻子进程中关闭自动工作流录制同时保留前台短启动器自身的记录。自动录制失败只发警告、不改变工具结果手动条目写入失败则非零退出。对参数与工作目录无法识别活动项目的 Python 辅助脚本可用环境变量指定路由目标PPT_MASTER_PROJECT_PATHproject_path python3 scripts/helper.py args...该变量只选择目标转录文件不授权 helper 读取项目产物或改变其所有权。禁用自动录制的开关是PPT_MASTER_DISABLE_WORKFLOW_TRANSCRIPT。当某个重要审计细节没有对应的命令输出时手动追加一条注释python3 scripts/workflow_log.py project_path material audit detail适合的备注包括阶段性交接或返工原因、用户批准的例外、手动恢复选择。不要重复产物内容、日常页进度或私有推理append_note的幂等 UUID 记录见 workflow_log.py。日志是只追加的审计证据不是完整控制台转录也不是阶段/质量/产物权威正常生成或恢复流程不读取它只在用户显式要求运行回顾时检查。batch_validate.py多项目批量健康检查python3 scripts/batch_validate.py projects python3 scripts/batch_validate.py --all python3 scripts/batch_validate.py projects --export --output validation_report.txtbatch_validate.py通过find_all_projects扫描目录下的项目判定标准含svg_output/或设计规范文件对每个项目执行get_project_infovalidate_project_structurevalidate_svg_viewbox聚合结果后输出逐项目状态行[OK]/[WARN]/[ERROR]含格式、SVG 数量、日期、前 3 条警告与全部错误汇总统计总项目数、完全有效数、含警告数、含错误数及缺失 README / 缺失设计规范 / SVG 格式问题的计数画布格式分布修复建议补 README、检查 SVG 根 viewBox、补设计规范--export时写出文本报告默认validation_report.txt。退出码设计有 errors 返回1有 warnings 返回2全通过返回0。它适合在发布或清理前做多项目体检。generate_examples_index.py重建示例索引python3 scripts/generate_examples_index.py path-to/ppt-master-examples/examples示例项目存放在独立的 ppt-master-examples 仓库。该脚本扫描examples/目录、按日期排序、按画布格式分组生成一份含统计、最近更新、项目列表按ppt169→ppt43→ … →a4顺序、预览/创建指引与贡献指南的README.md。它复用find_all_projects/get_project_info并把 Skill 资源以相对路径链接进索引。pptx_template_import.py把参考 .pptx 变成模板工作区pptx_template_import.py是/create-template工作流对.pptx参考的统一准备入口“参考源是 .pptx 时必用”默认输出目录pptx_stem_template_import/旨在模板参考准备而非最终 1:1 模板交付python3 scripts/pptx_template_import.py template.pptx python3 scripts/pptx_template_import.py template.pptx -o output_dir python3 scripts/pptx_template_import.py template.pptx --manifest-only python3 scripts/pptx_template_import.py template.pptx --skip-manifest python3 scripts/pptx_template_import.py template.pptx --embed-images python3 scripts/pptx_template_import.py template.pptx --inheritance-mode both python3 scripts/pptx_template_import.py template.pptx --inheritance-mode flat python3 scripts/pptx_template_import.py template.pptx --inheritance-mode layered它直接通过pptx_to_svg读取 OOXML不依赖 PowerPoint 或 Keynote任何平台可运行产出对照 pptx_template_import.py 与其模块注释analysis/manifest.json来源事实与资源清单slide/layout/master 的svgFile、占位符类型/索引/几何/基础样式、href资源映射、继承复用图analysis/native_structure.jsonsources/source.pptx源结构事实与逐字节一致的备份包validation/conversion-report.json容错的源恢复诊断不是缓存或结构 manifest 的副本语义资源目录images/、audio/、sounds/、video/、native-payloads/仅在填充时创建svg/分层创作源默认--inheritance-mode layered——每个 master/layout 各渲染一次为master_*.svg/layout_*.svg包括当前没有任何 sample slide 引用的slide_NN.svg只含该 slide 自己的形状svg/inheritance.json记录父链与源所属的showInheritedShapes/showMasterShapes布尔svg-flat/仅--inheritance-mode both才输出的自包含校验视图——每个slide_NN.svg把有效的 Master/Layout 贡献与 Slide 本地内容画进一个文件单独打开任意一页即可看到 PowerPoint 那样的完整页面背景继承独立于继承形状可见性authoring-svg/同一事务生成的紧凑创作束与authoring-svg-flat/round-trip 专用契约模式参数layered默认输出规范svg/分层树both额外生成svg-flat/flat只生成自包含投影型svg/树无 master/layout/inheritance 文件。分层 slide SVG 只保留 slide 自身背景继承的 master/layout 背景留在对应 master/layout SVG。图表、SmartArt、图示、OLE 对象在svg/中成为类型化占位符svg-flat/有预览图时显示带角标的预览否则显示可见占位符。表格则被转换为真实 SVG 内容。其他参数语义--manifest-only只要轻量导入输出跳过 slide SVG 导出--skip-manifest跳过 manifest/native-structure/资源清单与源包生成两者互斥。image元素默认引用images/文件--embed-images改为内联 data URI。外部链接图片与缺失媒体是严格失败EMF/WMF 等 Office 矢量媒体在本地工具链可用时转为 PNG 预览否则导入直接失败而不是静默丢内容。占位符语义会把subTitle/obj/media/dt区分为subtitle/object/media/date。导入-回程imported-deck round-trip使用独立的authoring-svg-flat/契约与page_plan.jsonppt-master.roundtrip-page-plan.v1可对导出页做选择/重排/重复/省略。内部实现位于 template_import/。error_helper.py标准化错误修复建议python3 scripts/error_helper.py python3 scripts/error_helper.py missing_readme python3 scripts/error_helper.py missing_readme project_pathmy_project不带参数时打印全部错误类型与建议带错误类型时输出格式化信息keyvalue上下文可定制消息项目路径、文件名、期望/实际值。ERROR_SOLUTIONS字典覆盖的常见类型包括missing_readme、missing_spec、missing_svg_output、empty_svg_output、invalid_svg_naming、missing_project_date、viewbox_mismatch、multiple_viewboxes、no_viewbox以及一系列 SVG 合规错误foreignobject_detected、mask_detected、style_element_detected、class_attribute_detected、script_detected、animation_detected、textpath_detected、webfont_detected、invalid_font等每条都带严重级别error/warning与修复步骤。project_utils.validate_project_structure在verbose模式下会引用它生成建议。标准工作流串联从零到可交付把上述工具放进一条完整的端到端路径大致如下与 scripts/README.md 的 Quick Start 一致# 1) 转换任意文档/URL 为归一化 Markdown python3 scripts/source_to_md.py file-or-url-or-dir [file-or-url-or-dir ...] # 2) 初始化项目并导入素材 python3 scripts/project_manager.py init my_deck --format ppt169 python3 scripts/project_manager.py import-sources projects/my_deck_ppt169_20251116 source_files_or_dirs... # 3) 可选脚手架或直接由 Generate 撰写规划产物 python3 scripts/project_manager.py scaffold-spec projects/my_deck_ppt169_20251116 python3 scripts/project_manager.py scaffold-lock projects/my_deck_ppt169_20251116 # 4) 校验与诊断 python3 scripts/project_manager.py validate projects/my_deck_ppt169_20251116 python3 scripts/project_manager.py info projects/my_deck_ppt169_20251116 python3 scripts/project_manager.py page-context projects/my_deck_ppt169_20251116 P07 --record-usage python3 scripts/project_manager.py page-context-report projects/my_deck_ppt169_20251116 # 5) 生成 SVG → 预览 → 导出原生 PPTXSpeaker Notes 启用时 python3 scripts/total_md_split.py project_path python3 scripts/finalize_svg.py project_path python3 scripts/svg_to_pptx.py project_path模板参考路径则先经pptx_template_import.py生成模板工作区再进入 create-template.md 的standard/fidelity/mirror分支其中mirror分支要求 Create Template 项目级导入使用--no-image-propagation以保证提取的位图留在sources/、由人工按需采纳进images/。小结PPT Master 的项目工具集以project_manager.py为总入口把「初始化 → 导入 → 脚手架 → 校验 → 检视」五个生命周期动作收敛为一组稳定 CLIpage-context提供只读、确定性的按页执行投影与 token 用量遥测workflow_transcript.py/workflow_log.py提供不干扰工具结果的追加式冷审计pptx_template_import.py让.pptx模板参考在没有 PowerPoint 依赖的前提下变成结构化模板工作区。理解这些命令背后的目录命名规则、导入边界、schema 校验语义与审计边界是稳定复现 PPT Master 生成流程、排查项目结构问题的基础。继续深入可阅读docs/project.md 原文、scripts/README.md 脚本索引、project_management/ 内部实现、create-template 工作流 以及 svg-pipeline.md 导出契约。赞分享AI 技能人工智能【免费下载链接】ppt-masterAI 把任意文档生成真正可编辑的 PowerPoint —— 原生形状与动画、演讲者备注可合成音频旁白、还能参考你自己的 .pptx 模板,而不是一张张图片 · 何雨果出品项目地址https://gitcode.com/hugohe3/ppt-master点击查看免费下载相关推荐终极指南使用OpenCore Legacy Patcher让老Mac焕发新生的完整教程终极指南使用OpenCore Legacy Patcher让老Mac焕发新生的完整教程 OpenCore Legacy Patcher是一款革命性的开源工具操作系统固件驱动开发前端工程化终极指南从项目初始化到生产部署的完整流程前端工程化终极指南从项目初始化到生产部署的完整流程 前端工程化是现代前端开发的核心竞争力它能够将零散的开发流程标准化、自动化显著提升开发效率和项目质量。在文档教程PDM 项目初始化与工程化指南从 pdm new 到 pyproject.toml 与 requires-python 的完整实践PDM 项目初始化与工程化指南从 pdm new 到 pyproject.toml 与 requires python 的完整实践 本指南以官方文档 docs开发工具包管理器CLI上一篇cube-studio模型部署在线推理服务一键搞定下一篇OpenUSD入门指南从零开始掌握3D场景构建的革命性技术创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考