3.8 KiB
3.8 KiB
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 |
出错/超时时自动截图 | 关闭 |