mcpField
C
claude-use-gemini-acp

claude-use-gemini-acp

github.com/genericserviceAgent 工作流037 次安装23 周前更新
代码仓库

关于 claude-use-gemini-acp

claude-use-gemini-acp 是供 Claude 使用的技能,通过 ACP 调用 Gemini CLI,发送单条提示词并流式输出回复。适用于需要更多上下文、Google Search grounding 或其他模型意见的任务。

主要功能

  1. 01以 ACP 模式启动 Gemini CLI
  2. 02在新会话中发送提示词
  3. 03将回复片段流式输出到 stdout
  4. 04配置模型、CLI 版本和工作目录
  5. 05完成后终止子进程

适用场景

  1. 01征求其他模型的意见
  2. 02委派需要更多上下文的任务
  3. 03请求 Gemini 提供 Google Search grounding
  4. 04依次运行多个聚焦提示词

安装

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

$npx skills add https://github.com/genericservice/claude-skills --skill claude-use-gemini-acp

安装后在 Claude Code 中输入/claude-use-gemini-acp确认已加载。

包含的文件

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

scripts/
.gitignore
gemini-delegate.mjs
package.json
pnpm-lock.yaml

详细介绍

通过 ACP 使用 Gemini 响应 Claude

以 ACP 模式启动 Gemini CLI 子进程,发送提示词,将响应流式输出到 stdout,然后正常终止。不保留会话——一个提示词,一次响应。

适用场景

  • 任务需要的上下文超出 Claude 窗口容量
  • 需要实时使用 Google Search 获取依据
  • 想要获取来自其他模型的第二种意见
  • 用户说“问问 Gemini”“这件事用 Gemini 来做”等

设置(仅首次使用)

cd ~/.claude/skills/claude-use-gemini-acp/scripts
pnpm install

这会将 @agentclientprotocol/sdk 安装到本地 node_modules/。后续运行会跳过此步骤——pnpm 会缓存结果。

用法

GEMINI_MODEL=gemini-2.5-pro \
TARGET_CWD=/path/to/project \
node ~/.claude/skills/claude-use-gemini-acp/scripts/gemini-delegate.mjs \
  "Summarize the architecture in ARCHITECTURE.md and list the top 3 risks"

Gemini 生成响应时,会将其流式输出到 stdout。捕获响应以便在回复中使用:

response=$(node ~/.claude/skills/claude-use-gemini-acp/scripts/gemini-delegate.mjs "your prompt")

环境变量

变量默认值描述
GEMINI_MODELgemini-2.5-pro要使用的模型
GEMINI_CLI_VERSIONnightlygemini-cli 软件包版本(nightly 或特定的 semver 版本)
TARGET_CWD当前工作目录传递给 Gemini 会话的工作目录

工作原理

  1. 启动 pnpm dlx @google/gemini-cli@<version> --acp --yolo --model <model>
  2. 通过 @agentclientprotocol/sdk 的 ClientSideConnection + ndJsonStream 建立连接
  3. 通过 ACP 会话发送 initialize → newSession → prompt
  4. 收到 agent_message_chunk 增量内容后,立即将其流式输出到 stdout
  5. 提示词响应完成后终止子进程

--yolo 标志(-y)会自动批准 Gemini 会话中的所有工具调用。

构建提示词的建议

  • 在提示词字符串中包含所有相关上下文——这是一个没有先前历史记录的全新会话
  • 如果希望 Gemini 读取文件,请使用绝对路径引用文件(它可以使用文件系统工具)
  • 保持提示词聚焦:每次调用只安排一个明确的任务
  • 对于多步骤工作,进行多次连续调用,而不是编写一个冗长的提示词

错误处理

如果脚本以非零状态退出,请检查 stderr 中的以下错误:

  • pnpm dlx 下载失败(网络、身份验证)
  • Gemini 身份验证错误(可能需要运行 gemini auth login)
  • ACP 初始化失败(版本不匹配)

脚本不会重试——如果出现故障,请向用户说明错误,并建议修复根本原因后重新运行。

评论

支持 Markdown