by WJZ-P
gemini drawing MCP & skill through browser, can be used in openclaw or any agent that supports MCP. Gemini画图 MCP和sill,支持龙虾或任何agent使用٩(๑>◡<๑)۶
# Add to your Claude Code skills
git clone https://github.com/WJZ-P/gemini-skillLast scanned: 5/5/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@hono/node-server: @hono/node-server: Middleware bypass via repeated slashes in serveStatic",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "basic-ftp: basic-ftp: Incomplete CRLF Injection Protection Allows Arbitrary FTP Command Execution via Credentials and MKD Commands",
"severity": "high"
},
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "hono: Hono missing validation of cookie name on write path in setCookie()",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "path-to-regexp: path-to-regexp vulnerable to Denial of Service via sequential optional groups",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-05-05T06:19:24.254Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}gemini-skill is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by WJZ-P. gemini drawing MCP & skill through browser, can be used in openclaw or any agent that supports MCP. Gemini画图 MCP和sill,支持龙虾或任何agent使用٩(๑>◡<๑)۶. It has 826 GitHub stars.
gemini-skill returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/WJZ-P/gemini-skill" and add it to your Claude Code skills directory (see the Installation section above). gemini-skill ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
gemini-skill is primarily written in JavaScript. It is open-source under WJZ-P on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh gemini-skill against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
与 Gemini 的一切交互,按以下优先级选择方式:
gemini_browser_info 获取 CDP 连接信息,主动连接到本 Skill 管理的浏览器进行操作。此方式必须先征得用户同意绝对禁止:自行启动新的浏览器实例访问 Gemini 页面(如使用 OpenClaw 浏览器、另起 Puppeteer 等),这会导致会话冲突。
浏览器 Daemon 未运行时 MCP 工具会自动拉起,无需任何手动操作。
MCP 工具调用(尤其是生图、等待回复等)可能耗时较长(60~180 秒)。必须遵守以下规则:
timeoutMs 必须设为 ≥180000(3 分钟),避免传输层提前超时截断。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_share_latest_image |
为图片创建公开分享链接并直接返回链接,默认最新一张 | index(可选),timeout,copyToClipboard,closeDialog |
文字回复提取:
| 工具名 | 说明 | 入参 |
|---|---|---|
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_generate_image 生成图片gemini_share_latest_image 返回公开链接灵活组合(细粒度控制):
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 信息自行连接调试{
"mcpServers": {
"gemini": {
"command": "node",
"args": ["<项目绝对路径>/src/mcp-server.js"]
}
}
}
也可通过 npm run mcp 手动启动。
工具内部已包含重试逻辑。若仍然失败,返回值的 isError: true 和错误信息会告知原因:
npm run daemongemini_browser_info 查看浏览器状态排查references/gemini-flow.mdreferences/intent-routing.md「剥开了尖刺 却正如你曾经说
赖以生存的温柔只是白纸
盛着破碎的梦和我们的故事」
v1.1.1(2026-05)— 适配新版模型菜单 UI:
pro / flash / flash-lite(替换旧的 pro / quick / think).picker-primary-text innerTextgetThinkingDepth() / setThinkingDepth('standard'|'extended')gemini_set_thinking_depthv1.1.0(2026-05)— 已适配 Gemini 2026 年 5 月最新版 UI:
gem-icon-button[arialabel="上传和工具"])gem-icon-button.send-button)download-generated-image-button 自定义元素).gem-attachment-content.loading)gem-icon-button 包装层Atlas Cloud 是一个 full-modal AI inference platform,为开发者提供统一 AI API,可一站式访问视频生成、图像生成和 LLM API。接入一次,即可统一访问跨模态的 300+ 精选模型。
官方链接:https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=gemini-skill
Atlas Cloud 现提供新的 coding plan 优惠入口,便于更低成本接入 API:
https://www.atlascloud.ai/console/coding-plan
本仓库现在内置了一个最小侵入的 Atlas Cloud provider 方案:
不用装 Node、不用搭环境——在 Bloome 上点一下, gemini-skill 就在云端跑起来了,浏览器和手机都行。顺手还能拉进群,和队友一块儿用。
| 功能 | 说明 | |
|---|---|---|
| 🎨 | AI 生图 | 发送 prompt 自动生成图片,支持高清原图下载 |
| 💬 | 文本对话 | 与 Gemini 进行多轮对话 |
| 🖼️ | 图片上传 | 上传参考图片,基于参考图生成新图 |
| 📥 | 图片提取 | 提取会话中的图片,支持 base64 和 CDP 完整尺寸下载 |
| 🔄 | 会话管理 | 新建会话、临时会话、切换模型、导航到历史会话 |
| 🧹 | 自动去水印 | 下载的图片自动移除 Gemini 水印 |
| 🤖 | MCP Server | 标准 MCP 协议接口,可被任何 MCP 客户端调用 |
| ☁️ | Atlas Cloud Provider | 新增 OpenAI 兼容 Provider,支持模型枚举、文本生成和流式响应验证 |
┌─────────────────────────────────────────────────────┐
│ MCP Client (AI) │
│ Claude / CodeBuddy / ... │
└──────────────────────┬──────────────────────────────┘
│ stdio (JSON-RPC)
▼
┌─────────────────────────────────────────────────────┐
│ mcp-server.js (MCP 协议层) │
│ 注册所有 MCP 工具,编排调用流程 │
└──────────────────────┬──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ index.js → browser.js (连接层) │
│ ensureBrowser() → 自动拉起 Daemon → CDP 直连 │
└──────────┬──────────────────────────────┬───────────┘
│ HTTP (acquire/status) │ WebSocket (CDP)
▼ ▼
┌──────────────────────┐ ┌─────────────────────────┐
│ Browser Daemon │ │ Chrome / Edge │
│ (独立后台进程) │───▶│ gemini.google.com │
│ daemon/server.js │ │ │
│ ├─ engine.js │ │ Stealth + 反爬检测 │
│ ├─ handlers.js │ └─────────────────────────┘
│ └─ lifecycle.js │
│ 30 分钟惰性销毁 │
└──────────────────────┘
核心设计理念:
puppeteer-extra-plugin-stealth 绕过网站检测mcp-server.js(协议层)→ gemini-ops.js(操作层)→ browser.js(连接层)→ daemon/(进程管理)BROWSER_PATH 指定路径)git clone https://github.com/WJZ-P/gemini-skill.git
cd gemini-skill
npm install
所有配置通过环境变量或 .env 文件设置。项目根目录已提供 .env 模板,可直接修改。
配置优先级: process.env > .env.development > .env > 代码默认值
.env.development不会被 git 追踪,适合存放本地私有配置(如浏览器路径)。
| 变量 | 默认值 | 说明 |
|---|---|---|
BROWSER_PATH |
自动检测 | 浏览器可执行文件路径,支持 Chrome / Edge / Chromium。不设则自动按优先级检测系统已安装的浏览器 |
BROWSER_DEBUG_PORT |
40821 |
CDP 远程调试端口。多个 skill(如 douyin-upload-mcp-skill)共享同一端口即共享同一浏览器实例 |
BROWSER_HEADLESS |
false |
是否无头模式。首次使用建议关闭(false),方便登录 Google 账号 |
BROWSER_USER_DATA_DIR |
自动解析 | 浏览器用户数据目录,保存登录态、cookies 等。不设则自动解析:~/.wjz_browser_data → 浏览器默认目录 |
BROWSER_PROTOCOL_TIMEOUT |
60000 |
CDP 协议超时时间(毫秒)。生图等长操作可适当增大 |
| 变量 | 默认值 | 说明 |
|---|---|---|
DAEMON_PORT |
40225 |
Daemon HTTP 服务端口 |
DAEMON_TTL_MS |
1800000 |
闲置超时时间(毫秒),默认 30 分钟。超时后自动关闭浏览器并退出 Daemon,下次调用时自动重新拉起 |
| 变量 | 默认值 | 说明 |
|---|---|---|
OUTPUT_DIR |
./gemini-image |
图片输出目录 |
ATLAS_BASE_URL |
https://api.atlascloud.ai/v1 |
Atlas Cloud OpenAI 兼容接口基础地址 |
ATLAS_API_KEY |
空 | Atlas Cloud API Key,建议写入 .env.development |
ATLAS_MODEL |
openai/gpt-4o-mini |
Atlas Cloud 默认模型 |
ATLAS_REQUEST_TIMEOUT_MS |
60000 |
Atlas Cloud 请求超时(毫秒) |
OpenClaw 的默认 CDP 端口是 18800。如果你希望复用 OpenClaw 已启动的浏览器会话,可以将 BROWSER_DEBUG_PORT 改为 18800:
BROWSER_DEBUG_PORT=18800
但请注意:OpenClaw 自带的浏览器会话没有集成 Stealth 反爬插件,在反检测能力上不如本项目自行维护的浏览器实例。本项目使用 puppeteer-extra-plugin-stealth 提供了完整的反爬保护(隐藏 webdriver 标记、模拟真实浏览器指纹等),能更好地规避网站的自动化检测。
建议:除非有特殊需求,推荐使用默认端口 40821,让项目自行管理浏览器实例以获得最佳的反爬效果。
推荐将本地私有 Key 写入 .env.development:
ATLAS_API_KEY=your_atlas_api_key
ATLAS_BASE_URL=https://api.atlascloud.ai/v1
ATLAS_MODEL=openai/gpt-4o-mini
ATLAS_REQUEST_TIMEOUT_MS=60000
atlas_list_models:列出当前 API Key 可见模型atlas_send_message:调用非流式文本对话atlas_stream_message:消费 Atlas 流式输出并聚合返回,便于做集成验证gemini_* MCP 工具和调用方式在 MCP 客户端配置文件中添加:
{
"mcpServers": {
"gemini": {
"command": "node",
"args": ["<项目绝对路径>/src/mcp-server.js"]
}
}
}
启动后 AI 即可通过 MCP 协议调用所有工具。
# 启动 MCP Server(stdio 模式,供 AI 客户端调用)
npm run mcp
# 单独启动 Browser Daemon(通常不需要,MCP 会自动拉起)
npm run daemon
# 运行 Demo 示例
npm run demo
import { createGeminiSession, disconnect } from './src/index.js';
const { ops } = await createGeminiSession();
// 生图
const result = await ops.generateImage('画一只可爱的猫咪', { fullSize: true });
console.log('图片保存至:', result.filePath);
// 用完断开(不关浏览器,由 Daemon 继续守护)
disconnect();
import { createAtlasProvider } from './src/index.js';
const atlas = createAtlasProvider();
const result = await atlas.createChatCompletion({
model: 'openai/gpt-4o-mini',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Reply with OK only.' }
],
temperature: 0,
max_tokens: 16,
});
console.log(result.choices[0].message.content);
| 工具名 | 说明 | 主要参数 |
|---|---|---|
atlas_list_models |
获取当前 Atlas Cloud API Key 可见模型 | 无 |
atlas_send_message |
发送 Atlas Cloud 非流式对话请求 | model, messages, temperature, max_tokens |
atlas_stream_message |
验证 Atlas Cloud Streaming 接口并聚合返回 | model, messages, temperature, max_tokens |
| 工具名 | 说明 | 主要参数 |