名称: baoyu-danger-gemini-web 描述: 通过反向工程的Gemini Web API生成图像和文本。支持文本生成、从提示生成图像、视觉输入的参考图像和多轮对话。当其他技能需要图像生成后端,或用户请求“使用Gemini生成图像”、“Gemini文本生成”,或需要具备视觉功能的AI生成时使用。
Gemini网页客户端
通过Gemini Web API生成文本/图像。支持参考图像和多轮对话。
脚本目录
重要: 所有脚本都位于此技能的scripts/子目录中。
代理执行指令:
- 确定此SKILL.md文件的目录路径为
SKILL_DIR - 脚本路径 =
${SKILL_DIR}/scripts/<脚本名称>.ts - 替换此文档中所有
${SKILL_DIR}为实际路径
脚本参考:
| 脚本 | 目的 |
|---|---|
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
流程:
- 检查同意文件是否存在,且
accepted: true和disclaimerVersion: "1.0" - 如果有效同意存在 → 打印带有
acceptedAt日期的警告,继续 - 如果没有同意 → 显示免责声明,通过
AskUserQuestion询问用户:- “是,我接受” → 创建带有ISO时间戳的同意文件,继续
- “不,我拒绝” → 输出拒绝消息,停止
- 同意文件格式:
{"version":1,"accepted":true,"acceptedAt":"<ISO>","disclaimerVersion":"1.0"}
偏好设置(EXTEND.md)
使用Bash检查EXTEND.md存在性(优先级顺序):
# 首先检查项目级别
test -f .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md && echo "项目"
# 然后用户级别(跨平台:$HOME在macOS/Linux/WSL上工作)
test -f "$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md" && echo "用户"
┌──────────────────────────────────────────────────────────┬───────────────────┐ │ 路径 │ 位置 │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-danger-gemini-web/EXTEND.md │ 项目目录 │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md │ 用户家目录 │ └──────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ 结果 │ 操作 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 找到 │ 读取、解析、应用设置 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 未找到 │ 使用默认值 │ └───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md支持: 默认模型 | 代理设置 | 自定义数据目录
使用
# 文本生成
npx -y bun ${SKILL_DIR}/scripts/main.ts "您的提示"
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "您的提示" --model gemini-2.5-pro
# 图像生成
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "可爱的猫" --image cat.png
npx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles system.md content.md --image out.png
# 视觉输入(参考图像)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "描述这个" --reference image.png
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "创建变体" --reference a.png --image out.png
# 多轮对话
npx -y bun ${SKILL_DIR}/scripts/main.ts "记住:42" --sessionId session-abc
npx -y bun ${SKILL_DIR}/scripts/main.ts "什么数字?" --sessionId session-abc
# JSON输出
npx -y bun ${SKILL_DIR}/scripts/main.ts "你好" --json
选项
| 选项 | 描述 |
|---|---|
--prompt, -p |
提示文本 |
--promptfiles |
从文件读取提示(连接) |
--model, -m |
模型:gemini-3-pro(默认)、gemini-2.5-pro、gemini-2.5-flash |
--image [路径] |
生成图像(默认:generated.png) |
--reference, --ref |
视觉输入的参考图像 |
--sessionId |
多轮对话的会话ID |
--list-sessions |
列出保存的会话 |
--json |
以JSON输出 |
--login |
刷新cookies,然后退出 |
--cookie-path |
自定义cookie文件路径 |
--profile-dir |
Chrome配置文件目录 |
模型
| 模型 | 描述 |
|---|---|
gemini-3-pro |
默认,最新 |
gemini-2.5-pro |
前一个专业版 |
gemini-2.5-flash |
快速,轻量级 |
认证
首次运行打开浏览器进行Google认证。cookies自动缓存。
支持的浏览器(自动检测):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。
包含:id、metadata(Gemini聊天状态)、messages数组、时间戳。
扩展支持
通过EXTEND.md自定义配置。参见偏好设置部分了解路径和支持的选项。