baoyu-danger-gemini-web
Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input, and multi-turn conversations. Use when other skills need image generation backend, or when user requests "generate image with Gemini", "Gemini
By jimliu · 27,188 installs
npx skills add jimliu/baoyu-skills --skill baoyu-danger-gemini-web
Source repository · Upstream listing
Gemini Web Client
Text/image generation via Gemini Web API. Supports reference images and multi turn conversations.
User Input Tools
When this skill prompts the user, follow this tool selection rule (priority order):
1. Prefer built in user input tools exposed by the current agent runtime — e.g., AskUserQuestion , request user input , clarify , ask user , or any equivalent.
2. Fallback : if no such tool exists, emit a numbered plain text message and ask the user to reply with the chosen number/answer for each question.
3. Batching : if the tool supports multiple questions per call, combine all applicable questions into a single call; if only single question, ask them one at a time in priority order.
Concrete AskUserQuestion references below are examples — substitute the local equivalent in other runtimes.
Script Directory
Important : All scripts are located in the scripts/ subdirectory of this skill.
Agent Execution Instructions :
1. Determine this SKILL.md file's directory path as {baseDir}
2. Script path = {baseDir}/scripts/<script name .ts
3. Resolve ${BUN X} runtime: if bun installed → bun ; if npx available → npx y bun ; else suggest installing bun
4. Replace all {baseDir} and ${BUN X} in this document with actual values
Script Reference :
Script Purpose
scripts/main.ts CLI entry point for text/image generation
scripts/gemini webapi/ TypeScript port of gemini webapi (GeminiClient, types, utils)
Consent Check (REQUIRED)
Before first use, verify user consent for reverse engineered API usage.
Consent file locations :
macOS: ~/Library/Application Support/baoyu skills/gemini web/consent.json
Linux: ~/.local/share/baoyu skills/gemini web/consent.json
Windows: %APPDATA%\baoyu skills\gemini web\consent.json
Flow :
1. Check if consent file exists with accepted: true and disclaimerVersion: "1.0"
2. If valid consent exists → print warning with acceptedAt date, proceed
3. If no consent → show disclaimer, ask user via AskUserQuestion :
"Yes, I accept" → create consent file with ISO timestamp, proceed
"No, I decline" → output decline message, stop
4. Consent file format: {"version":1,"accepted":true,"acceptedAt":"<ISO ","disclaimerVersion":"1.0"}
Preferences (EXTEND.md)
Check EXTEND.md in priority order — the first one found wins:
Priority Path Scope
1 .baoyu skills/baoyu danger gemini web/EXTEND.md Project
2 ${XDG CONFIG HOME: $HOME/.config}/baoyu skills/baoyu danger gemini web/EXTEND.md XDG
3 $HOME/.baoyu skills/baoyu danger gemini web/EXTEND.md User home
If none found, use defaults.
EXTEND.md supports : Default model, proxy settings, custom data directory.
Usage
Options
Option Description
prompt , p Prompt text
promptfiles Read prompt from files (concatenated)
model , m Model: gemini 3 pro (default), gemini 3 flash, gemini 3 flash thinking, gemini 3.1 pro preview
image [path] Generate image (default: generated.png)
reference , ref Reference images for vision input
sessionId Session ID for multi turn conversation
list sessions List saved sessions
json Output as JSON
login Refresh cookies, then exit
cookie path Custom cookie file path
profile dir Chrome profile directory
Models
Model Description
gemini 3 pro Default, latest 3.0 Pro
gemini 3 flash Fast, lightweight 3.0 Flash
gemini 3 flash thinking 3.0 Flash with thinking
gemini 3.1 pro preview 3.1 Pro preview (empty header, auto routed)
Authentication
First run opens browser for Google auth. Cookies cached automatically.
When no explicit profile dir is set, cookie refresh may reuse an already running local Chrome/Chromium debugging session tied to a standard user data dir.
Set profile dir or GEMINI WEB CHROME PROFILE DIR to force a dedicated profile and skip existing session reuse.
This is a best effort CDP session reuse path, not the Chrome DevTools MCP prompt based autoConnect flow described in Chrome's official docs.
Supported browsers (auto detected): Chrome, Chrome Canary/Beta, Chromium, Edge.
Force refresh: login flag. Override browser: GEMINI WEB CHROME PATH env var.
Environment Variables
Variable Description
GEMINI WEB DATA DIR Data directory
GEMINI WEB COOKIE PATH Cookie file path
GEMINI WEB CHROME PROFILE DIR Chrome profile directory
GEMINI WEB CHROME PATH Chrome executable path
HTTP PROXY , HTTPS PROXY Proxy for Google access (set inline with command)
Sessions
Session files stored in data directory under sessions/<id .json .
Contains: id , metadata (Gemini chat state), messages array, timestamps.
Extension Support
Custom configurations via EXTEND.md. See Preferences section for paths and supported options.