概述
banana-cli 是 Banana Slides 的命令行工具,通过调用后端 REST API 实现所有功能。适合:
- 批量生成:从 JSONL/CSV 文件批量创建 PPT
- 自动化流水线:集成到 CI/CD 或脚本中
- AI Agent 编排:作为 Agent 的工具调用接口
安装
在项目根目录执行:Agent Skill
如果你在 Claude Code 中使用 AI Agent,可以一行命令安装 banana-cli skill,让 Agent 自动掌握 CLI 的使用方式:/banana-cli,包含完整的环境检测、安装引导和命令使用示例。
全局选项
所有命令都支持以下全局选项:配置优先级
CLI 参数 > 环境变量 (BANANA_CLI_*) > TOML 配置文件 > 默认值
环境变量对应关系:
短 ID 前缀匹配
所有--project-id 和 --page-id 参数支持短前缀(类似 git 短哈希),无需输入完整 UUID:
工作项目上下文
设置工作项目后,后续命令可省略--project-id:
~/.config/banana-slides/context.json,跨会话持久化。
命令参考
projects — 项目管理
workflows — 工作流
端到端的 PPT 生成流程。workflows full 支持跳过部分步骤:
pages — 页面操作
exports — 导出
--output 指定本地下载路径;不指定则返回服务端下载 URL。--filename 仅设置服务端生成的文件名。
materials — 素材管理
refs — 参考文件
templates — 模板
renovation — PPT 翻新
settings — 设置
tasks — 任务状态
tasks wait 可随时 Ctrl+C 中断再重新等待,后端任务不受影响。
styles — 风格提取
files — 文件下载
批量任务
Job 文件格式
支持 JSONL 和 CSV 两种格式。每行/每行定义一个生成任务。 JSONL 示例(jobs.jsonl):
运行批量任务
--state-file:实时写入运行状态,可用于监控--done-marker-file:记录已完成的 job,重跑时自动跳过--continue-on-error/--fail-fast:失败后继续或立即停止
监控运行状态
交互式创建 Job 文件
典型工作流示例
从想法到 PPTX
批量生成 10 套 PPT
注意事项
- 后端必须运行:CLI 通过 HTTP 调用后端 API,使用前确保后端已启动
- 文件路径必须绝对路径:所有
--file、--image等参数要求绝对路径 - 默认等待完成:描述生成、图片生成、可编辑导出等异步任务默认等待完成并显示进度。传
--no-wait可立即返回 task_id,后续用tasks wait手动轮询 - 可中断恢复:
--wait和tasks wait随时可 Ctrl+C 中断,后端任务不受影响,可用相同 task_id 重新等待 --pages是提示:--pages作为提示传给 AI,实际生成的页数可能不同。页数不匹配时 CLI 会在 stderr 打印提示- 进度输出:等待任务时,进度信息输出到 stderr(格式
[PROGRESS] 阶段 状态 完成数/总数),不影响 stdout 的 JSON 输出 - Shell 补全:运行
banana-cli --install-completion安装当前 shell 的自动补全 - AI Agent 友好:当 stdout 为管道(非 TTY)时,
--help自动输出纯文本格式,无 Rich 装饰框