Files
gemini-skill/SKILL.md

5.5 KiB
Raw Blame History

name, description
name description
gemini-skill 通过 Gemini 官网gemini.google.com执行生图、对话等操作。用户提到"生图/画图/绘图/nano banana/nanobanana/生成图片"等关键词时触发。操作方式分三级优先级:首选 MCP 工具 → 次选 Skill 脚本 → 最次连接 Skill 浏览器手动操作(需用户授权)。禁止自行启动外部浏览器访问 Gemini。

Gemini Skill

⚠️ 操作优先级(必须遵守)

与 Gemini 的一切交互,按以下优先级选择方式:

  1. 🥇 首选:调用 MCP 工具 — 直接调用本 Skill 暴露的 MCP 工具完成操作,覆盖绝大多数场景
  2. 🥈 次选:运行 Skill 脚本 — 当 MCP 工具无法满足需求时,可运行本 Skill 项目中提供的脚本来完成
  3. 🥉 最次:连接 Skill 管理的浏览器 — 仅当前两种方式都无法解决时,可通过 gemini_browser_info 获取 CDP 连接信息,主动连接到本 Skill 管理的浏览器进行操作。此方式必须先征得用户同意

绝对禁止:自行启动新的浏览器实例访问 Gemini 页面(如使用 OpenClaw 浏览器、另起 Puppeteer 等),这会导致会话冲突。

浏览器 Daemon 未运行时 MCP 工具会自动拉起,无需任何手动操作。

📡 进度同步

MCP 工具调用(尤其是生图、等待回复等)可能耗时较长。每隔 15 秒必须主动向用户发送一条进度消息,告知当前操作状态(如"正在等待 Gemini 生成图片…"、"图片仍在加载中,已等待 30 秒…"),避免用户长时间挂起收不到任何反馈。

触发关键词

  • 生图任务生图绘图海报nano bananananobananaimage generation生成图片
  • 若请求含糊,先确认用户是否需要生图

使用方式

本 Skill 通过 MCP Server 暴露工具AI 直接调用即可。

浏览器启动、会话管理、图片提取、文件保存等流程已全部封装在工具内部。

可用工具

核心生图(封装完整流程):

工具名 说明 入参
gemini_generate_image 完整生图流程新建会话→发prompt→等待→提取图片→保存本地 promptnewSession默认falsereferenceImages(参考图路径数组,默认空)

会话管理:

工具名 说明 入参
gemini_new_chat 新建一个空白对话
gemini_temp_chat 进入临时对话模式(不保留历史记录)

模型切换:

工具名 说明 入参
gemini_switch_model 切换 Gemini 模型 modelpro / quick / think

文本对话:

工具名 说明 入参
gemini_send_message 发送文本消息并等待回答完成 messagetimeout默认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_probe 探测页面各元素状态(输入框、按钮、模型等)
gemini_reload_page 刷新页面(卡住或异常时使用) timeout默认30000ms
gemini_browser_info 获取浏览器连接信息CDP 端口、wsEndpoint 等)

典型用法

快速生图(一步到位):

  1. 调用 gemini_generate_image,传入 prompt → 返回本地图片路径

灵活组合(细粒度控制):

  1. gemini_new_chat — 新建会话
  2. gemini_switch_modelpro — 切换到高质量模型
  3. gemini_upload_images — 上传参考图
  4. gemini_send_message — 发送描述词
  5. gemini_get_imagesgemini_extract_image — 获取并保存图片

排障:

  1. gemini_probe — 看看页面元素有没有就位
  2. gemini_reload_page — 页面卡了就刷新
  3. 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