[白嫖指南] 无需 API Key 即可画图!我把 Gemini 网页版封装成了标准 MCP - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
WJZ0821

[白嫖指南] 无需 API Key 即可画图!我把 Gemini 网页版封装成了标准 MCP

  •  
  •   WJZ0821 3 月 25 日 1053 次点击

    项目地址 gemini-skill

    使用示例

    example

    概要

    大家平时在折腾大模型 Agent (或者用 Cursor 、Claude Desktop )时,如果想接入高质量的 AI 生图能力,往往会被 API Key 卡脖子要么需要绑卡付费,要么有严格的区域和额度限制。

    我个人一直使用的是 Gemini 的网页版生图能力,也就是 nano banana 2 模型,生图质量还是很不错的。但通过 API 调用的话就需要付费或者绑卡等繁琐操作,因此这个项目诞生了。

    技术解析

    原理是使用 puppeteer ,通过 CDP 连接一个独立的浏览器,接着封装一些函数供 AI 使用,我同时提供了 skills 和 MCP ,既可以接入龙虾,也可以在任何支持 mcp 的 agent 中使用。并且开浏览器的时候做了严格的反爬措施,我高强度使用一周有余,没有任何问题。并且内置了去水印服务,支持下载原图,并自动去除水印。

    现在,不需要任何 API Key ,只要启动这个服务,你的 AI 代理就能直接在后台稳定地操纵 Gemini 为你生成并下载图片!

    核心特性:这不是一个简单的 Selenium 脚本

    为了做到工业级的稳定性,我在这套架构里下了不少猛药:

    底层 CDP 协议直连,无视前端框架阻拦:

    抛弃了脆弱的 UI 层 click(),直接通过 Chrome DevTools Protocol (CDP) 注入 V8 内存发号施令。解决了极其恶心的“幽灵 Hover”问题,并且直接通过 CDP 重定向下载目录,完美接管文件系统。

    彻底解耦的微服务架构 (Daemon + Client):

    脚本最怕什么?内存泄漏和僵尸进程。我将架构拆分为一个常驻后台的“浏览器守护进程 (Daemon)”和极度轻量的调用端。即使你的 AI 主程序崩溃了一万次,底层的 Chrome 依然稳如泰山,并且拥有 30 分钟无操作自动回收的续命机制。

    完美接入 MCP 协议生态:

    无需自己写恶心的正则解析和胶水代码,直接引入 @modelcontextprotocol/sdk 和 Zod 。这意味着,你的 Cursor 或 Claude Desktop 只需要一行 JSON 配置,就能立刻获得白嫖 Gemini 画图的超能力!

    一些极其折磨人的踩坑复盘

    在开发过程中,我被大厂的前端安全机制和操作系统底层 IO 毒打了一番,分享几个经典的天坑,帮大家避雷:

    原本想通过 Canvas.toDataURL() 直接提取图片 Base64 ,结果被浏览器的同源策略和画布污染机制无情拦截,最后逼得我直接走 CDP 底层拦截文件流。

    如何使用 / 接入你的 Agent

    由于采用了 MCP 标准,接入简直不要太爽。你只需要在你的 OpenClaw / Cursor 的配置里加上:

    JSON { "mcpServers": { "gemini_skill": { "command": "node", "args": ["/你的绝对路径/src/mcp-server.js"] } } } 

    然后你就可以直接对你的 AI 说:“帮我画一张赛博朋克风格的机器猫”,后台会自动完成:冷启动高匿浏览器 -> 注入 Prompt -> 原生事件轰炸突破 UI -> 拦截下载落地 -> 返回成功回执!

    注:以上的部分文本由 Gemini 润色,感觉比我写得好哈哈。

    希望大家多多 star ,多多交流~

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3707 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 04:39 PVG 12:39 LAX 21:39 JFK 00:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86