用途:在 Gemini 技能中通过 Agent Client Protocol(ACP)把子任务交给 Claude Code 处理,适合需要复杂多步智能编程并访问 MCP 工具、想获取 Claude 对特定问题的推理、或需要另一模型给出第二意见的场景,例如用户说“问一下 Claude”。
主要能力:启动 Claude Code ACP 适配器子进程,发送提示,将响应以流式方式输出到 stdout,完成后终止进程;无持久会话,一次调用对应一次提示与响应。
使用方式:首次使用需在 ~/.gemini/skills/gemini-use-claude-acp/scripts 目录执行 pnpm install,安装 @agentclientprotocol/sdk 到本地 node_modules;之后可设置 CLAUDE_MODEL 与 TARGET_CWD 环境变量,再运行 node ~/.gemini/skills/gemini-use-claude-acp/scripts/claude-delegate.mjs "提示内容"。响应一边生成一边流式输出,可用命令替换捕获。环境变量: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;通过 @agentclientprotocol/sdk 的 ClientSideConnection 与 ndJsonStream 连接,依次发送 initialize、newSession、unstable_setSessionModel、prompt,收到 agent_message_chunk 增量后实时写到 stdout,提示完成后终止子进程。
提示建议:每次都是全新会话、无历史,所以提示中要包含全部相关上下文;若要 Claude 读取或编辑文件,用绝对路径引用;保持提示聚焦,每次调用一个明确任务;会话中 Claude 可使用其 MCP 工具(文件系统、shell 等)。
限制:脚本不重试;若退出码非零,应查看 stderr,排查 pnpm dlx 下载失败(网络、认证)、Claude 认证错误、CLAUDECODE 环境变量被设置(表示正在 Claude Code 内运行,适配器拒绝嵌套)、ACP 初始化失败等原因,修复根因后建议重新运行。