- 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
:
Determine this SKILL.md file's directory path as
SKILL_DIR
Script path =
${SKILL_DIR}/scripts/
.ts 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/tuzi-skills/gemini-web/consent.json Linux: ~/.local/share/tuzi-skills/gemini-web/consent.json Windows: %APPDATA%\tuzi-skills\gemini-web\consent.json Flow : Check if consent file exists with accepted: true and disclaimerVersion: "1.0" If valid consent exists → print warning with acceptedAt date, proceed 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 Consent file format: {"version":1,"accepted":true,"acceptedAt":" ","disclaimerVersion":"1.0"} Preferences (EXTEND.md) Use Bash to check EXTEND.md existence (priority order):
Check project-level first
test -f .tuzi-skills/tuzi-danger-gemini-web/EXTEND.md && echo "project"
Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
- test
- -f
- "
- $HOME
- /.tuzi-skills/tuzi-danger-gemini-web/EXTEND.md"
- &&
- echo
- "user"
- ┌──────────────────────────────────────────────────────────┬───────────────────┐
- │ Path │ Location │
- ├──────────────────────────────────────────────────────────┼───────────────────┤
- │ .tuzi-skills/tuzi-danger-gemini-web/EXTEND.md │ Project directory │
- ├──────────────────────────────────────────────────────────┼───────────────────┤
- │ $HOME/.tuzi-skills/tuzi-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
Text generation
npx -y bun ${SKILL_DIR} /scripts/main.ts "Your prompt" npx -y bun ${SKILL_DIR} /scripts/main.ts --prompt "Your prompt" --model gemini-3-flash
Image generation
npx -y bun ${SKILL_DIR} /scripts/main.ts --prompt "A cute cat" --image cat.png npx -y bun ${SKILL_DIR} /scripts/main.ts --promptfiles system.md content.md --image out.png
Vision input (reference images)
npx -y bun ${SKILL_DIR} /scripts/main.ts --prompt "Describe this" --reference image.png npx -y bun ${SKILL_DIR} /scripts/main.ts --prompt "Create variation" --reference a.png --image out.png
Multi-turn conversation
npx -y bun ${SKILL_DIR} /scripts/main.ts "Remember: 42" --sessionId session-abc npx -y bun ${SKILL_DIR} /scripts/main.ts "What number?" --sessionId session-abc
JSON output
npx
-y
bun
${SKILL_DIR}
/scripts/main.ts
"Hello"
--json
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.
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/