本表只定位「场景 → 用哪条命令、读哪份文档」。参数以「执行前必做」里对应的文档和 lark-cli slides +<verb> --help 为准,不要凭记忆或按别的命令类比补参数。
| 用户需求 | 优先动作 | 关键文档 / 命令 |
|---|
| 新建 PPT | 先规划 slide_plan.json,再按页数选择一步或两步创建 | planning-layer.md、visual-planning.md、asset-planning.md、cli/lark-slides-create.md、slides +create、slides +add-slide、cli/lark-slides-add-slide.md(两步创建逐页添加) |
| 用户要求使用模板,或提供 PPTX 文件要求修改、美化 | 将模板导入为 Slides 再编辑 | workflow/template-editing.md |
| 编辑单个标题、文本块、图片或局部元素 | 块级替换/插入,只动点名的 block,同页其他元素不受影响;不改页序 | slides +replace-slide、cli/lark-slides-replace-slide.md |
| 一页改动很多(批量字体/配色)、要改页面背景、要删掉若干元素 | 整页覆盖,slide_id 和页序不变;带原 id 写回的元素保留 id,不带 id 的会作为新元素插入并拿到新 id;代价是没写进 --content 的元素会被删除,所以改个别元素不要用它 | slides +update-slide、lark-slides-update-slide.md |
| 给已有 PPT 追加或插入页面 | 一次一页,--slide 支持 @file 绕开 shell 转义 | slides +add-slide、cli/lark-slides-add-slide.md |
| 删除页面 | 按 slide_id 单页删除,删前先回读确认 | slides +delete-slide、cli/lark-slides-delete-slide.md |
| 读取或分析已有 PPT | 解析 slides/wiki token,用 shortcut 回读全文或单页 XML,保存 xml_presentation_id、slide_id、revision_id | slides +xml-get(单页传 --slide-id 或 --slide-number)、cli/lark-slides-xml-presentations-get.md |
| 查看或回滚历史版本 | 先用 +history-list 找 history_version_id,再 +history-revert,必要时 +history-revert-status 轮询 | cli/lark-slides-history.md |
| 获取幻灯片页面截图 | 按页码用 --slide-number,按 ID 用 --slide-id;单张用 --output,批量或全量用 --output-dir,每批最多 10 页串行执行;截图目录复用同一任务的 deck/task 标识,后续读取返回的实际路径 | slides +screenshot、cli/lark-slides-screenshot.md |
| 下载图片 | --output 选填;传入时指定单个文件路径,未传时自动保存到默认目录 .lark-slides/media,并按响应文件名/类型生成路径;调用后读取返回的 path,不要猜测文件名;直连被拒时自动回退到源文件预览 | slides +media-download --file-token <file_token> |
| 上传或使用图片 | 先上传为 file_token,禁止直接写 http(s) 外链 | slides +media-upload、cli/lark-slides-media-upload.md,或 +create --slides 的 XML 里写 <img src="@./path"> 占位符 |
| 绘制图表 | 原生图表(柱状、条形、折线、面积、饼(环)、雷达、组合图)用 <chart>,其他(漏斗图、金字塔图、象限图、矩阵图等)用 <shape> + <line> 模拟 | xml/xml-schema-quick-ref.md、xml/slides_chart_demo.xml |
| 绘制表格 | 优先用 rect 和 text 模拟,其他用 <table> | xml/xml-schema-quick-ref.md |
| 使用图标 | 禁止盲猜 iconType,必须先检索 IconPark,再写 <icon iconType="...">,图标必须填充颜色并和背景有足够对比,禁止使用 emoji 图标 | iconpark_tool.py search → resolve、xml/iconpark.md |
| 创建失败、空白页、3350001、布局异常 | 先回读状态,再按排障清单修复,不假设原操作原子成功 | workflow/error-handling.md、workflow/validation-xml.md |
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,认证、权限和全局参数均以 lark-shared 为准。
CRITICAL — 查看或回滚历史版本前,MUST 先读取 cli/lark-slides-history.md。回滚接口只接受 history_version_id,不要把 revision_id 直接传给 +history-revert。
CRITICAL — 生成任何 XML 之前,MUST 先用 Read 工具读取 xml/xml-schema-quick-ref.md,禁止凭记忆猜测 XML 结构。
CRITICAL — 新建演示文稿或大幅改写页面时,MUST 先生成 .lark-slides/plan/<deck-or-task-id>/slide_plan.json,再生成 XML。先创建对应目录,规划层规则和中间产物生命周期见 planning-layer.md。仅替换一个标题、插入一个块等小型已有页编辑可豁免。
CRITICAL — 新建演示文稿或大幅改写页面时,生成 XML 前 MUST 读取 visual-planning.md,确保 layout_type、visual_focus、text_density 实际改变页面几何、主视觉和文本量。
CRITICAL — 新建演示文稿或大幅改写页面时,规划 asset_need MUST 遵循 asset-planning.md:只做元数据规划,必须有 fallback_if_missing,不得要求真实搜索、下载或上传素材。
CRITICAL — 将完整 <slide> XML 提交给 slides +create、slides +add-slide 或 slides +update-slide 之前,MUST 先把待提交 XML 保存到本地文件并运行唯一版式准出入口 scripts/xml_lint.py;summary.error_count 必须为 0 才能调用接口。
CRITICAL — 创建、大幅改写或整页写回后,MUST 按 workflow/validation-xml.md 做显式验证:回读全文 XML、核对页数和关键元素,并使用 scripts/xml_lint.py 统一检查 XML、越界、重叠、空白页和内容稀疏风险。
CRITICAL — 创建前自检或失败排障时,MUST 按 workflow/error-handling.md 检查 XML 转义、结构、shell 截断、图片 token、3350001 和布局风险。
编辑已有幻灯片页面:单个标题、文本块、图片或局部元素优先用 +replace-slide(块级替换/插入,不动页序);一页里改动很多(例如批量换字体)、要改背景、或要删掉若干元素时用 +update-slide 整页覆盖(slide_id 和页序不变,但没写进 --content 的元素会被删除);多页大改就对每一页各跑一次 +update-slide。选择 action 和完整读-改-写流程见 workflow/slides-editing.md。
用户要求使用模板:按 workflow/template-editing.md 处理。