Files
liaoxin-skills/skills/gemini-web-generate/SKILL.md
T

3.8 KiB
Raw Blame History

name, description
name description
gemini-web-generate Generate images through Gemini web interface via a Puppeteer CLI. Supports text-to-image, image-to-image (single/multi reference), multi-turn conversations, session management, and download-only mode. Use when: (1) User asks to generate images with Gemini, (2) User says 'Gemini 生图', (3) Image-to-image or style transfer, (4) Continuing an existing Gemini image conversation.

Gemini 网页版生图

通过 Puppeteer CLI (scripts/cli.js) 驱动 Gemini 网页完成生图全流程:打开标签页 → 导航 → 粘贴参考图 → 输入提示词 → 发送 → 等待生成 → 下载原图。

环境

浏览器由 browser 工具管理(CDP: http://127.0.0.1:9223)。

首次使用需安装依赖:

cd ~/.openclaw/skills/gemini-web-generate/scripts && npm install

定义命令行别名(所有命令沿用此设定):

NODE="/home/dazhi/.nvm/versions/node/v22.22.0/bin/node"
CLI="scripts/cli.js"

标准流程

1. 启动浏览器

browser action=start

2. 生图

默认用 --mode single(生成后自动关闭标签页),CLI 自动下载图片到 scripts/output/originals/

$NODE $CLI generate --prompt "提示词" --mode single

带参考图

$NODE $CLI generate --prompt "提示词" --image /path/to/ref.png --mode single
$NODE $CLI generate --prompt "提示词" --images "/path/a.png,/path/b.png" --mode single

参考图路径含空格时,先 cd 到目录再用相对路径。

3. 收集结果

CLI 成功后将图片移动到工作区媒体目录:

LATEST=$(ls -t scripts/output/originals/ | head -1)
mv "scripts/output/originals/$LATEST" ~/.openclaw/workspace/media/generated/

然后用 message 工具发送。

4. 失败处理

CLI 超时或报错时,检查会话状态:

$NODE $CLI status --session <id> --wait
状态 处理
done $NODE $CLI download --session <id> 手动下载
generating 继续等待
error 报告错误,调整提示词重试

其他生图方式

多轮对话

# 首轮(不加 --mode,保持标签页打开)
$NODE $CLI generate --prompt "画一幅日落风景"

# 续次(不加 --mode
$NODE $CLI generate --session <id> --prompt "加入一艘小船"

# 末轮(--mode single 自动关闭)
$NODE $CLI generate --session <id> --prompt "最终调整" --mode single

通过对话链接继续

$NODE $CLI generate --chatUrl "https://gemini.google.com/app/xxxx" --prompt "换成水彩风格"

仅下载已有图片

对话中已有生成图片时,不加 --prompt 直接下载:

$NODE $CLI generate --chatUrl "https://gemini.google.com/app/xxxx" --mode single

从文件或管道读取提示词

$NODE $CLI generate --prompt-file /path/to/prompt.txt --mode single
echo "提示词" | $NODE $CLI generate --prompt stdin --mode single

会话管理

$NODE $CLI sessions                                   # 列出活跃会话
$NODE $CLI find_session --chatUrl "<url>" --open      # 找回丢失的 session
$NODE $CLI close --session <id>                       # 关闭会话

generate 参数参考

参数 说明 默认值
--prompt 提示词。"stdin" 从标准输入读取 必填(与 --chatUrl 共用时可省略)
--prompt-file 从文件读取提示词 -
--image 单张参考图 -
--images 多张参考图,逗号分隔,最多 10 张 -
--session 复用已有会话 ID -
--chatUrl Gemini 对话链接 -
--mode single 生成后关闭标签页 / multi 保持打开 multi
--timeout 生成超时(毫秒) 300000
--download-timeout 下载超时(毫秒) 120000
--screenshot 出错/超时时自动截图 关闭