关于 banana-cli
banana-cli 是用于创建、管理和导出 AI 生成演示文稿的命令行工具,支持完整生成流程、批量任务及现有 PPT 的改造。
主要功能
- 01创建和管理演示文稿项目
- 02生成大纲、描述和图像
- 03导出演示文稿为 PPTX 和 PDF
- 04运行批量生成任务
- 05改造现有 PPT 文件
- 06以 JSON 输出供脚本处理
适用场景
- 01根据主题构思生成演示文稿
- 02将完成的幻灯片导出为 PPTX 或 PDF
- 03从文件批量处理多个演示任务
- 04修改现有 PowerPoint 演示文稿
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ anionex/ banana-slides --skill banana-cli安装后在 Claude Code 中输入/banana-cli确认已加载。
附带文件references/setup.md
详细介绍
banana-cli
用于创建、管理和导出 AI 生成演示文稿的命令行工具。
环境检查
运行任何命令前,请确认后端可访问:
curl -sf http://localhost:5011/health
如果检查失败,说明后端未运行。请阅读 references/setup.md,并按步骤克隆仓库、配置 .env 并启动后端。健康检查通过前请勿继续。
调用方式
banana-cli <command> [options]
如果 banana-cli 不在 PATH 中,请从项目根目录运行 uv run banana-cli,或使用 uv tool install . 全局安装。
端到端工作流
# 1. Create project and set as working project
result=$(banana-cli --json projects create --creation-type idea --idea-prompt "Your topic")
project_id=$(echo "$result" | jq -r '.data.project_id')
banana-cli projects use "$project_id"
# 2. Generate everything (outline → descriptions → images)
banana-cli workflows full --language zh --pages 8
# 3. Export to local file
banana-cli exports pptx --output ./slides.pptx
设置好工作项目后,后续所有命令中的 --project-id 都是可选的。
关键用法
短 ID 前缀匹配
所有 --project-id 和 --page-id 都接受短前缀(类似 git 短哈希):
banana-cli projects get a1b2 # matches a1b2c3d4-...
banana-cli pages edit-image --page-id b9c8 --instruction "change title to red"
工作项目上下文
设置工作项目,避免重复指定 --project-id:
banana-cli projects use a1b2 # set (accepts prefix)
banana-cli workflows outline # uses working project
banana-cli projects use # show current
banana-cli projects unuse # clear
控制页面数量
--pages 是给 AI 的提示,实际页面数量可能不同。如果两者不匹配,CLI 会向 stderr 输出警告。
banana-cli workflows outline --pages 5
banana-cli workflows full --pages 10 --language en
导出并自动下载
# Download directly to local path
banana-cli exports pptx --output ./slides.pptx
banana-cli exports pdf --output ./report.pdf
# Without --output, returns a server-side download URL
banana-cli exports pptx
批量生成
cat > jobs.jsonl << 'EOF'
{"job_id":"t1","job_type":"full_generation","creation_type":"idea","idea_prompt":"AI Intro","language":"zh","export":{"formats":["pptx"]}}
{"job_id":"t2","job_type":"full_generation","creation_type":"idea","idea_prompt":"ML Basics","language":"zh","export":{"formats":["pptx","pdf"]}}
EOF
banana-cli run jobs --file jobs.jsonl --report report.json --state-file state.json
翻新现有 PPT
banana-cli renovation create --file /absolute/path/to/slides.pptx --language zh
用于脚本处理的 JSON 输出
banana-cli --json projects list | jq '.data.projects[].project_id'
重要说明
- 文件路径参数(
--file、--image)必须使用绝对路径 - 异步任务(描述、图片、可编辑导出)默认会等待并在 stderr 上显示进度。传入
--no-wait可立即获取 task_id --wait/tasks wait可中断(Ctrl+C),并可随时恢复;后端任务不受影响- 进度行会输出到 stderr(格式:
[PROGRESS] STAGE STATUS completed/total),确保 stdout 中的 JSON 保持干净 - 通过管道传递时(非 TTY),
--help输出为纯文本,可安全供 Agent 使用 - 配置优先级:CLI 参数 > 环境变量(
BANANA_CLI_*)> TOML 配置(~/.config/banana-slides/cli.toml)> 默认值
发现命令
运行 banana-cli --help 查看顶级命令列表,运行 banana-cli <command> --help 查看子命令选项。通过管道传递时(非 TTY),帮助输出为纯文本。
评论
支持 Markdown