baoyu-danger-gemini-web

baoyu-danger-gemini-web

热门

通过逆向工程实现的 Gemini Web API 生成图像和文本。支持文本生成、根据提示生成图像、用于视觉输入的参考图像以及多轮对话。当其他技能需要图像生成后端,或用户请求“使用 Gemini 生成图像”、“Gemini 文本生成”,或需要具备视觉能力的 AI 生成时使用。

2.2万Star
2606Fork
更新于 2026/6/18
SKILL.md
只读
名称
baoyu-danger-gemini-web
描述

通过逆向工程实现的 Gemini Web API 生成图像和文本。支持文本生成、根据提示生成图像、用于视觉输入的参考图像以及多轮对话。当其他技能需要图像生成后端,或用户请求“使用 Gemini 生成图像”、“Gemini 文本生成”,或需要具备视觉能力的 AI 生成时使用。

版本
1.56.2

Gemini Web 客户端

通过 Gemini Web API 进行文本/图像生成。支持参考图像和多轮对话。

用户输入工具

当此技能提示用户时,请遵循以下工具选择规则(按优先级顺序):

  1. 优先使用当前代理运行时暴露的内置用户输入工具,例如 AskUserQuestionrequest_user_inputclarifyask_user 或任何等效工具。
  2. 回退方案:如果不存在此类工具,则输出带编号的纯文本消息,并让用户回复每个问题的编号/答案。
  3. 批量处理:如果工具支持单次调用多个问题,则将所有适用问题合并为一次调用;如果仅支持单个问题,则按优先级顺序逐个提问。

以下具体的 AskUserQuestion 引用仅为示例——在其他运行时中请替换为本地等效工具。

脚本目录

重要:所有脚本均位于此技能的 scripts/ 子目录中。

代理执行说明

  1. 确定此 SKILL.md 文件所在的目录路径为 {baseDir}
  2. 脚本路径 = {baseDir}/scripts/<script-name>.ts
  3. 解析 ${BUN_X} 运行时:如果已安装 bun → 使用 bun;如果 npx 可用 → 使用 npx -y bun;否则建议安装 bun
  4. 将本文档中的所有 {baseDir}${BUN_X} 替换为实际值

脚本参考

脚本 用途
scripts/main.ts 文本/图像生成的 CLI 入口点
scripts/gemini-webapi/* gemini_webapi 的 TypeScript 移植(GeminiClient、类型、工具函数)

同意检查(必需)

首次使用前,请验证用户是否同意使用逆向工程 API。

同意文件位置

  • 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

流程

  1. 检查同意文件是否存在,且包含 accepted: truedisclaimerVersion: "1.0"
  2. 如果存在有效同意 → 打印包含 acceptedAt 日期的警告,继续执行
  3. 如果没有同意 → 显示免责声明,通过 AskUserQuestion 询问用户:
    • “是的,我接受” → 创建包含 ISO 时间戳的同意文件,继续执行
    • “不,我拒绝” → 输出拒绝消息,停止
  4. 同意文件格式:{"version":1,"accepted":true,"acceptedAt":"<ISO>","disclaimerVersion":"1.0"}

首选项(EXTEND.md

按优先级顺序检查 EXTEND.md——找到的第一个生效:

优先级 路径 范围
1 .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md 项目
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 用户主目录

如果未找到,则使用默认值。

EXTEND.md 支持:默认模型、代理设置、自定义数据目录。

用法

# 文本生成
${BUN_X} {baseDir}/scripts/main.ts "你的提示"
${BUN_X} {baseDir}/scripts/main.ts --prompt "你的提示" --model gemini-3-flash

# 图像生成
${BUN_X} {baseDir}/scripts/main.ts --prompt "一只可爱的猫" --image cat.png
${BUN_X} {baseDir}/scripts/main.ts --promptfiles system.md content.md --image out.png

# 视觉输入(参考图像)
${BUN_X} {baseDir}/scripts/main.ts --prompt "描述这个" --reference image.png
${BUN_X} {baseDir}/scripts/main.ts --prompt "创建变体" --reference a.png --image out.png

# 多轮对话
${BUN_X} {baseDir}/scripts/main.ts "记住:42" --sessionId session-abc
${BUN_X} {baseDir}/scripts/main.ts "什么数字?" --sessionId session-abc

# JSON 输出
${BUN_X} {baseDir}/scripts/main.ts "你好" --json

选项

选项 描述
--prompt, -p 提示文本
--promptfiles 从文件读取提示(拼接)
--model, -m 模型:gemini-3-pro(默认)、gemini-3-flash、gemini-3-flash-thinking、gemini-3.1-pro-preview
--image [path] 生成图像(默认:generated.png)
--reference, --ref 用于视觉输入的参考图像
--sessionId 多轮对话的会话 ID
--list-sessions 列出已保存的会话
--json 以 JSON 格式输出
--login 刷新 cookie,然后退出
--cookie-path 自定义 cookie 文件路径
--profile-dir Chrome 配置文件目录

模型

模型 描述
gemini-3-pro 默认,最新的 3.0 Pro
gemini-3-flash 快速、轻量级的 3.0 Flash
gemini-3-flash-thinking 带思考的 3.0 Flash
gemini-3.1-pro-preview 3.1 Pro 预览版(空标头,自动路由)

身份验证

首次运行会打开浏览器进行 Google 身份验证。Cookie 会自动缓存。

当未设置显式配置文件目录时,cookie 刷新可能会重用已运行的本地 Chrome/Chromium 调试会话,该会话与标准用户数据目录关联。
设置 --profile-dirGEMINI_WEB_CHROME_PROFILE_DIR 以强制使用专用配置文件并跳过现有会话重用。
这是一种尽力而为的 CDP 会话重用路径,并非 Chrome 官方文档中描述的基于 Chrome DevTools MCP 提示的 --autoConnect 流程。

支持的浏览器(自动检测):Chrome、Chrome Canary/Beta、Chromium、Edge。

强制刷新:--login 标志。覆盖浏览器:GEMINI_WEB_CHROME_PATH 环境变量。

环境变量

变量 描述
GEMINI_WEB_DATA_DIR 数据目录
GEMINI_WEB_COOKIE_PATH Cookie 文件路径
GEMINI_WEB_CHROME_PROFILE_DIR Chrome 配置文件目录
GEMINI_WEB_CHROME_PATH Chrome 可执行文件路径
HTTP_PROXY, HTTPS_PROXY 用于访问 Google 的代理(与命令一起设置)

会话

会话文件存储在数据目录下的 sessions/<id>.json 中。

包含:idmetadata(Gemini 聊天状态)、messages 数组、时间戳。

扩展支持

通过 EXTEND.md 进行自定义配置。请参阅首选项部分了解路径和受支持的选项。