关于 gemini-use-claude-acp
gemini-use-claude-acp 让 Gemini 将单条提示交给 Claude Code ACP 适配器,并将回复流式输出到标准输出。适用于需要 Claude 视角或 MCP 编码辅助的任务,且不保留会话。
主要功能
- 01启动 Claude Code ACP 子进程
- 02发送提示并流式输出回复
- 03通过 CLAUDE_MODEL 选择模型
- 04通过 TARGET_CWD 指定工作目录
适用场景
- 01征询 Claude 对问题的看法
- 02委派多步骤编码任务
- 03获取另一个模型的观点
MCP 相关
它通过 ACP 连接 Claude Code;生成的 Claude 会话可使用其 MCP 工具,包括 filesystem 和 shell。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ genericservice/ claude-skills --skill gemini-use-claude-acp安装后在 Claude Code 中输入/gemini-use-claude-acp确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/.gitignoreclaude-delegate.mjspackage.jsonpnpm-lock.yaml详细介绍
Gemini → Claude via ACP
启动 Claude Code ACP 适配器子进程,发送提示词,将响应流式输出到 stdout,并干净地终止进程。不会保留会话 — 一个提示词,一次响应。
适用场景
- 任务需要通过 MCP 工具访问来完成复杂的多步骤 Agentic 编码
- 你想听听 Claude 对某个具体问题的推理
- 用户说“问问 Claude”“这件事用 Claude 处理”等
- 你想听听不同模型的第二种意见
设置(仅首次使用)
cd ~/.gemini/skills/gemini-use-claude-acp/scripts
pnpm install
这会将 @agentclientprotocol/sdk 安装到本地 node_modules/。后续运行会跳过此步骤。
用法
CLAUDE_MODEL=claude-sonnet-4-6 \
TARGET_CWD=/path/to/project \
node ~/.gemini/skills/gemini-use-claude-acp/scripts/claude-delegate.mjs \
"Refactor the auth module to use JWT tokens. The code is in src/auth/."
Claude 生成响应时,会将其流式输出到 stdout。捕获响应:
response=$(node ~/.gemini/skills/gemini-use-claude-acp/scripts/claude-delegate.mjs "your prompt")
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
CLAUDE_MODEL | claude-sonnet-4-6 | 要使用的模型(通过 ACP unstable_setSessionModel 应用) |
TARGET_CWD | 当前工作目录 | 传递给 Claude 会话的工作目录 |
工作原理
- 使用以下配置启动
pnpm dlx @zed-industries/claude-code-acp:CLAUDE_CODE_SKIP_PERMISSIONS=1— 自动批准所有工具调用TERM=dumb— 防止输出中出现 ANSI 转义序列- 取消设置
CLAUDECODE— 防止适配器在另一个 Claude 会话中拒绝启动 - 将
~/.local/bin添加到PATH的开头 — 确保找到claude二进制文件
- 通过
@agentclientprotocol/sdk的ClientSideConnection+ndJsonStream进行连接 - 通过 ACP 依次发送
initialize→newSession→unstable_setSessionModel→prompt - 收到
agent_message_chunk增量时,将其流式输出到 stdout - 提示词响应完成后,终止子进程
构造提示词的技巧
- 在提示词字符串中包含所有相关上下文 — 这是一个没有先前历史记录的新会话
- 如果希望 Claude 读取或编辑文件,请使用绝对路径引用文件
- 让提示词保持聚焦:每次调用只处理一个明确的任务
- Claude 可以在会话期间使用其 MCP 工具(文件系统、shell 等)
错误处理
如果脚本以非零状态退出,请检查 stderr 中是否有以下信息:
pnpm dlx下载失败(网络、身份验证)- Claude 身份验证错误 — 确保
claudeCLI 已完成身份验证 - 已设置
CLAUDECODE环境变量(表示你正在 Claude Code 中运行;适配器拒绝嵌套运行) - ACP 初始化失败
脚本不会重试 — 将错误告知用户,并建议在修复根本原因后重新运行。
评论
支持 Markdown