{"id":"9c81771b-ed3b-4bfa-aa06-7f8a376f97cc","entityType":"agent","slug":"clawhub-jimliu-baoyu-danger-gemini-web","name":"baoyu-danger-gemini-web","canonicalUrl":"https://www.xpersona.co/agent/clawhub-jimliu-baoyu-danger-gemini-web","canonicalPath":"/agent/clawhub-jimliu-baoyu-danger-gemini-web","generatedAt":"2026-10-10T01:28:42.080Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T14:36:44.262Z","emptyReason":null},"description":"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 text generation\", or needs vision-capable AI generation. Skill: baoyu-danger-gemini-web Owner: jimliu Summary: 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 text generation\", or needs vision-capable AI generation. Tags: lat","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.5K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s17dfbhg0khk4fvtnx0stqg0yx83j25z:baoyu-danger-gemini-web","sourceUrl":"https://clawhub.ai/jimliu/baoyu-danger-gemini-web","homepage":"https://clawhub.ai/jimliu/skills/baoyu-danger-gemini-web","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/jimliu/baoyu-danger-gemini-web","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/jimliu/skills/baoyu-danger-gemini-web","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":68,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input, and"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T14:36:44.262Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T14:36:44.262Z","emptyReason":null},"stars":null,"forks":null,"downloads":2468,"packageName":null,"latestVersion":"1.56.1","tractionLabel":"2.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T14:36:44.261Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T14:36:44.262Z","lastCrawledAt":"2026-10-09T14:36:44.261Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T14:36:44.261Z","lastVerifiedAt":null,"highlights":[{"version":"1.56.1","createdAt":"2026-05-24T22:08:59.801Z","changelog":"Version 1.56.1 - Added: `version` and `metadata` fields to SKILL.md for improved compatibility and discoverability. - Updated: User input tool selection guidelines for better integration across diverse runtimes. - Enhanced: Script instructions now support both `bun` and `npx` fallback, with runtime variable `${BUN_X}`. - Improved: Preferences section now supports XDG config spec for EXTEND.md location; updated priority/search order. - Clarified: Authentication instructions regarding Chrome profile reuse and session handling. - Added: New scripts - `scripts/bun.lock`, `scripts/gemini-webapi/client.test.ts`, `scripts/package.json` for reproducible builds and improved testability.","fileCount":30,"zipByteSize":37540},{"version":"0.1.0","createdAt":"2026-03-04T01:45:25.756Z","changelog":"Initial release of baoyu-danger-gemini-web. - Provides text and image generation via the reverse-engineered Gemini Web API, including multi-turn conversations and vision input through reference images. - Requires explicit user consent before first use; handles consent storage and checks across macOS, Linux, and Windows. - Supports configuration via EXTEND.md at both project and user levels for model selection, proxy settings, and data directories. - Includes CLI support for text/image generation, session handling, JSON output, and browser-based authentication. - Supports several Gemini-3 models, with flexible authentication, session, and environment variable options for customization.","fileCount":26,"zipByteSize":34414}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17dfbhg0khk4fvtnx0stqg0yx83j25z:baoyu-danger-gemini-web","setupComplexity":"low","setupSteps":["Node.js workspace detected. Install dependencies securely: run `npm ci --ignore-scripts` to prevent post-install lifecycle triggers from running arbitrary code, then selectively audit the dependency tree.","Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T01:28:42.079Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jimliu-baoyu-danger-gemini-web/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T14:36:44.262Z","emptyReason":null},"readme":"Skill: baoyu-danger-gemini-web\n\nOwner: jimliu\n\nSummary: 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 text generation\", or needs vision-capable AI generation.\n\nTags: latest:1.56.1\n\nVersion history:\n\nv1.56.1 | 2026-05-24T22:08:59.801Z | auto\n\nVersion 1.56.1\n\n- Added: `version` and `metadata` fields to SKILL.md for improved compatibility and discoverability.\n- Updated: User input tool selection guidelines for better integration across diverse runtimes.\n- Enhanced: Script instructions now support both `bun` and `npx` fallback, with runtime variable `${BUN_X}`.\n- Improved: Preferences section now supports XDG config spec for EXTEND.md location; updated priority/search order.\n- Clarified: Authentication instructions regarding Chrome profile reuse and session handling.\n- Added: New scripts - `scripts/bun.lock`, `scripts/gemini-webapi/client.test.ts`, `scripts/package.json` for reproducible builds and improved testability.\n\nv0.1.0 | 2026-03-04T01:45:25.756Z | auto\n\nInitial release of baoyu-danger-gemini-web.\n\n- Provides text and image generation via the reverse-engineered Gemini Web API, including multi-turn conversations and vision input through reference images.\n- Requires explicit user consent before first use; handles consent storage and checks across macOS, Linux, and Windows.\n- Supports configuration via EXTEND.md at both project and user levels for model selection, proxy settings, and data directories.\n- Includes CLI support for text/image generation, session handling, JSON output, and browser-based authentication.\n- Supports several Gemini-3 models, with flexible authentication, session, and environment variable options for customization.\n\nArchive index:\n\nArchive v1.56.1: 30 files, 37540 bytes\n\nFiles: scripts/bun.lock (389b), scripts/gemini-webapi/client.test.ts (1046b), scripts/gemini-webapi/client.ts (23554b), scripts/gemini-webapi/components/gem-mixin.ts (5704b), scripts/gemini-webapi/components/index.ts (44b), scripts/gemini-webapi/constants.ts (3936b), scripts/gemini-webapi/exceptions.ts (1207b), scripts/gemini-webapi/index.ts (273b), scripts/gemini-webapi/types/candidate.ts (1293b), scripts/gemini-webapi/types/gem.ts (1847b), scripts/gemini-webapi/types/grpc.ts (369b), scripts/gemini-webapi/types/image.ts (3466b), scripts/gemini-webapi/types/index.ts (232b), scripts/gemini-webapi/types/modeloutput.ts (816b), scripts/gemini-webapi/utils/cookie-file.ts (2402b), scripts/gemini-webapi/utils/decorators.ts (1100b), scripts/gemini-webapi/utils/get-access-token.ts (7540b), scripts/gemini-webapi/utils/http.ts (1621b), scripts/gemini-webapi/utils/index.ts (1021b), scripts/gemini-webapi/utils/load-browser-cookies.ts (9860b), scripts/gemini-webapi/utils/logger.ts (1193b), scripts/gemini-webapi/utils/parsing.ts (1353b), scripts/gemini-webapi/utils/paths.ts (2384b), scripts/gemini-webapi/utils/rotate-1psidts.ts (1528b), scripts/gemini-webapi/utils/upload-file.ts (1097b), scripts/main.ts (15630b), scripts/package.json (145b), skill-card.md (2024b), SKILL.md (6518b), _meta.json (143b)\n\nFile v1.56.1:SKILL.md\n\n---\nname: baoyu-danger-gemini-web\ndescription: 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 text generation\", or needs vision-capable AI generation.\nversion: 1.56.1\nmetadata:\n  openclaw:\n    homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web\n    requires:\n      anyBins:\n        - bun\n        - npx\n---\n\n# Gemini Web Client\n\nText/image generation via Gemini Web API. Supports reference images and multi-turn conversations.\n\n## User Input Tools\n\nWhen this skill prompts the user, follow this tool-selection rule (priority order):\n\n1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.\n2. **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.\n3. **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.\n\nConcrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.\n\n## Script Directory\n\n**Important**: All scripts are located in the `scripts/` subdirectory of this skill.\n\n**Agent Execution Instructions**:\n1. Determine this SKILL.md file's directory path as `{baseDir}`\n2. Script path = `{baseDir}/scripts/<script-name>.ts`\n3. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun\n4. Replace all `{baseDir}` and `${BUN_X}` in this document with actual values\n\n**Script Reference**:\n| Script | Purpose |\n|--------|---------|\n| `scripts/main.ts` | CLI entry point for text/image generation |\n| `scripts/gemini-webapi/*` | TypeScript port of `gemini_webapi` (GeminiClient, types, utils) |\n\n## Consent Check (REQUIRED)\n\nBefore first use, verify user consent for reverse-engineered API usage.\n\n**Consent file locations**:\n- macOS: `~/Library/Application Support/baoyu-skills/gemini-web/consent.json`\n- Linux: `~/.local/share/baoyu-skills/gemini-web/consent.json`\n- Windows: `%APPDATA%\\baoyu-skills\\gemini-web\\consent.json`\n\n**Flow**:\n1. Check if consent file exists with `accepted: true` and `disclaimerVersion: \"1.0\"`\n2. If valid consent exists → print warning with `acceptedAt` date, proceed\n3. If no consent → show disclaimer, ask user via `AskUserQuestion`:\n   - \"Yes, I accept\" → create consent file with ISO timestamp, proceed\n   - \"No, I decline\" → output decline message, stop\n4. Consent file format: `{\"version\":1,\"accepted\":true,\"acceptedAt\":\"<ISO>\",\"disclaimerVersion\":\"1.0\"}`\n\n---\n\n## Preferences (EXTEND.md)\n\nCheck EXTEND.md in priority order — the first one found wins:\n\n| Priority | Path | Scope |\n|----------|------|-------|\n| 1 | `.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md` | Project |\n| 2 | `${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-danger-gemini-web/EXTEND.md` | XDG |\n| 3 | `$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md` | User home |\n\nIf none found, use defaults.\n\n**EXTEND.md supports**: Default model, proxy settings, custom data directory.\n\n## Usage\n\n```bash\n# Text generation\n${BUN_X} {baseDir}/scripts/main.ts \"Your prompt\"\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"Your prompt\" --model gemini-3-flash\n\n# Image generation\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"A cute cat\" --image cat.png\n${BUN_X} {baseDir}/scripts/main.ts --promptfiles system.md content.md --image out.png\n\n# Vision input (reference images)\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"Describe this\" --reference image.png\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"Create variation\" --reference a.png --image out.png\n\n# Multi-turn conversation\n${BUN_X} {baseDir}/scripts/main.ts \"Remember: 42\" --sessionId session-abc\n${BUN_X} {baseDir}/scripts/main.ts \"What number?\" --sessionId session-abc\n\n# JSON output\n${BUN_X} {baseDir}/scripts/main.ts \"Hello\" --json\n```\n\n## Options\n\n| Option | Description |\n|--------|-------------|\n| `--prompt`, `-p` | Prompt text |\n| `--promptfiles` | Read prompt from files (concatenated) |\n| `--model`, `-m` | Model: gemini-3-pro (default), gemini-3-flash, gemini-3-flash-thinking, gemini-3.1-pro-preview |\n| `--image [path]` | Generate image (default: generated.png) |\n| `--reference`, `--ref` | Reference images for vision input |\n| `--sessionId` | Session ID for multi-turn conversation |\n| `--list-sessions` | List saved sessions |\n| `--json` | Output as JSON |\n| `--login` | Refresh cookies, then exit |\n| `--cookie-path` | Custom cookie file path |\n| `--profile-dir` | Chrome profile directory |\n\n## Models\n\n| Model | Description |\n|-------|-------------|\n| `gemini-3-pro` | Default, latest 3.0 Pro |\n| `gemini-3-flash` | Fast, lightweight 3.0 Flash |\n| `gemini-3-flash-thinking` | 3.0 Flash with thinking |\n| `gemini-3.1-pro-preview` | 3.1 Pro preview (empty header, auto-routed) |\n\n## Authentication\n\nFirst run opens browser for Google auth. Cookies cached automatically.\n\nWhen 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.\nSet `--profile-dir` or `GEMINI_WEB_CHROME_PROFILE_DIR` to force a dedicated profile and skip existing-session reuse.\nThis is a best-effort CDP session reuse path, not the Chrome DevTools MCP prompt-based `--autoConnect` flow described in Chrome's official docs.\n\nSupported browsers (auto-detected): Chrome, Chrome Canary/Beta, Chromium, Edge.\n\nForce refresh: `--login` flag. Override browser: `GEMINI_WEB_CHROME_PATH` env var.\n\n## Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `GEMINI_WEB_DATA_DIR` | Data directory |\n| `GEMINI_WEB_COOKIE_PATH` | Cookie file path |\n| `GEMINI_WEB_CHROME_PROFILE_DIR` | Chrome profile directory |\n| `GEMINI_WEB_CHROME_PATH` | Chrome executable path |\n| `HTTP_PROXY`, `HTTPS_PROXY` | Proxy for Google access (set inline with command) |\n\n## Sessions\n\nSession files stored in data directory under `sessions/<id>.json`.\n\nContains: `id`, `metadata` (Gemini chat state), `messages` array, timestamps.\n\n## Extension Support\n\nCustom configurations via EXTEND.md. See **Preferences** section for paths and supported options.\n\nFile v1.56.1:_meta.json\n\n{\n  \"ownerId\": \"kn7csrrndw79hpke5d0gsnx93d82k67r\",\n  \"slug\": \"baoyu-danger-gemini-web\",\n  \"version\": \"1.56.1\",\n  \"publishedAt\": 1779660539801\n}\n\nFile v1.56.1:scripts/package.json\n\n{\n  \"name\": \"baoyu-danger-gemini-web-scripts\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"dependencies\": {\n    \"baoyu-chrome-cdp\": \"^0.1.0\"\n  }\n}\n\nFile v1.56.1:skill-card.md\n\n## Description: <br>\nGenerates images and text via reverse-engineered Gemini Web API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jimliu](https://clawhub.ai/user/jimliu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to generate Gemini Web text responses, image files, JSON responses, and multi-turn conversation outputs from prompts and optional reference images. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill is an unofficial Gemini Web client that can reuse a Google browser session and cache live session cookies locally. <br>\nMitigation: Use a dedicated Chrome profile or custom data directory, avoid reusing normal browsing sessions, and delete stored cookies and session files when finished. <br>\nRisk: Prompts and reference files may be sent to Gemini Web during text, vision, or image generation. <br>\nMitigation: Avoid sending sensitive local files, private prompts, secrets, or regulated data unless the user has explicitly approved that use. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/jimliu/baoyu-danger-gemini-web) <br>\n- [Project homepage from ClawHub metadata](https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Files, JSON] <br>\n**Output Format:** [Plain text, JSON, saved image files, or saved image file paths] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can preserve multi-turn session state in local session files when a session ID is used.] <br>\n\n## Skill Version(s): <br>\n1.56.1 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.0: 26 files, 34414 bytes\n\nFiles: scripts/gemini-webapi/client.ts (21769b), scripts/gemini-webapi/components/gem-mixin.ts (5704b), scripts/gemini-webapi/components/index.ts (44b), scripts/gemini-webapi/constants.ts (3936b), scripts/gemini-webapi/exceptions.ts (1207b), scripts/gemini-webapi/index.ts (273b), scripts/gemini-webapi/types/candidate.ts (1293b), scripts/gemini-webapi/types/gem.ts (1847b), scripts/gemini-webapi/types/grpc.ts (369b), scripts/gemini-webapi/types/image.ts (3466b), scripts/gemini-webapi/types/index.ts (232b), scripts/gemini-webapi/types/modeloutput.ts (816b), scripts/gemini-webapi/utils/cookie-file.ts (2402b), scripts/gemini-webapi/utils/decorators.ts (1100b), scripts/gemini-webapi/utils/get-access-token.ts (7540b), scripts/gemini-webapi/utils/http.ts (1621b), scripts/gemini-webapi/utils/index.ts (1021b), scripts/gemini-webapi/utils/load-browser-cookies.ts (9920b), scripts/gemini-webapi/utils/logger.ts (1193b), scripts/gemini-webapi/utils/parsing.ts (1353b), scripts/gemini-webapi/utils/paths.ts (2343b), scripts/gemini-webapi/utils/rotate-1psidts.ts (1528b), scripts/gemini-webapi/utils/upload-file.ts (1097b), scripts/main.ts (15131b), SKILL.md (7626b), _meta.json (142b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: baoyu-danger-gemini-web\ndescription: 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 text generation\", or needs vision-capable AI generation.\n---\n\n# Gemini Web Client\n\nText/image generation via Gemini Web API. Supports reference images and multi-turn conversations.\n\n## Script Directory\n\n**Important**: All scripts are located in the `scripts/` subdirectory of this skill.\n\n**Agent Execution Instructions**:\n1. Determine this SKILL.md file's directory path as `SKILL_DIR`\n2. Script path = `${SKILL_DIR}/scripts/<script-name>.ts`\n3. Replace all `${SKILL_DIR}` in this document with the actual path\n\n**Script Reference**:\n| Script | Purpose |\n|--------|---------|\n| `scripts/main.ts` | CLI entry point for text/image generation |\n| `scripts/gemini-webapi/*` | TypeScript port of `gemini_webapi` (GeminiClient, types, utils) |\n\n## Consent Check (REQUIRED)\n\nBefore first use, verify user consent for reverse-engineered API usage.\n\n**Consent file locations**:\n- macOS: `~/Library/Application Support/baoyu-skills/gemini-web/consent.json`\n- Linux: `~/.local/share/baoyu-skills/gemini-web/consent.json`\n- Windows: `%APPDATA%\\baoyu-skills\\gemini-web\\consent.json`\n\n**Flow**:\n1. Check if consent file exists with `accepted: true` and `disclaimerVersion: \"1.0\"`\n2. If valid consent exists → print warning with `acceptedAt` date, proceed\n3. If no consent → show disclaimer, ask user via `AskUserQuestion`:\n   - \"Yes, I accept\" → create consent file with ISO timestamp, proceed\n   - \"No, I decline\" → output decline message, stop\n4. Consent file format: `{\"version\":1,\"accepted\":true,\"acceptedAt\":\"<ISO>\",\"disclaimerVersion\":\"1.0\"}`\n\n---\n\n## Preferences (EXTEND.md)\n\nUse Bash to check EXTEND.md existence (priority order):\n\n```bash\n# Check project-level first\ntest -f .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md && echo \"project\"\n\n# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)\ntest -f \"$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md\" && echo \"user\"\n```\n\n┌──────────────────────────────────────────────────────────┬───────────────────┐\n│                           Path                           │     Location      │\n├──────────────────────────────────────────────────────────┼───────────────────┤\n│ .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md          │ Project directory │\n├──────────────────────────────────────────────────────────┼───────────────────┤\n│ $HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md    │ User home         │\n└──────────────────────────────────────────────────────────┴───────────────────┘\n\n┌───────────┬───────────────────────────────────────────────────────────────────────────┐\n│  Result   │                                  Action                                   │\n├───────────┼───────────────────────────────────────────────────────────────────────────┤\n│ Found     │ Read, parse, apply settings                                               │\n├───────────┼───────────────────────────────────────────────────────────────────────────┤\n│ Not found │ Use defaults                                                              │\n└───────────┴───────────────────────────────────────────────────────────────────────────┘\n\n**EXTEND.md Supports**: Default model | Proxy settings | Custom data directory\n\n## Usage\n\n```bash\n# Text generation\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"Your prompt\"\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"Your prompt\" --model gemini-3-flash\n\n# Image generation\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"A cute cat\" --image cat.png\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles system.md content.md --image out.png\n\n# Vision input (reference images)\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"Describe this\" --reference image.png\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"Create variation\" --reference a.png --image out.png\n\n# Multi-turn conversation\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"Remember: 42\" --sessionId session-abc\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"What number?\" --sessionId session-abc\n\n# JSON output\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"Hello\" --json\n```\n\n## Options\n\n| Option | Description |\n|--------|-------------|\n| `--prompt`, `-p` | Prompt text |\n| `--promptfiles` | Read prompt from files (concatenated) |\n| `--model`, `-m` | Model: gemini-3-pro (default), gemini-3-flash, gemini-3-flash-thinking, gemini-3.1-pro-preview |\n| `--image [path]` | Generate image (default: generated.png) |\n| `--reference`, `--ref` | Reference images for vision input |\n| `--sessionId` | Session ID for multi-turn conversation |\n| `--list-sessions` | List saved sessions |\n| `--json` | Output as JSON |\n| `--login` | Refresh cookies, then exit |\n| `--cookie-path` | Custom cookie file path |\n| `--profile-dir` | Chrome profile directory |\n\n## Models\n\n| Model | Description |\n|-------|-------------|\n| `gemini-3-pro` | Default, latest 3.0 Pro |\n| `gemini-3-flash` | Fast, lightweight 3.0 Flash |\n| `gemini-3-flash-thinking` | 3.0 Flash with thinking |\n| `gemini-3.1-pro-preview` | 3.1 Pro preview (empty header, auto-routed) |\n\n## Authentication\n\nFirst run opens browser for Google auth. Cookies cached automatically.\n\nSupported browsers (auto-detected): Chrome, Chrome Canary/Beta, Chromium, Edge.\n\nForce refresh: `--login` flag. Override browser: `GEMINI_WEB_CHROME_PATH` env var.\n\n## Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `GEMINI_WEB_DATA_DIR` | Data directory |\n| `GEMINI_WEB_COOKIE_PATH` | Cookie file path |\n| `GEMINI_WEB_CHROME_PROFILE_DIR` | Chrome profile directory |\n| `GEMINI_WEB_CHROME_PATH` | Chrome executable path |\n| `HTTP_PROXY`, `HTTPS_PROXY` | Proxy for Google access (set inline with command) |\n\n## Sessions\n\nSession files stored in data directory under `sessions/<id>.json`.\n\nContains: `id`, `metadata` (Gemini chat state), `messages` array, timestamps.\n\n## Extension Support\n\nCustom configurations via EXTEND.md. See **Preferences** section for paths and supported options.\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7csrrndw79hpke5d0gsnx93d82k67r\",\n  \"slug\": \"baoyu-danger-gemini-web\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1772588725756\n}","readmeExcerpt":"Skill: baoyu-danger-gemini-web Owner: jimliu Summary: 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 text generation\", or needs vision-capable AI generation. Tags: lat","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Text generation\n${BUN_X} {baseDir}/scripts/main.ts \"Your prompt\"\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"Your prompt\" --model gemini-3-flash\n\n# Image generation\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"A cute cat\" --image cat.png\n${BUN_X} {baseDir}/scripts/main.ts --promptfiles system.md content.md --image out.png\n\n# Vision input (reference images)\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"Describe this\" --reference image.png\n${BUN_X} {baseDir}/scripts/main.ts --prompt \"Create variation\" --reference a.png --image out.png\n\n# Multi-turn conversation\n${BUN_X} {baseDir}/scripts/main.ts \"Remember: 42\" --sessionId session-abc\n${BUN_X} {baseDir}/scripts/main.ts \"What number?\" --sessionId session-abc\n\n# JSON output\n${BUN_X} {baseDir}/scripts/main.ts \"Hello\" --json"},{"language":"bash","snippet":"# Check project-level first\ntest -f .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md && echo \"project\"\n\n# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)\ntest -f \"$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md\" && echo \"user\""},{"language":"bash","snippet":"# Text generation\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"Your prompt\"\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"Your prompt\" --model gemini-3-flash\n\n# Image generation\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"A cute cat\" --image cat.png\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles system.md content.md --image out.png\n\n# Vision input (reference images)\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"Describe this\" --reference image.png\nnpx -y bun ${SKILL_DIR}/scripts/main.ts --prompt \"Create variation\" --reference a.png --image out.png\n\n# Multi-turn conversation\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"Remember: 42\" --sessionId session-abc\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"What number?\" --sessionId session-abc\n\n# JSON output\nnpx -y bun ${SKILL_DIR}/scripts/main.ts \"Hello\" --json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: baoyu-danger-gemini-web\ndescription: 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 text generation\", or needs vision-capable AI generation.\nversion: 1.56.1\nmetadata:\n  openclaw:\n    homepage: https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web\n    requires:\n      anyBins:\n        - bun\n        - npx\n---\n\n# Gemini Web Client\n\nText/image generation via Gemini Web API. Supports reference images and multi-turn conversations.\n\n## User Input Tools\n\nWhen this skill prompts the user, follow this tool-selection rule (priority order):\n\n1. **Prefer built-in user-input tools** exposed by the current agent runtime — e.g., `AskUserQuestion`, `request_user_input`, `clarify`, `ask_user`, or any equivalent.\n2. **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.\n3. **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.\n\nConcrete `AskUserQuestion` references below are examples — substitute the local equivalent in other runtimes.\n\n## Script Directory\n\n**Important**: All scripts are located in the `scripts/` subdirectory of this skill.\n\n**Agent Execution Instructions**:\n1. Determine this SKILL.md file's directory path as `{baseDir}`\n2. Script path = `{baseDir}/scripts/<script-name>.ts`\n3. Resolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun\n4. Replace all `{baseDir}` and `${BUN_X}` in this document with actual values\n\n**Script Reference**:\n| Script | Purpose |\n|--------|---------|\n| `scripts/main.ts` | CLI entry point for text/image generation |\n| `scripts/gemini-webapi/*` | TypeScript port of `gemini_webapi` (GeminiClient, types, utils) |\n\n## Consent Check (REQUIRED)\n\nBefore first use, verify user consent for reverse-engineered API usage.\n\n**Consent file locations**:\n- macOS: `~/Library/Application Support/baoyu-skills/gemini-web/consent.json`\n- Linux: `~/.local/share/baoyu-skills/gemini-web/consent.json`\n- Windows: `%APPDATA%\\baoyu-skills\\gemini-web\\consent.json`\n\n**Flow**:\n1. Check if consent file exists with `accepted: true` and `disclaimerVersion: \"1.0\"`\n2. If valid consent exists → print warning with `acceptedAt` date, proceed\n3. If no consent → show disclaimer, ask user via `AskUserQuestion`:\n   - \"Yes, I accept\" → create consent file with ISO timestamp, proceed\n   - \"No, I decline\" → output decline message, stop\n4. Consent file format: `{\"version\":1,\"accepted\":true,\"acceptedAt\":\"<ISO>\",\"disclaimerVersion\":\"1.0\"}`\n\n---\n\n## Preferences (EXTEND.md)\n\nCheck EXTEND.md in priority order — the first one found wi"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7csrrndw79hpke5d0gsnx93d82k67r\",\n  \"slug\": \"baoyu-danger-gemini-web\",\n  \"version\": \"1.56.1\",\n  \"publishedAt\": 1779660539801\n}"},{"path":"scripts/package.json","content":"{\n  \"name\": \"baoyu-danger-gemini-web-scripts\",\n  \"private\": true,\n  \"type\": \"module\",\n  \"dependencies\": {\n    \"baoyu-chrome-cdp\": \"^0.1.0\"\n  }\n}"},{"path":"skill-card.md","content":"## Description: <br>\nGenerates images and text via reverse-engineered Gemini Web API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[jimliu](https://clawhub.ai/user/jimliu) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to generate Gemini Web text responses, image files, JSON responses, and multi-turn conversation outputs from prompts and optional reference images. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill is an unofficial Gemini Web client that can reuse a Google browser session and cache live session cookies locally. <br>\nMitigation: Use a dedicated Chrome profile or custom data directory, avoid reusing normal browsing sessions, and delete stored cookies and session files when finished. <br>\nRisk: Prompts and reference files may be sent to Gemini Web during text, vision, or image generation. <br>\nMitigation: Avoid sending sensitive local files, private prompts, secrets, or regulated data unless the user has explicitly approved that use. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/jimliu/baoyu-danger-gemini-web) <br>\n- [Project homepage from ClawHub metadata](https://github.com/JimLiu/baoyu-skills#baoyu-danger-gemini-web) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Files, JSON] <br>\n**Output Format:** [Plain text, JSON, saved image files, or saved image file paths] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can preserve multi-turn session state in local session files when a session ID is used.] <br>\n\n## Skill Version(s): <br>\n1.56.1 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"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 text generation\", or needs vision-capable AI generation. Skill: baoyu-danger-gemini-web Owner: jimliu Summary: 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 text generation\", or needs vision-capable AI generation. Tags: lat","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1336,"uniquenessScore":45,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T14:36:44.262Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T14:36:44.262Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:28:42.080Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}