
大家平时在折腾大模型 Agent (或者用 Cursor 、Claude Desktop )时,如果想接入高质量的 AI 生图能力,往往会被 API Key 卡脖子——要么需要绑卡付费,要么有严格的区域和额度限制。
我个人一直使用的是 Gemini 的网页版生图能力,也就是 nano banana 2 模型,生图质量还是很不错的。但通过 API 调用的话就需要付费或者绑卡等繁琐操作,因此这个项目诞生了。
原理是使用 puppeteer ,通过 CDP 连接一个独立的浏览器,接着封装一些函数供 AI 使用,我同时提供了 skills 和 MCP ,既可以接入龙虾,也可以在任何支持 mcp 的 agent 中使用。并且开浏览器的时候做了严格的反爬措施,我高强度使用一周有余,没有任何问题。并且内置了去水印服务,支持下载原图,并自动去除水印。
现在,不需要任何 API Key ,只要启动这个服务,你的 AI 代理就能直接在后台稳定地操纵 Gemini 为你生成并下载图片!
为了做到工业级的稳定性,我在这套架构里下了不少猛药:
抛弃了脆弱的 UI 层 click(),直接通过 Chrome DevTools Protocol (CDP) 注入 V8 内存发号施令。解决了极其恶心的“幽灵 Hover”问题,并且直接通过 CDP 重定向下载目录,完美接管文件系统。
脚本最怕什么?内存泄漏和僵尸进程。我将架构拆分为一个常驻后台的“浏览器守护进程 (Daemon)”和极度轻量的调用端。即使你的 AI 主程序崩溃了一万次,底层的 Chrome 依然稳如泰山,并且拥有 30 分钟无操作自动回收的续命机制。
无需自己写恶心的正则解析和胶水代码,直接引入 @modelcontextprotocol/sdk 和 Zod 。这意味着,你的 Cursor 或 Claude Desktop 只需要一行 JSON 配置,就能立刻获得白嫖 Gemini 画图的超能力!
在开发过程中,我被大厂的前端安全机制和操作系统底层 IO 毒打了一番,分享几个经典的天坑,帮大家避雷:
原本想通过 Canvas.toDataURL() 直接提取图片 Base64 ,结果被浏览器的同源策略和画布污染机制无情拦截,最后逼得我直接走 CDP 底层拦截文件流。
由于采用了 MCP 标准,接入简直不要太爽。你只需要在你的 OpenClaw / Cursor 的配置里加上:
JSON
{
"mcpServers": {
"gemini_skill": {
"command": "node",
"args": ["/你的绝对路径/src/mcp-server.js"]
}
}
}
然后你就可以直接对你的 AI 说:“帮我画一张赛博朋克风格的机器猫”,后台会自动完成:冷启动高匿浏览器 -> 注入 Prompt -> 原生事件轰炸突破 UI -> 拦截下载落地 -> 返回成功回执!
注:以上的部分文本由 Gemini 润色,感觉比我写得好哈哈。
希望大家多多 star ,多多交流~