docs: 更新文档并优化模型切换逻辑

This commit is contained in:
knowen
2026-03-20 15:31:56 +08:00
parent 946ce4407f
commit 2394a37628
2 changed files with 41 additions and 5 deletions

View File

@@ -1,10 +1,26 @@
--- ---
name: gemini-skill name: gemini-skill
description: 通过 Gemini 官网gemini.google.com执行生图操作。用户提到"生图/画图/绘图/nano banana/nanobanana/生成图片"等关键词时触发。所有浏览器操作已封装为 MCP 工具AI 无需手动操控浏览器但必要时可以通过gemini_browser_info获取浏览器连接信息方便AI自行连接调试 description: 通过 Gemini 官网gemini.google.com执行生图、对话等操作。用户提到"生图/画图/绘图/nano banana/nanobanana/生成图片"等关键词时触发。操作方式分三级优先级:首选 MCP 工具 → 次选 Skill 脚本 → 最次连接 Skill 浏览器手动操作(需用户授权)。禁止自行启动外部浏览器访问 Gemini
--- ---
# Gemini Skill # 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 banana``nanobanana``image generation``生成图片` - **生图任务**`生图``画``绘图``海报``nano banana``nanobanana``image generation``生成图片`
@@ -12,9 +28,9 @@ description: 通过 Gemini 官网gemini.google.com执行生图操作。用
## 使用方式 ## 使用方式
本 Skill 通过 MCP Server 暴露工具AI 直接调用即可**不需要手动操作浏览器** 本 Skill 通过 MCP Server 暴露工具AI 直接调用即可。
浏览器启动、会话管理、图片提取、文件保存等流程已全部封装在工具内部。Daemon 未运行时会自动后台拉起,无需手动启动。 浏览器启动、会话管理、图片提取、文件保存等流程已全部封装在工具内部。
### 可用工具 ### 可用工具
@@ -51,6 +67,19 @@ description: 通过 Gemini 官网gemini.google.com执行生图操作。用
| `gemini_get_images` | 获取会话中所有已加载图片的元信息 | 无 | | `gemini_get_images` | 获取会话中所有已加载图片的元信息 | 无 |
| `gemini_extract_image` | 提取指定图片的 base64 并保存到本地 | `imageUrl`(从 get_images 获取) | | `gemini_extract_image` | 提取指定图片的 base64 并保存到本地 | `imageUrl`(从 get_images 获取) |
**文字回复提取:**
| 工具名 | 说明 | 入参 |
|--------|------|------|
| `gemini_get_all_text_responses` | 获取会话中所有文字回复(仅文字,不含图片) | 无 |
| `gemini_get_latest_text_response` | 获取最新一条文字回复 | 无 |
**登录状态:**
| 工具名 | 说明 | 入参 |
|--------|------|------|
| `gemini_check_login` | 检查是否已登录 Google 账号 | 无 |
**诊断 & 恢复:** **诊断 & 恢复:**
| 工具名 | 说明 | 入参 | | 工具名 | 说明 | 入参 |

View File

@@ -48,6 +48,13 @@ server.registerTool(
await sleep(250); await sleep(250);
} }
// 确保是pro会话
const modelCheck = await ops.checkModel();
if (!modelCheck.ok || modelCheck.model !== 'pro') {
await ops.switchToModel('pro');
console.error(`[mcp] 已切换至 pro 模型`);
}
// 如果有参考图,先上传 // 如果有参考图,先上传
if (referenceImages.length > 0) { if (referenceImages.length > 0) {
for (const imgPath of referenceImages) { for (const imgPath of referenceImages) {