npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@yummysource/yummycli

v0.1.3

Published

AI-friendly CLI for multimodal model providers (Gemini, and more)

Readme

yummycli

License: MIT Go Version npm version

面向多模态模型供应商的 AI 友好命令行工具 —— 专为人类用户和 AI Agent 设计。

当前支持通过 Gemini 进行图像生成与编辑、视频生成,Claude、OpenAI、Qwen 等供应商支持正在规划中。

繁體中文 | 简体中文 | English

安装 · 认证 · 图像生成 · 视频生成 · Agent Skills · 命令参考


为什么选择 yummycli?

  • Agent 原生设计 —— 开箱即用的结构化 Skills,AI Agent 无需额外配置即可调用图像与视频 API
  • 能力优先架构 —— image generatevideo generate 是稳定的自动化接口;gemini nanobananagemini veo 是其上层的人性化快捷方式
  • 结构化 JSON 输出 —— 每条命令将结果写入 stdout,方便 Agent、脚本和其他工具直接消费
  • 安全的凭证存储 —— API Key 存储在操作系统原生密钥链(macOS Keychain、Linux Secret Service),从不以明文保存
  • 供应商无关 —— 统一的 CLI 接口,新增供应商时无需修改现有脚本

安装

环境要求

  • Node.js 16+ 及 npm
  • Go 1.23+ 和 make(仅从源码构建时需要)

通过 npm 安装(推荐)

# 安装 CLI
npm install -g @yummysource/yummycli

# 安装 Agent Skills(AI Agent 使用必须)
npx skills add yummysource/yummycli -y -g

验证安装:

yummycli version

从源码构建

git clone https://github.com/yummysource/yummycli.git
cd yummycli
make install

# 安装 Agent Skills(AI Agent 使用必须)
npx skills add yummysource/yummycli -y -g

认证

yummycli 将每个供应商的 API Key 存储在操作系统密钥链中,每个供应商只需配置一次。

命令

| 命令 | 说明 | |------|------| | auth init | 保存供应商的 API Key | | auth list | 列出所有供应商及其凭证状态 | | auth status | 查看指定供应商的凭证状态 | | auth remove | 删除指定供应商的凭证 |

示例

# 保存 Gemini API Key
yummycli auth init --provider gemini --api-key "AIza..."

# 查看 Gemini 是否已配置(显示脱敏预览)
yummycli auth status --provider gemini

# 删除 Gemini 凭证
yummycli auth remove --provider gemini

auth init 输出:

{"provider":"gemini","configured":true}

auth list 输出:

[{"provider":"gemini","configured":true,"apiKeyPreview":"AIza...xxxx"}]

auth status 输出:

{"provider":"gemini","configured":true,"apiKeyPreview":"AIza...xxxx"}

Gemini 快捷方式

gemini initauth init --provider gemini 的等价快捷命令:

yummycli gemini init --api-key "AIza..."

图像生成

yummycli 提供两个等价的图像生成入口:

| 入口 | 适用场景 | |------|----------| | gemini nanobanana | 人工使用 —— 已预设 Gemini 默认参数 | | image generate --provider gemini | 自动化/脚本 —— 显式、稳定的接口 |

两者调用相同的底层实现,按使用场景选择即可。

快速开始

# 第一步:配置 Gemini 凭证(一次性)
yummycli gemini init --api-key "AIza..."

# 第二步:根据文本提示生成图像
yummycli gemini nanobanana --prompt "白色盘子上放着一根成熟的香蕉,工作室打光"

生成的图像保存在当前目录,文件名自动生成:

gemini_20260410123456_789.png

参数说明

| 参数 | 说明 | 默认值(Gemini) | |------|------|----------------| | --prompt | 图像生成提示词(必填) | — | | --output | 输出文件路径 | 自动生成 | | --model | Gemini 模型 | gemini-3.1-flash-image-preview | | --aspect-ratio | 图像宽高比 | 16:9 | | --image-size | 输出分辨率 | 1K | | --input-image | 输入图像(可重复使用) | — |

image generate 使用时需额外传入 --provider gemini(必填)。Gemini 默认值同样适用 —— 省略时 --model--aspect-ratio--image-size 均自动填充。

文本生成图像

yummycli gemini nanobanana \
  --prompt "赛博朋克夜晚都市,霓虹灯倒映在湿漉漉的街道上"

# 指定输出路径和分辨率
yummycli gemini nanobanana \
  --prompt "极简主义 logo,扁平设计,白色背景" \
  --output logo.png \
  --image-size 4K

图像编辑

通过 --input-image 传入一张或多张参考图像:

# 单图编辑
yummycli gemini nanobanana \
  --prompt "将这张图转换为水彩插画风格" \
  --input-image ./photo.png

# 多图参考
yummycli gemini nanobanana \
  --prompt "将这两张参考图融合为一张精致的海报插画" \
  --input-image ./subject.png \
  --input-image ./background.jpg

支持的输入格式:.png.jpg / .jpeg.webp

宽高比

# 竖版 —— 手机壁纸、故事格式
yummycli gemini nanobanana --prompt "..." --aspect-ratio 9:16

# 正方形 —— 社交头像、图标
yummycli gemini nanobanana --prompt "..." --aspect-ratio 1:1

# 宽屏 —— 桌面壁纸、横幅
yummycli gemini nanobanana --prompt "..." --aspect-ratio 21:9

模型选择

# Flash(默认)—— 速度更快,支持更多宽高比和更小尺寸
yummycli gemini nanobanana --prompt "..." --model gemini-3.1-flash-image-preview

# Pro —— 质量更高,支持的尺寸和宽高比选项较少
yummycli gemini nanobanana --prompt "..." --model gemini-3-pro-image-preview

模型兼容性

宽高比

| 模型 | 支持的值 | |------|---------| | gemini-3.1-flash-image-preview | 1:1 1:4 1:8 2:3 3:2 3:4 4:1 4:3 4:5 5:4 8:1 9:16 16:9 21:9 | | gemini-3-pro-image-preview | 1:1 2:3 3:2 3:4 4:3 4:5 5:4 9:16 16:9 21:9 |

1:41:84:18:1 仅 Flash 模型支持,Pro 模型不可用。

图像尺寸

| 模型 | 支持的值 | |------|---------| | gemini-3.1-flash-image-preview | 512 0.5K 1K 2K 4K | | gemini-3-pro-image-preview | 1K 2K 4K |

5120.5K 仅 Flash 模型支持。尺寸值大小写不敏感(4k4K 均可)。

JSON 输出

每次成功生成后向 stdout 写入结果:

{
  "provider": "gemini",
  "output": "gemini_20260410123456_789.png",
  "model": "gemini-3.1-flash-image-preview",
  "inputImageCount": 0
}

使用 output 字段定位生成的文件。

直接使用 image generate

image generate 是供应商无关的稳定 API,接受相同的参数,但需要显式传入 --provider

yummycli image generate \
  --provider gemini \
  --prompt "日出时宁静的山中湖泊" \
  --aspect-ratio 16:9 \
  --image-size 2K \
  --output landscape.png

推荐在脚本和 AI Agent 中使用此形式 —— 新增供应商后无需修改。


直接使用 video generate

video generate 是供应商无关的稳定 API,接受相同的参数,但需要显式传入 --provider

yummycli video generate \
  --provider gemini \
  --prompt "云朵在山顶缓缓飘过的延时摄影" \
  --resolution 1080p \
  --output timelapse.mp4

视频生成

yummycli 通过 Google Veo 支持视频生成,提供两个等价入口:

| 入口 | 适用场景 | |------|----------| | gemini veo | 人工使用 —— 已预设 Gemini Veo 默认参数 | | video generate --provider gemini | 自动化/脚本 —— 显式、稳定的接口 |

快速开始

# 第一步:配置 Gemini 凭证(一次性)
yummycli gemini init --api-key "AIza..."

# 第二步:根据文本提示生成视频
yummycli gemini veo --prompt "阳光明媚的公园里,金毛犬追逐红球"

生成的视频保存在当前目录,文件名自动生成:

veo_20260417_142301_047.mp4

参数说明

| 参数 | 说明 | 默认值 | |------|------|--------| | --prompt | 视频生成提示词(必填) | — | | --output | 输出文件路径(须以 .mp4 结尾) | 自动生成 | | --model | Veo 模型 | veo-3.1-fast-generate-preview | | --aspect-ratio | 视频宽高比 | 16:9 | | --duration | 时长(秒) | 8 | | --resolution | 视频分辨率 | 1080p | | --input-image | 输入图像(可重复使用,最多 3 张) | — |

生成模式

--input-image 可重复使用,数量决定生成模式:

| --input-image 数量 | 模式 | |----------------------|------| | 0 | 文本生成视频 | | 1 | 图像生成视频 —— 图像作为起始帧 | | 2–3 | 参考图引导 —— 图像作为 ASSET 参考输入 |

# 文本生成视频
yummycli gemini veo --prompt "山顶云海的延时摄影,黄金时段"

# 图像生成视频(为静态图像添加动效)
yummycli gemini veo \
  --prompt "小狗向镜头跑来" \
  --input-image ./dog.jpg

# 参考图引导(两张图)
yummycli gemini veo \
  --prompt "将角色融入这个背景环境中" \
  --input-image ./character.png \
  --input-image ./background.jpg

模型兼容性

时长仅接受离散值:

| 模型 | 有效时长(秒) | |------|--------------| | veo-2.0-generate-001 | 5、6、7、8 | | veo-3.0-* | 4、6、8 | | veo-3.1-* | 4、6、8 |

分辨率支持情况:

| 模型 | 支持的分辨率 | |------|------------| | veo-2.0-generate-001 | 720p | | veo-3.0-* | 720p1080p | | veo-3.1-* | 720p1080p4k |

约束:1080p4k 需要 --duration 84k 需要 veo-3.1 系列模型。

JSON 输出

{
  "provider": "gemini",
  "output": "veo_20260417_142301_047.mp4",
  "model": "veo-3.1-fast-generate-preview",
  "duration_seconds": 8,
  "aspect_ratio": "16:9",
  "resolution": "1080p",
  "elapsed_seconds": 73
}

Agent Skills

yummycli 内置 Skills —— 结构化的指令文件,帮助 AI Agent 正确使用 CLI。

| Skill | 说明 | |-------|------| | yummy-shared | 凭证检查、输出格式约定和共享安全规则 —— 所有其他 Skill 加载前自动使用 | | yummy-gen-image | 通过 Gemini 进行文本生成图像、单图编辑和多图参考编辑 | | yummy-gen-video | 通过 Gemini Veo 进行文本生成视频、图像生成视频和参考图引导视频生成 |

Skills 位于 ./skills/ 目录。

安装

npx skills add yummysource/yummycli -y -g

使用任何其他 yummycli Skill 前,请先加载 yummy-shared


命令参考

yummycli
├── version                              显示 yummycli 版本
│
├── auth
│   ├── init    --provider  --api-key    保存供应商 API Key
│   ├── list                             列出所有供应商及凭证状态
│   ├── status  --provider               查看指定供应商的凭证状态
│   └── remove  --provider               删除指定供应商的凭证
│
├── gemini
│   ├── init  --api-key                  初始化 Gemini 凭证
│   ├── nanobanana                       使用 Gemini 生成 / 编辑图像
│   │     --prompt        (必填)
│   │     --output
│   │     --model
│   │     --aspect-ratio
│   │     --image-size
│   │     --input-image   (可重复)
│   └── veo                              使用 Gemini Veo 生成视频
│         --prompt        (必填)
│         --output
│         --model
│         --aspect-ratio
│         --duration
│         --resolution
│         --input-image   (可重复,最多 3 张)
│
├── image
│   └── generate                         供应商无关的图像生成接口
│         --provider      (必填)
│         --prompt        (必填)
│         --output
│         --model
│         --aspect-ratio
│         --image-size
│         --input-image   (可重复)
│
└── video
    └── generate                         供应商无关的视频生成接口
          --provider      (必填)
          --prompt        (必填)
          --output
          --model
          --aspect-ratio
          --duration
          --resolution
          --input-image   (可重复,最多 3 张)

贡献

欢迎社区贡献。如发现 Bug 或有功能建议,请提交 IssuePull Request

重大改动建议先通过 Issue 与我们讨论。

许可证

MIT