Agent 工具栈指南

Gemini CLI 工具与安全配置

用搜索和结构化数据工具建立本地检查栈,再为 HTTP 和 GitHub 配置明确范围。

编程 Agent本地写入

Gemini CLI 命令策略预览

从一个推荐 CLI 开始,以只读模式生成策略;保存前检查命令前缀、目标环境和审批边界。

Gemini CLI policyverified · 2026-07-10
gemini-policy.toml
# Gemini CLI policy for GitHub CLI
# Install as a .toml file under ~/.gemini/policies/ (or an administrator policy directory).
# Generated mode: read-only
# Mode boundary: R0 exact commands may be used; R1, R2, and R3 commands are forbidden.
# Evidence: verified; checked 2026-07-10; tested version: 2.86.0.
# Review generated command prefixes before loading this policy.

[[rule]]
toolName = "run_shell_command"
commandPrefix = "gh pr list --state open --json number,title,reviewDecision,url"
decision = "ask_user"
priority = 200

[[rule]]
toolName = "run_shell_command"
commandPrefix = "gh pr merge"
decision = "deny"
priority = 300

[[rule]]
toolName = "run_shell_command"
commandPrefix = "gh repo delete"
decision = "deny"
priority = 300

证据边界

兼容性不等于实测:当前数据没有把独立 CLI 执行归因到具体 Agent。

生成内容是待审查的起点。远程写入、删除、生产操作和任何需要确认的命令仍必须停下获得明确批准。

目标、输入与输出

在 Agent 选择命令前,先明确要交付的结果和证据。

目标

为 Gemini CLI 提供可预测命令和输出,同时避免开放式远程动作面。

所需输入

  • 项目指令
  • shell 环境
  • 任务与目标服务
  • 凭证规则

预期输出

  • CLI 工具栈
  • 命令 allowlist
  • 输出规则
  • 远程动作审批清单

Gemini CLI 工具与安全配置:安全执行步骤

每一步都要在已声明的边界内执行,验证输出后再继续。

步骤 1只读

检查本地工具

远程访问前确认搜索、JSON、YAML 和项目命令。
输入
Workspace 和包管理器
输出
可用本地工具集
$ 检查本地工具
rg --version && jq --version && yq --version
步骤 2本地写入

定义输出合同

为每个命令请求结构化或稳定输出,并保留退出码。
输入
选定 CLI 命令
输出
可解析命令模式
步骤 3本地写入

加入限定服务

只为当前任务和目标配置 GitHub 或 HTTP 凭证。
输入
获批服务身份
输出
任务专用远程工具

审批点与回滚

在列出的决策点停下,并让恢复方法始终紧跟操作。

这些操作需要先确认

  • 远程写入和生产请求
  • 加入宽权限 Token 或凭证
  • 覆盖文件或绕过项目检查的命令

恢复计划

  • 项目策略进入版本控制
  • 删除临时凭证配置
  • 回退本地文件;远程变更使用服务自身反向操作

选 CLI、MCP 还是 API?

根据执行位置、身份、输出合同与权限边界选接口。

CLI

适合本地文件、项目命令和可复现请求。

MCP

需要受限 typed service tools 时适用。

API

稳定服务合同比宽 CLI 更容易控制时使用。

建议方案

保持基础栈本地化,每个任务只加入一个窄远程接口。

官方证据与参考

执行前使用这些官方或上游来源确认当前命令行为。

Gemini CLI repository

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

GitHub CLI manual

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

ripgrep guide

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

curl manual

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

执行前的常见问题

Gemini CLI 需要同时安装 jq 和 yq 吗?

只安装项目用到的;jq 处理 JSON,yq 适合 YAML 和混合配置格式。

curl 凭证应该怎样传递?

从环境或获批 Secret helper 读取,绝不能把值写进日志或指令。

相关工具与指南

浏览同类指南,选择与你当前任务最接近的下一页。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

检查安装、认证、结构化输出、命令风险与官方证据。

检查安装、认证、结构化输出、命令风险与官方证据。

检查安装、认证、结构化输出、命令风险与官方证据。