mcpField
B
baoyu-danger-gemini-web

baoyu-danger-gemini-web

github.com/jimliu创意与媒体27.0k28.0k 次安装7 周前更新
代码仓库

关于 baoyu-danger-gemini-web

这项命令行 Skill 通过 Gemini Web API 生成文本和图片,支持参考图输入与多轮会话,适合通过提示词和已保存对话使用 Gemini Web 的用户。

主要功能

  1. 01使用可选模型生成文本
  2. 02根据提示词生成图片
  3. 03输入参考图片
  4. 04通过会话进行多轮对话
  5. 05基于浏览器的 Google 身份验证

适用场景

  1. 01根据提示词生成文本
  2. 02结合参考图创建图片
  3. 03使用已保存会话继续对话

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-danger-gemini-web

安装后在 Claude Code 中输入/baoyu-danger-gemini-web确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
bun.lock
main.ts
package.json
scripts/gemini-webapi/
client.test.ts
client.ts
constants.ts
exceptions.ts
index.ts
scripts/gemini-webapi/components/
gem-mixin.ts
index.ts
scripts/gemini-webapi/types/
candidate.ts
gem.ts
grpc.ts
image.ts
index.ts
modeloutput.ts
scripts/gemini-webapi/utils/
cookie-file.ts
decorators.ts
get-access-token.ts
http.ts
index.ts
load-browser-cookies.ts
logger.ts
parsing.ts
paths.ts
rotate-1psidts.ts
upload-file.ts

详细介绍

Gemini Web 客户端

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

用户输入工具

当此技能提示用户时,请按以下优先级选择工具:

  1. 优先使用当前 Agent 运行时提供的内置用户输入工具,例如 AskUserQuestion、request_user_input、clarify、ask_user 或任何等效工具。
  2. 回退方案:如果没有此类工具,请输出带编号的纯文本消息,并请用户针对每个问题回复所选编号或答案。
  3. 批量提问:如果工具支持一次调用提出多个问题,请将所有适用问题合并为一次调用;如果只支持单个问题,则按优先级逐个提问。

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

脚本目录

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

Agent 执行说明:

  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: true 和 disclaimerVersion: "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.mdXDG
3$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.md用户主目录

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

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

用法

# Text generation
${BUN_X} {baseDir}/scripts/main.ts "Your prompt"
${BUN_X} {baseDir}/scripts/main.ts --prompt "Your prompt" --model gemini-3-flash

# Image generation
${BUN_X} {baseDir}/scripts/main.ts --prompt "A cute cat" --image cat.png
${BUN_X} {baseDir}/scripts/main.ts --promptfiles system.md content.md --image out.png

# Vision input (reference images)
${BUN_X} {baseDir}/scripts/main.ts --prompt "Describe this" --reference image.png
${BUN_X} {baseDir}/scripts/main.ts --prompt "Create variation" --reference a.png --image out.png

# Multi-turn conversation
${BUN_X} {baseDir}/scripts/main.ts "Remember: 42" --sessionId session-abc
${BUN_X} {baseDir}/scripts/main.ts "What number?" --sessionId session-abc

# JSON output
${BUN_X} {baseDir}/scripts/main.ts "Hello" --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-dirChrome 配置文件目录

模型

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

身份验证

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

未显式设置配置文件目录时,刷新 Cookie 可能会复用已运行的本地 Chrome/Chromium 调试会话,该会话关联到标准用户数据目录。 设置 --profile-dir 或 GEMINI_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_PATHCookie 文件路径
GEMINI_WEB_CHROME_PROFILE_DIRChrome 配置文件目录
GEMINI_WEB_CHROME_PATHChrome 可执行文件路径
HTTP_PROXY、HTTPS_PROXY用于访问 Google 的代理(与命令一起内联设置)

会话

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

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

扩展支持

通过 EXTEND.md 使用自定义配置。路径和支持的选项请参阅 偏好设置 部分。

评论

支持 Markdown