mcpField
B
banana-cli

banana-cli

github.com/anionex文档处理15.9k59 次安装1 天前更新
代码仓库

关于 banana-cli

banana-cli 是用于创建、管理和导出 AI 生成演示文稿的命令行工具,支持完整生成流程、批量任务及现有 PPT 的改造。

主要功能

  1. 01创建和管理演示文稿项目
  2. 02生成大纲、描述和图像
  3. 03导出演示文稿为 PPTX 和 PDF
  4. 04运行批量生成任务
  5. 05改造现有 PPT 文件
  6. 06以 JSON 输出供脚本处理

适用场景

  1. 01根据主题构思生成演示文稿
  2. 02将完成的幻灯片导出为 PPTX 或 PDF
  3. 03从文件批量处理多个演示任务
  4. 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