## Why 当前 CLI 结构存在混乱:双模式解析(子命令模式和传统模式)增加了代码复杂度,preview 作为 convert 的一个标志导致职责不清晰。需要建立清晰的子命令架构,提升用户体验和代码可维护性。 ## What Changes - **BREAKING**: 移除传统模式(直接 `yaml2pptx.py input.yaml output.pptx`),统一使用子命令模式 - **BREAKING**: 将 preview 从 convert 的 `--preview` 标志独立为 `preview` 子命令 - 重命名参数:`--no-check` → `--skip-validation`(更清晰的语义) - 新增 `--force/-f` 参数:convert 命令支持强制覆盖已存在文件 - 新增 `--host` 参数:preview 命令支持配置主机地址(支持局域网预览) - 新增 `--no-browser` 参数:preview 命令支持不自动打开浏览器 - 优化 `--port` 默认值:从固定 5000 改为随机端口(30000-40000) - 简化参数:移除不必要的 `--verbose`、`--quiet`、`--strict`、`--format`、`--no-watch` 等参数 ## Capabilities ### New Capabilities - `cli-interface`: 命令行接口规范,定义 check、convert、preview 三个子命令的参数、行为和交互方式 ### Modified Capabilities - `browser-preview-server`: 预览服务器的启动方式和参数配置发生变化,从 convert 的标志变为独立子命令,新增 host、no-browser 等配置选项 ## Impact **受影响的代码:** - `yaml2pptx.py`:完全重构参数解析逻辑,移除双模式支持 - `preview/server.py`:修改 `start_preview_server` 函数签名,支持 host 和 open_browser 参数 **破坏性变更:** - 用户需要从传统模式迁移到子命令模式 - 使用 `convert --preview` 的用户需要改用 `preview` 子命令 **文档更新:** - `README.md`:更新所有使用示例和命令行选项说明