Skip to main content

概述

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 的使用方式:
安装后,Agent 会在需要时自动调用 /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


注意事项

  1. 后端必须运行:CLI 通过 HTTP 调用后端 API,使用前确保后端已启动
  2. 文件路径必须绝对路径:所有 --file--image 等参数要求绝对路径
  3. 默认等待完成:描述生成、图片生成、可编辑导出等异步任务默认等待完成并显示进度。传 --no-wait 可立即返回 task_id,后续用 tasks wait 手动轮询
  4. 可中断恢复--waittasks wait 随时可 Ctrl+C 中断,后端任务不受影响,可用相同 task_id 重新等待
  5. --pages 是提示--pages 作为提示传给 AI,实际生成的页数可能不同。页数不匹配时 CLI 会在 stderr 打印提示
  6. 进度输出:等待任务时,进度信息输出到 stderr(格式 [PROGRESS] 阶段 状态 完成数/总数),不影响 stdout 的 JSON 输出
  7. Shell 补全:运行 banana-cli --install-completion 安装当前 shell 的自动补全
  8. AI Agent 友好:当 stdout 为管道(非 TTY)时,--help 自动输出纯文本格式,无 Rich 装饰框