baoyu-danger-gemini-web

Text/image generation via Gemini Web API. Supports reference images and multi-turn conversations.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "baoyu-danger-gemini-web" with this command: npx skills add oldwinter/skills/oldwinter-skills-baoyu-danger-gemini-web

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/<script-name>.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/baoyu-skills/gemini-web/consent.json

  • Linux: ~/.local/share/baoyu-skills/gemini-web/consent.json

  • Windows: %APPDATA%\baoyu-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":"<ISO>","disclaimerVersion":"1.0"}

Preferences (EXTEND.md)

Use Bash to check EXTEND.md existence (priority order):

Check project-level first

test -f .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md && echo "project"

Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)

test -f "$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md │ Project directory │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-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/<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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

personal-productivity

No summary provided by upstream source.

Repository SourceNeeds Review
General

kubectl

No summary provided by upstream source.

Repository SourceNeeds Review
General

obsidian-dashboard

No summary provided by upstream source.

Repository SourceNeeds Review