claude-drives-gemini
Use when the user wants to generate images, video, or music with Gemini (生图/生视频/生乐/配图/PPT插图/用Gemini出图/做视频/做音乐/Nano Banana/Veo/Lyria) on a machine with a dedicated Chrome profile logged into Google AI
SKILL.mdSKILL.md
GitHubclaude-drives-gemini v1.0 — 用 Gemini Pro 网页(CDP)出图 / 视频 / 音乐
Claude 只当导演:经 CDP 操控已登录的专用 Chrome(9223),用 Nano Banana(图 2816×1536)/ Veo(视频,界面标 "Omni")/ Lyria(乐)出活。产物全尺寸无损落盘,媒体字节绝不进上下文。
⭐ 一条命令(默认打法)
cd ~/.claude/skills/claude-drives-gemini/scripts
node gemini-gen.mjs <image|video|music> "<提示词>" <out> [--use-tool]
全内置:preflight(查/拉专用 Chrome+取 ws)→ 确保模式 Pro+扩展思考 → 直发提交 → 阶段感知等待 → 原生下载 → 关 tab。回执一行 JSON:{ok,type,file,dims,mb,mode,resubmits,seconds};失败含 stage(chrome/submit/wait/genfail/download/wait-infra/run)与可补捞的 tid。
- 阶段感知重试,绝不盲目重提交:「无法生成」明确拒绝→同 tab 安全重发 1 次(未产出不烧额度);视频直发连拒→自动降级
--use-tool;超时→只延长等待;下载失败→只重下载并保留 tab。 - 耗时预期(Pro 扩展思考):图 1–3 分钟、乐 1–2 分钟、视频 2–5 分钟。比 Flash 慢数倍且思考期无任何页面迹象——是质量的代价,不是卡死,别中途放弃。
- 多个产物一律串行跑,复用 ws:
WS=$(node gemini-wsurl.mjs)后每次传--ws "$WS"。
提示词契约(直发,必守)
- 必须带明确生成动词:「直接生成/制作一段…图片/视频/音乐」+「不要解释」。描述性措辞会被误路由(实测"适合阅读的钢琴曲"被当点歌弹 YouTube Music)。
- 视频需要 9:16 竖屏 / 风格模板(面板内建 18 款)→ 加
--use-tool走工具面板。
铁律(违背 = 失败)
- 媒体只落盘、只回元数据;绝不 base64 进上下文(6MB 图 ≈ 50 万 token)。质检只看 384px 缩略图,或派子 agent 看了回文字结论。
- 高清 = 原生下载钮(真 2816×1536),不是截图(页面
<img>只是 1408 半分辨率预览)。 - 额度先评估再出活:Veo App 仅 3 条/天;触顶降级并告知用户,不闷头重试 →
references/quota-tiers.md。 - 水印诚实:可见水印用官方开关关(Gemini 网页 设置→媒体水印→关闭,一次即可,覆盖图/视频/乐);SynthID 隐形水印仍在且去不掉,如实告知用户。
- 串行不并行、节流出活(防封号)→
references/runtime-env.md。
渐进式披露(按需读,别全读)
| 什么时候 | 读哪个 |
|---|---|
stage=chrome / 登录墙 / 代理·端口·下载目录 / 模式与耗时 / 防封号·无人值守 |
references/runtime-env.md |
| 选择器失效、Gemini 改版 → 重探 + 自愈 + 回写(技能自我进化) | references/gemini-ui.md |
| 额度触顶 → 各模态降级路线 | references/quota-tiers.md |
| 水印:官方开关位置 / SynthID / 无开关账号的兜底 | references/dewatermark.md |
| 分步命令链、单步调试、全部脚本用法 | scripts/README.md |
| 换机/首装:setup 向导 · 零额度冒烟 | setup/init.mjs · scripts/smoke.mjs |
失败速查(看 JSON.stage)
chrome:跑launchers/start-chrome.cmd|sh(没有就先node setup/init.mjs生成);页面 ERR 多半是本地代理没开(runtime-env)。genfail:两次明确拒绝——换提示词表述再试。wait/download且带tid:产物可能已在页面,node gemini-download.mjs "$WS" <tid> <type> <out>补捞(下载目录按 ws 端口自动判断;实测有效),完了关 tab。wait-infra/run:基础设施/未分类错误,看error文本。- 登录墙:跑
launchers/login-chrome.cmd|sh人工续期(勿在调试端口窗口登录),详见 runtime-env。