AI 编程教程中文版
官方教程中文版Agents & Skills

Remote agents

Gemini CLI Remote agents 的用途:连接远程 agent、跨环境协作、远程能力边界和安全注意事项。

📖 本篇术语速查表
英文 / 缩写中文一句话解释
Remote agents远程代理在远程环境跑的 Agent。
网络暴露exposure远程连接的对外访问面。
认证auth远程访问的身份校验。

不想读完?把下面这段提示词丢给 AI 帮你跑完——帮你判断要不要用 Remote agents、怎么安全连接。

你是 Gemini CLI 远程代理顾问。

【角色】
Gemini CLI 远程代理顾问,按最小够用、安全优先的原则给可落地方案,每条结论都落到能照做的步骤或示例,不停留在空泛建议。

【输入】
- 为什么想用远程(算力 / 环境 / 数据在远端):___
- 远程环境类型:___
- 现有认证方式:___
- 最担心的安全点:___
- 经验水平:___

【工作流程】
1. 判断是否真需要远程
2. 给连接和认证配置
3. 收紧网络暴露面
4. 说明常见故障
5. 给验证和排障

【输出规范】
▌一、是否需要远程
▌二、连接 + 认证
▌三、网络暴露收紧
▌四、故障排查

【硬约束】
- 能用本地就不开远程
- 远程必须认证,不裸暴露端口
- 生产环境远程默认人工确认
- 不要替我臆测情况或编造不存在的能力,信息不全先问清
- 不确定的配置或接口一律以官方文档为准,禁止照搬过时写法
- 给的每条结论都要落到具体可照做的步骤或示例,不停留在「建议」「考虑一下」这类没法直接执行的空泛表述

Remote agents 让 Gemini CLI 可以连接和使用远程 agent。它适合把某些专门能力放到远端环境,但安全边界要比本地 subagent 更谨慎。

Remote agent 会引入网络、远端日志、认证和数据跨边界问题。第一次调用只给低敏、只读任务。

官方实现基于 Agent-to-Agent(A2A)协议。Gemini CLI 可以连接符合 A2A 的远程 subagent,把任务委托给远程服务后接收结果。

适合场景

  • 远端有专门运行环境。
  • 团队共享某个专门能力。
  • 本机不适合安装重依赖。
  • 任务需要访问远程资源。

定义方式

Remote agent 用 Markdown 文件加 YAML frontmatter 定义,放在:

  • 项目级:.gemini/agents/*.md
  • 用户级:~/.gemini/agents/*.md

最小示例:

---
kind: remote
name: my-remote-agent
agent_card_url: https://example.com/agent-card
---

kind 必须是 remotename 必须是合法 slug。远端能力来源可以是 agent_card_url,也可以是内联 agent_card_json。一个 Markdown 文件可以定义多个 remote agent,但当前只支持 remote list,不支持把 local 和 remote 混在同一个文件里。

网络和认证

如果配置了代理,Gemini CLI 会使用 settings.jsongeneral.proxy 或标准环境变量 HTTP_PROXYHTTPS_PROXY

官方支持的认证方式包括:

  • apiKey:把静态 key 放进 HTTP header。
  • http:Bearer、Basic 或其他 HTTP auth scheme。
  • google-credentials:Google ADC,适合 Google Cloud / Cloud Run。
  • oauth:OAuth 2.0 Authorization Code + PKCE。

项目级 agent 文件不要直接写明文密钥。apiKeyhttp 的 secret 支持 $ENV_VAR!command 动态读取;优先用环境变量或命令获取短期 token。

风险

  • 远端 agent 能看到什么数据。
  • 远端日志如何保存。
  • 凭据是否会跨边界。
  • 网络失败如何恢复。
  • 任务结果如何验证。
  • 远端 agent card 是否可信。
  • 认证 token 是否会发到非预期 host。
风险点检查
数据外发远端能看到哪些 prompt、文件和结果
远端日志服务端是否保存请求和响应
认证token 是否只发给预期 host
网络失败超时、重试、降级策略是否明确
结果验证本地如何复核远端输出

建议

先用只读任务验证 remote agent,再逐步开放写操作。不要把远程 agent 当成“更强的本地 agent”,它多了网络、权限和数据边界。

对 Google Cloud 场景,google-credentials 只会把 token 发给已知 Google-owned hosts,例如 *.googleapis.com*.run.app。其他域名应改用 apiKeyhttpoauth,不要绕过 host 限制。

管理和关闭

会话内用 /agents list 查看 local 和 remote agents,用 /agents reload 重载定义,用 /agents enable <name>/agents disable <name> 控制单个 agent。要整体关闭 agents,可在 settings.json 里设置:

{
  "experimental": {
    "enableAgents": false
  }
}

验收方式

先验证 agent card 能读取,再验证认证方式不会把密钥写入项目文件。第一次调用只给远端只读、低敏任务;拿到结果后,用本地命令或人工检查复核。远端 agent 的结果不能直接等同于本地已验证产物。

接下来去哪

官方来源

本页目录