--- summary: '当前 CLI 命令面:IR v5、主题 v2、deck 项目、固定样张主题对比、验证、审计、图片、预览与安装体检' read_when: - 查询受支持的命令或参数 - 给 agent 接上 spec、填充、validate、audit 与 render 回路 - 创建、分叉、对比、抽取或解析主题 - 排查 audit 输出、图片获取或安装状态 --- # CLI 大多数 deck 操作都接受 IR v5 文件、deck 项目目录或裸 deck 名。裸名称在已配置的 deck 根目录下解析。显式路径优先。 渲染阶段没有临时主题选项。项目在 `deck.spec.json` 中绑定主题,裸 IR 在 `theme.id` 中绑定。编写 spec 前用 `theme try` 比较尚未绑定的候选。 ## 推荐项目回路 ```bash pptwise spec validate deck-dir/deck.spec.json pptwise assemble deck-dir/ pptwise validate deck-dir/ pptwise audit deck-dir/ pptwise render deck-dir/ pptwise preview deck-dir/ --html ``` 每轮验证之间最多填四页。需要用户在浏览器中实时评审时使用 `serve`。 ## 命令索引 | command | 作用 | | --- | --- | | `render ` | 渲染原生可编辑 PPTX。 | | `validate ` | 验证 IR、主题绑定、菜单 kind、组件、资产与内容质量。 | | `audit ` | 运行确定性视觉与几何检查。 | | `asset-brief ` | 报告真实图片画框、裁切、配色、安全区与提示词。 | | `schema` | 打印 IR、spec 或 style 覆盖 JSON Schema。 | | `spec validate ` | 验证主题形状的 deck spec。 | | `assemble ` | 把 deck 项目合并成派生 IR v5。 | | `disassemble ` | 把 IR v5 拆成 spec、页面文件与资产。 | | `themes` | 列出 24 个出厂预设及元数据。 | | `theme new` | 把命名主题拷贝为自包含 v2 文件。 | | `theme fork` | 拷贝主题,并围绕新锚色重推导配色。 | | `theme try` | 用两到四个主题渲染固定试衣样稿。 | | `brand extract` | 从 Office 文件抽取颜色与字体,产出完整 v2 主题。 | | `narratives` | 列出命名叙事预设与三轴。 | | `layouts` | 为引擎维护检查内部脸注册表。 | | `images search` | 搜索已配置的图库来源。 | | `images fetch` | 把一张选定图库图片固定到 deck。 | | `images list` | 列出某 deck 已固定的图片。 | | `images generate` | 通过已启用的本地 CLI 生成并固定图片。 | | `config set` | 设置可选用户配置。 | | `config show` | 显示已生效配置,秘密会遮盖。 | | `init` | 在当前目录创建 `pptwise.config.json`。 | | `preview ` | 写出 SVG 页面与可选的自包含评审文件。 | | `serve ` | 启动自动刷新的评审服务。 | | `doctor` | 检查运行时、skill 副本、插件状态、可选能力与自检渲染。 | | `check-update` | 检查 npm 是否有新版本。 | | `self-update` | 更新全局安装。 | `layouts` 暴露的是维护者使用的引擎词汇。Deck 作者与创作 agent 只选择内容 `kind`,不写内部脸 id。 ## Render ```bash pptwise render \ [-o ] \ [--draft] \ [--allow-dropped-content] \ [--no-git-ignore] ``` 省略 `-o` 时,输出写到项目根目录下的 `.pptwise//.pptx`。改颜色用 `pptwise theme fork`,它写出一份完整主题。Render 不接受局部改色覆盖。 `--draft` 允许占位页。`--allow-dropped-content` 允许已知内容丢失,只能在用户明确同意时使用。正常处理方式是缩短或拆页。 ## Validate 与 audit ```bash pptwise validate pptwise audit [--json] [--pixels] ``` Validation 覆盖严格 IR v5 结构、已安装主题、主题菜单 kind、有效边界脸、组件规则、重复 id、资产、叙事、物理容量与编辑警告。错误会阻止 `OK`,警告不会。 Audit 渲染确定性 SVG,并检查: - `overflow` - `out-of-bounds` - `low-contrast` - `overlap` - `content-truncated` - `content-dropped` - `monotony` 任意发现都会让退出码变为 1。`--pixels` 增加压图文字的像素对比度采样,需要 `sharp`。 ## Schema 与 spec ```bash pptwise schema pptwise schema --spec pptwise spec validate deck-dir/deck.spec.json ``` IR 版本是 `"5"`,deck spec 版本是 `"1"`,主题文件版本是数字 `2`。当前 IR 没有 `seed`、`layout`、`beat` 或 `arrangement` 字段。 ## Assemble 与 disassemble ```bash pptwise assemble [-o ] pptwise disassemble -o ``` Assembly 组合 spec 拥有的语义、只含内容的页面文件与本地资产。缺失页面文件会变成占位页。它不持久化脸的选择或其他渲染状态。 Disassembly 拒绝覆盖已有 `deck.spec.json`。它保留页面 id,并在输入来源可复制或解码时写出资产文件。 ## 主题 ```bash pptwise themes [--json] pptwise theme new --from \ [-o ] [--id ] [--label