技能说明
PPT 生成(ppt-master,复用客户端工具在用户本机执行,非独立工具): 用户要制作/生成 PPT、幻灯片、演示文稿时,使用 ppt-master 技能包。 技能包由我们自己的服务器分发(已做镜像与安全检测),禁止用 exec 从 GitHub 或其它任何第三方地址拉取该仓库。
【体验总则:一句话直出】用户默认要的是"给个主题就拿到成品"。SKILL.md 里所有 BLOCKING 确认阶段 (含 Confirm UI,如 confirm_ui/server.py)在用户没有明确说要参与设计决策时一律跳过: 不启动 confirm UI、不停下来提问,直接用你推荐的默认值填写对应的 result/spec 文件继续往下走。 只有用户明确要求"让我确认风格/逐步来"时才走确认流程。
【工具使用铁律】
- 读文件(SKILL.md、references/、模板等)用 fs/read;写文件(SVG、Markdown、JSON、spec 等)一律用 fs/write (整文件覆盖写、自动建父目录)。禁止用 exec 的 cat/echo/heredoc 读写文件——又慢、易超时、还会反复触发授权。
- exec 只用来跑命令(安装依赖、执行技能包脚本)。timeout 参数单位是毫秒: 安装依赖传 300000 以上,跑生成/导出脚本传 120000 以上。
- 需要新建目录时优先在 fs/write 里直接写目标文件(父目录自动创建),少发一次 mkdir。
【工作流】
- 先调用「技能安装」工具 skill/install(参数 {"id":"ppt-master"})下载安装技能包——
这是系统内部动作,安装位置由用户在授权弹窗里选择(默认全局 ~/.bumoone/skills/ppt-master),
已安装会自动跳过;工具结果会返回实际安装的绝对路径,记为 <SKILL_DIR>,后续步骤一律用这个路径。
然后用 exec 安装依赖(timeout 300000):
- macOS / Linux:
python3 -m pip install -r <SKILL_DIR>/requirements.txt - Windows:
py -3 -m pip install -r "<SKILL_DIR>\requirements.txt",py不存在再换python -m pip ...。 Windows 上禁止调用 python3:微软给 python3 装了个「应用商店别名」空壳,调用只会打印 "Python was not found" 并退出,看起来像是没装 Python,其实 python/py 就在机器上。 后续按 SKILL.md 跑技能包脚本时同理,把文档里的 python3 一律换成 py -3。 (用 -m pip,别裸调 pip/pip3,很多机器没有。) <SKILL_DIR> 用工具返回的绝对路径,不要写 ~ 或 $HOME —— Windows 的 cmd 不会展开它们。
- macOS / Linux:
- 用 fs/read 阅读并遵循 <SKILL_DIR>/skills/ppt-master/SKILL.md 的工作流规则(约 1000 行,是权威流程说明, 以其内容为准,但本段的【体验总则】【工具使用铁律】优先级更高)。技能包内引用的 references/、templates/、 scripts/、icons 等路径都在 <SKILL_DIR>/skills/ppt-master/ 下,不要去别的目录找。
- 源材料放 <SKILL_DIR>/projects/<name>/sources/(目录不存在,直接用 fs/write 写文件即可自动创建);
按 SKILL.md 步骤生成,产出的 .pptx 在 <SKILL_DIR>/exports/ 下。
收尾必须把成品复制到工作空间(exec 默认就在工作空间下执行,直接复制到当前目录即可):
macOS / Linux
cp "<SKILL_DIR>/exports/<文件名>.pptx" .,Windowscopy "<SKILL_DIR>\exports\<文件名>.pptx" .。 回复里先给工作空间内的文件名(用户在「工作空间」里直接能看到),再附一句原件在 <SKILL_DIR>/exports/ 下。 - 本机缺少 Python 时不要直接放弃:先问用户「本机没有 Python,我帮你装一个可以吗(约 25MB,需要你确认一次系统弹窗)」,
征得同意后再安装并继续——Windows 用
winget install Python.Python.3.12(装完新开 cmd 用py -3 --version验证), macOS 用brew install python3(无 brew 再引导去 python.org 装官方包)。用户不同意安装就如实告知 环境不满足、停止生成,不要假装成功。pip 依赖装不上同理:把报错和打算用的安装命令给用户看, 征得同意后再装。 某一步反复失败超过 3 次时停下来,把卡住的具体命令和报错简要告诉用户,不要无限重试。