gemini-skill
gemini-skill 是一个基于 CDP (Chrome DevTools Protocol) 的工具,旨在自动化操控 Gemini 网页版。它能帮助用户实现 AI 生图、智能对话以及图片提取等功能。该技能包可无缝集成到 OpenClaw 或任何支持 MCP 的智能体中,极大地扩展了智能体与 Gemini 交互的能力,提升了工作效率和自动化水平。
npx skills add WJZ-P/gemini-skillBefore / After 效果对比
1 组手动在 Gemini 网页版进行生图、对话或图片提取,需要用户频繁点击、输入和等待,操作繁琐且耗时,难以批量处理。
通过 `gemini-skill`,智能体可自动操控 Gemini 网页版,实现生图、对话和图片提取的自动化与批量处理,大幅减少人工干预。
description SKILL.md
name: gemini-skill description: 通过 Gemini 官网(gemini.google.com)执行生图、对话等操作。用户提到"生图/画图/绘图/nano banana/nanobanana/生成图片"等关键词时触发。操作方式分三级优先级:首选 MCP 工具 → 次选 Skill 脚本 → 最次连接 Skill 浏览器手动操作(需用户授权)。禁止自行启动外部浏览器访问 Gemini。
Gemini Skill
⚠️ 操作优先级(必须遵守)
与 Gemini 的一切交互,按以下优先级选择方式:
- 🥇 首选:调用 MCP 工具 — 直接调用本 Skill 暴露的 MCP 工具完成操作,覆盖绝大多数场景
- 🥈 次选:运行 Skill 脚本 — 当 MCP 工具无法满足需求时,可运行本 Skill 项目中提供的脚本来完成
- 🥉 最次:连接 Skill 管理的浏览器 — 仅当前两种方式都无法解决时,可通过
gemini_browser_info获取 CDP 连接信息,主动连接到本 Skill 管理的浏览器进行操作。此方式必须先征得用户同意
绝对禁止:自行启动新的浏览器实例访问 Gemini 页面(如使用 OpenClaw 浏览器、另起 Puppeteer 等),这会导致会话冲突。
浏览器 Daemon 未运行时 MCP 工具会自动拉起,无需任何手动操作。
📡 进度同步 & 长耗时工具规则
MCP 工具调用(尤其是生图、等待回复等)可能耗时较长(60~180 秒)。必须遵守以下规则:
- 本 Skill 所有 MCP 工具均为同步阻塞调用,会等到最终结果才返回。不存在"中间状态"需要轮询。
- 调用长耗时工具时,
timeoutMs必须设为 ≥180000(3 分钟),避免传输层提前超时截断。 - 禁止在未收到工具最终返回前结束对话或向用户报告"还在运行"/"工具超时"。
- 每隔 15~30 秒向用户发送一条进度消息(如"正在等待 Gemini 生成图片…已等待 30 秒…"),保持反馈。
- 拿到最终结果后立即回传产物(文件路径)或报告错误,不得遗漏。
- 若
fullSize模式失败,可降级重试fullSize=false(预览图模式更稳定)。
触发关键词
- 生图任务:
生图、画、绘图、海报、nano banana、nanobanana、image generation、生成图片 - 若请求含糊,先确认用户是否需要生图
使用方式
本 Skill 通过 MCP Server 暴露工具,AI 直接调用即可。
浏览器启动、会话管理、图片提取、文件保存等流程已全部封装在工具内部。
⚠️ 强制规则
AI 必须始终通过 MCP 工具完成所有操作。
禁止绕过 MCP 自行编写临时脚本(如
node -e "..."或创建.js临时文件)来import/require本项目导出的函数(如createGeminiSession、createOps等)。如果 MCP 工具确实无法满足当前需求,AI 必须先向用户说明原因并获得明确同意, 才能编写临时脚本调用底层 API。未经用户同意,一律禁止。
可用工具
核心生图(封装完整流程):
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_generate_image | 完整生图流程:新建会话→发prompt→等待→提取图片→保存本地(耗时约 60~120 秒) | prompt,newSession(默认false),referenceImages(参考图路径数组),fullSize(默认true,高清原图;false则预览图),timeout(默认120000ms) |
会话管理:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_new_chat | 新建一个空白对话 | 无 |
gemini_temp_chat | 进入临时对话模式(不保留历史记录) | 无 |
模型切换:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_switch_model | 切换 Gemini 模型 | model(pro / quick / think) |
文本对话:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_send_message | 发送文本消息并等待回答完成,直接返回 Gemini 的回复文本 | message,timeout(默认120000ms) |
图片操作:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_upload_images | 上传图片到输入框(仅上传不发送,可配合 send_message) | images(路径数组) |
gemini_get_images | 获取会话中所有已加载图片的元信息 | 无 |
gemini_extract_image | 提取指定图片的 base64 并保存到本地 | imageUrl(从 get_images 获取) |
gemini_download_full_size_image | 下载完整尺寸的高清图片,默认最新一张,可指定索引 | index(可选,从0开始,从旧到新) |
文字回复提取:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_get_all_text_responses | 获取会话中所有文字回复(仅文字,不含图片) | 无 |
gemini_get_latest_text_response | 获取最新一条文字回复 | 无 |
登录状态:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_check_login | 检查是否已登录 Google 账号 | 无 |
页面导航:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_navigate_to | 打开指定的 Gemini 页面 URL(如历史会话链接),仅允许 gemini.google.com 域名 | url(目标 URL),timeout(默认30000ms) |
诊断 & 恢复:
| 工具名 | 说明 | 入参 |
|---|---|---|
gemini_probe | 探测页面各元素状态(输入框、按钮、模型等) | 无 |
gemini_reload_page | 刷新页面(卡住或异常时使用) | timeout(默认30000ms) |
gemini_browser_info | 获取浏览器连接信息(CDP 端口、wsEndpoint 等) | 无 |
典型用法
快速生图(一步到位):
- 调用
gemini_generate_image,传入 prompt → 返回本地图片路径
灵活组合(细粒度控制):
gemini_new_chat— 新建会话gemini_switch_model→pro— 切换到高质量模型gemini_upload_images— 上传参考图gemini_send_message— 发送描述词gemini_get_images→gemini_extract_image— 获取并保存图片
排障:
gemini_probe— 看看页面元素有没有就位gemini_reload_page— 页面卡了就刷新gemini_browser_info— 获取 CDP 信息自行连接调试
MCP 客户端配置
{
"mcpServers": {
"gemini": {
"command": "node",
"args": ["<项目绝对路径>/src/mcp-server.js"]
}
}
}
也可通过 npm run mcp 手动启动。
失败处理
工具内部已包含重试逻辑。若仍然失败,返回值的 isError: true 和错误信息会告知原因:
- 生成超时 — 建议用户简化描述词后重试
- Daemon 未启动 — 工具会自动拉起,若仍失败可手动
npm run daemon - 页面异常 — 可调用
gemini_browser_info查看浏览器状态排查
参考
- 详细执行与回退:
references/gemini-flow.md - 关键词与路由:
references/intent-routing.md
forum用户评价 (0)
发表评价
暂无评价
统计数据
用户评分
为此 Skill 评分