canghe-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 freestylefly · 486 installs
npx skills add freestylefly/canghe-skills --skill canghe-danger-gemini-web
Source repository · Upstream listing
Gemini Web Client
Text/image generation via Gemini Web API. Supports reference images and multi turn conversations.
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 SKILL DIR
2. Script path = ${SKILL DIR}/scripts/<script name .ts
3. Replace all ${SKILL DIR} in this document with the actual path
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/canghe skills/gemini web/consent.json
Linux: ~/.local/share/canghe skills/gemini web/consent.json
Windows: %APPDATA%\canghe 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)
Use Bash to check EXTEND.md existence (priority order):
┌──────────────────────────────────────────────────────────┬───────────────────┐
│ Path │ Location │
├──────────────────────────────────────────────────────────┼───────────────────┤
│ .canghe skills/canghe danger gemini web/EXTEND.md │ Project directory │
├──────────────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.canghe skills/canghe danger gemini web/EXTEND.md │ User home │
└──────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐
│ Result │ Action │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ Found │ Read, parse, apply settings │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ Not 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 2.5 pro, gemini 2.5 flash
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
gemini 2.5 pro Previous pro
gemini 2.5 flash Fast, lightweight
Authentication
First run opens browser for Google auth. Cookies cached automatically.
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.