mcpField
A
ask-opencli

ask-opencli

github.com/majiayu000Agent 工作流28853 次安装今天更新
代码仓库

关于 ask-opencli

ask-opencli 是一个 Agent 技能,借助 opencli 通过用户已登录的 Chrome 会话查询 Grok 或 Gemini。它提供模型选择、命令示例、前置条件、超时处理和结果记录流程。

主要功能

  1. 01Grok 与 Gemini 查询指南
  2. 02使用已登录的 Chrome 会话
  3. 03模型选择规则
  4. 04超时与错误处理
  5. 05响应记录要求

适用场景

  1. 01征求 Grok 或 Gemini 的第二意见
  2. 02用 Grok 查询新闻或技术趋势
  3. 03用 Gemini 进行研究或文档分析

安装

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

$npx skills add https://github.com/majiayu000/spellbook --skill ask-opencli

安装后在 Claude Code 中输入/ask-opencli确认已加载。

详细介绍

通过 OpenCLI 提问(Grok / Gemini)

使用 opencli,通过用户已登录的 Chrome 会话查询 Grok 或 Gemini。零 API 费用,完全依托现有浏览器会话操作。

opencli 项目:https://github.com/jackwener/opencli 安装:npm install -g @jackwener/opencli(需要 Node ≥20) 首次运行:opencli doctor 会自动引导安装 Chrome Browser Bridge 扩展 登录:用装有扩展的 Chrome profile 打开 grok.com 和 gemini.google.com,分别登录一次 必须设置的环境变量:export OPENCLI_BROWSER_COMMAND_TIMEOUT=300(写入 shell rc) 更深入的多 AI 并行调研工作流:改用 multi-ai-research skill

触发条件:

  • 用户明确要求查询 Grok 或 Gemini(“问一下 grok”“用 gemini 查”“让 grok 看看”)
  • 用户想听取 Grok 或 Gemini 的第二意见/外部顾问建议
  • 用户说“ask grok”/“ask gemini”,或提到这两者是信息来源

不触发的情况:

  • 用户想使用原生 Gemini CLI(gemini -p)→ 改用 ask-gemini skill
  • 用户想听 Claude 自己的意见 → 直接回答
  • 用户想使用其他 AI(Doubao、Yuanbao、ChatGPT 等)→ 使用其他工具

模型选择

如果用户没有指定模型,实时/社交/新闻/科技趋势类问题默认使用 Grok;长篇推理、调研、编码和文档分析默认使用 Gemini。

如果仍无法确定,先询问用户要使用哪个模型,再发送请求。

⚠️ 常见错误命令(直接快速失败)

❌ 错误✅ 正确原因
opencli gemini chat "..."opencli gemini ask "..."没有 chat 子命令
opencli grok chat "..."opencli grok ask "..."只有 ask 子命令
opencli grok newopencli grok ask "..." --new truegrok 的“新对话”是 ask 的参数
opencli gemini query "..."opencli gemini ask "..."没有 query 子命令

子命令速查(运行 opencli grok --help 或 opencli gemini --help 查看):

Grok:
  ask <prompt>                    # 唯一命令

Gemini:
  ask <prompt>                    # 最常用
  new                             # 开新对话
  deep-research <prompt>          # Deep Research 模式
  deep-research-result [query]    # 取 Deep Research 结果
  image <prompt>                  # 图片生成

⚠️ 关键:双层超时(来自 2026-04-08 调试)

opencli 有两个独立的超时层,要让 grok 等待足够长的时间,必须同时设置:

  1. 内层:--timeout 300 — grok.com 网页响应等待时间
  2. 外层:OPENCLI_BROWSER_COMMAND_TIMEOUT=300 环境变量 — 整个浏览器命令的执行超时(默认 60s,在 runtime.js:25 中硬编码)

外层优先级高于内层。只设置 --timeout 300 仍会在 60s 时被终止。必须同时设置两者。

源代码:.omx/reference/opencli/dist/src/runtime.js:25:

export const DEFAULT_BROWSER_COMMAND_TIMEOUT = parseEnvTimeout('OPENCLI_BROWSER_COMMAND_TIMEOUT', 60);

建议:将 export OPENCLI_BROWSER_COMMAND_TIMEOUT=300 添加到 ~/.zshrc,为每次 grok/gemini 调用留出充足时间。

命令

Grok(必须设置环境变量)
OPENCLI_BROWSER_COMMAND_TIMEOUT=300 opencli grok ask "{{PROMPT}}" --timeout 300 -f json

或者,如果环境变量已在 shell 中导出:

opencli grok ask "{{PROMPT}}" --timeout 300 -f json

标志:

  • --new true — 开始新对话(避免污染之前的对话上下文)
  • --web true — 使用强化版 grok.com 消费者网页流程(错误信息更清晰)
  • --timeout 300 — 必须等于或低于 OPENCLI_BROWSER_COMMAND_TIMEOUT
  • -f json — 结构化输出(建议使用,便于解析;优于 --format plain)
Gemini
opencli gemini ask "{{PROMPT}}" --format plain

Gemini 比 grok 更稳定,通常不会触发 60s 超时。无需设置环境变量,但设置了也无妨:

OPENCLI_BROWSER_COMMAND_TIMEOUT=300 opencli gemini ask "{{PROMPT}}" --format plain

标志:

  • --new true — 开始新对话
  • --timeout 90 — 延长长回答的超时时间(默认 60s)
并行调用(适用于多 AI 工作流)

若要从 Claude Code 并行调用 grok 和 gemini,请在同一轮助手响应中,对两次调用都使用 run_in_background=true 的 Bash 工具。Claude Code 会并发启动它们,并等待任务完成通知。

对于深度交叉验证工作流(N 个内部子 Agent + 2 个外部 AI,按置信度分层综合),请改用 multi-ai-research skill;其中涵盖了完整的编排模式。

前置条件(运行前检查)

  1. 已安装 opencli:opencli --version 应输出版本号。
  2. Chrome 正在运行,且已加载 Browser Bridge 扩展程序 — 通过 chrome://extensions → 开发者模式 → 加载已解压的扩展程序,从 ~/Desktop/code/AI/tools/opencli/extension/ 安装扩展程序。如果缺少扩展程序,opencli doctor 会提示。
  3. 已登录目标网站:
    • Grok:必须已登录 grok.com
    • Gemini:必须已登录 gemini.google.com
  4. 守护进程连通性:如不确定,请在每个会话中运行一次 opencli doctor。

如果任何检查未通过,请勿悄悄改用其他工具。报告缺少的前置条件,并请用户修复(依据 U-23 禁止静默降级规则)。

执行流程

  1. 确定使用哪个模型(Grok 还是 Gemini)。如果不明确,请询问。
  2. 构建提示词。请明确说明 — 这些浏览器界面没有系统提示词,因此完整问题必须能独立理解。
  3. 使用 --format plain 运行 opencli 命令。
  4. 获取响应。如果命令因会话/身份验证/挑战消息而失败,请停止并向用户说明错误。请勿盲目重试。
  5. 保存一个制品(见下文)。
  6. 向用户汇报:所用模型、响应摘要以及制品路径。

错误处理

opencli 会输出具体错误,例如:

  • "Not logged in to grok.com" → 请用户登录
  • "Composer not found" → DOM 已更改,请用户手动打开网站后重试
  • "Session gated / challenge" → 用户需要在 Chrome 中手动完成挑战
  • 超时 → 提议使用更长的 --timeout 重试

请勿忽略这些错误。逐字报告错误,并说明修复操作。

制品要求

每次调用成功后,都将 Markdown 制品保存到:

.omx/artifacts/ask-opencli-<grok|gemini>-<slug>-<YYYYMMDD-HHMMSS>.md

至少包含以下部分:

  1. 用户的原始任务 — 用户提出的要求
  2. 模型 — grok 或 gemini,以及使用的任何标志(--new、--web、--timeout)
  3. 发送的最终提示词 — 传递给 opencli ... ask 的确切字符串
  4. 原始响应 — opencli 的完整输出
  5. 摘要 — 用 2-3 个要点提炼关键信息
  6. 行动项/后续步骤 — 如何处理这些信息

即使响应质量不佳,也要保留制品 — 它用于记录已执行查询。

示例

# Quick factual question, Grok default path
opencli grok ask "最新的 Claude 4.6 定价和 4.5 有什么差别?" --format plain

# Long reasoning task, Gemini with extended timeout + fresh chat
opencli gemini ask "分析这段 Rust 代码的并发安全问题:..." --new true --timeout 120 --format plain

# Grok hardened web path with new chat
opencli grok ask "X 上这两天关于 agent framework 的讨论焦点是什么?" --web true --new true --format plain

任务:{{ARGUMENTS}}

评论

支持 Markdown