360 Secure SkillHub
360 安全技能中心

Gemini Web Automation Skill

该 Skill 维护一个 Gemini Runtime:日常统一通过 scripts/chat.py 向 Gemini 网页版发送提示词、可选附带图片或文件、继续已有对话并取回回复,返回结构化 JSON;登录过期时用 scripts/bootstrap.py 引导登录,页面改版时用 scripts/analyze_page.py 分析页面并参考维护文档更新选择器。SKILL.md 引用的脚本与参…

lainxxx
lainxxx
热度 10.41
最近更新 2026-07-10 14:07:43
分类:自动化依赖:代码执行 / 联网浏览搜索 / 读写文件 / 内部调用大模型应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add gemini-web-automation-skill
Metadata
name
gemini-web-automation
description
当用户希望实际使用 Gemini 网页版完成一次对话时使用本 Skill,包括发送 Prompt、继续已有对话、上传图片或文件、获取 Gemini 回复以及恢复 Gemini 登录状态。典型请求包括:"帮我问 Gemini"、"用 Gemini 回答"、"把这段话发给 Gemini"、"让 Gemini 看这张图片"、"继续 Gemini 对话"。如果只是询问 Gemini 的功能、模型、API、价格或使用方法,而不需要实际操作 Gemini 网页,则不要使用本 Skill。
allowed-tools
["Read","Write","Edit","Grep","Glob","Bash"]

Gemini Web Automation

Mission

本 Skill 负责维护 Gemini Runtime。职责包括:

  • 将 Prompt 发送给 Gemini 并获取完整回复
  • 维护 Gemini Session(登录状态、页面状态、会话状态)
  • 在页面变化后恢复 Runtime

除此之外,不承担任何通用浏览器自动化任务。

本 Skill 将 scripts/chat.py 视为 Gemini Runtime API。SKILL.md 负责调度,业务逻辑由 Runtime 实现,Reference 提供设计知识。


默认行为

scripts/chat.py 是 Runtime 唯一入口。所有日常任务统一通过它完成。

Agent 不判断是否首次运行,不判断是否已登录,不判断浏览器状态。所有环境检测、Runtime 恢复、登录检查、浏览器管理均由 chat.py 自动处理。

除首次部署和页面维护外,不要绕过 chat.py 直接操作浏览器。


Runtime Lifecycle

所有初始化由 chat.py 在内部自动完成,Agent 无感知:

chat.py
  │
  ├── Stage 1: 环境
  │   ├── .env 不存在 → ENV_NOT_FOUND
  │   ├── userdata/ 不存在 → 自动创建
  │   └── 代理不可达 → PROXY_REQUIRED
  │
  ├── Stage 2: Runtime
  │   ├── Chrome 运行中 → CDP 连接
  │   └── 未运行 → 自动启动 Chrome
  │
  ├── Stage 3: 页面
  │   ├── Gemini Tab 存在 → 复用
  │   ├── 未登录 → LOGIN_REQUIRED
  │   └── 不存在 → 打开 Gemini
  │
  └── Stage 4: 对话
      ├── 发送 Prompt
      ├── 等待回复
      └── 返回 JSON

Agent 始终处于 Stage 4 视角:调用 → 等待 → 得到结果。无需要关心前三个阶段。bootstrap.py 仅在 LOGIN_REQUIRED 时作为登录向导执行,它不是初始化脚本。


三个入口

用途 脚本 频率
日常对话 scripts/chat.py 99%
登录向导 scripts/bootstrap.py 仅首次 / 登录过期
页面改版 scripts/analyze_page.py 一年几次

日常对话(Hot Path)

日常任务默认直接调用 scripts/chat.py。除非发生初始化或页面维护,否则不要运行其它脚本。

scripts/chat.py 返回结构化 JSON。Agent 仅根据 success、reply、error.code、next_action 决定下一步,不解析浏览器内部状态。

执行 scripts/chat.py "提示词"
  │
  ▼
解析返回 JSON
  │
  ├── success: true  → 将 reply 返回给用户
  │
  └── success: false → 按 next_action / error.code 路由

可选参数

参数 作用
-a image.png 附带图片
--headed 保持浏览器窗口在前台(默认最小化到后台)
--dry-run 仅测试模型切换,不发送对话
--health 健康检查(不执行对话,返回运行时状态)

错误路由

优先依据 next_action。仅当 next_action 缺失时,根据 error.code 处理。

next_action / error.code Agent 动作
next_action: "RUN_BOOTSTRAP" / LOGIN_REQUIRED 执行 scripts/bootstrap.py
next_action: "CREATE_ENV" / ENV_NOT_FOUND 提示用户复制 .env.example → .env 并配置
next_action: "CHECK_PROXY" / PROXY_REQUIRED 提示用户检查代理配置或网络
CHROME_NOT_FOUND 提示用户检查 CHROME_PATH
未列出 直接向用户返回 error.message,不自行推测原因

登录向导

仅在收到 LOGIN_REQUIRED 时执行 scripts/bootstrap.py。它会启动 Chrome、打开 Gemini 登录页、等待用户手动登录,确认成功后退出。完成后即可开始日常对话。


页面改版

当 Gemini 页面更新导致脚本失效时,执行 scripts/analyze_page.py 分析页面结构,然后参考 references/maintenance.md 更新选择器。


Reference

按需读取,不主动加载全部文档。

当需要…… 读取
修改运行架构 references/architecture.md
修改页面交互 references/gemini.md
修复页面改版 references/maintenance.md

核心原则

  1. Runtime API First — 所有日常任务统一通过 scripts/chat.py 完成,Agent 不直接操作浏览器
  2. Runtime First — 优先复用已有 Session,仅在必要时冷启动
  3. Lifecycle 下沉 — Agent 不判断运行环境,所有状态管理由 Runtime 内部自动完成
  4. Fail Fast — 超时立即失败并返回结构化错误;异常时收集截图/HTML/URL,不重试

窗口行为

默认 Chrome 以最小化方式运行在后台,不干扰用户。 需要查看浏览器时加 --headed 参数保持窗口在前台。