ansible-playbook · Red Hat Ansible

Ansible CLI Agent 使用指南

运行 Inventory 检查、语法检查、Dry Run 和受控远程自动化。

官方工具操作风险: R0R3docs-verified
Agent 适配度
85/100
证据可信度
docs-verified
文档检查日期
2026-07-10
独立测试版本
尚未独立测试

为 Agent 安装

选择与运行环境匹配的官方安装方式。在团队或 CI 环境中固定版本,并先运行版本检查。

pipx推荐
macos · linux
$ shell
pipx install --include-deps ansible
认证与最小权限
只提供任务需要的权限,凭证通过环境变量或平台密钥存储传入,不能写进提示词、仓库或日志。
需要认证支持无界面认证

使用专用 Inventory、非特权远程账号、主机限制和 Vault 管理的密钥。

认证方式
SSH key, WinRM, Ansible Vault, become credentials
密钥环境变量
ANSIBLE_CONFIG, ANSIBLE_VAULT_PASSWORD_FILE
凭据保存位置
无界面运行时,在进程启动时从 CI 或平台密钥管理器注入 ANSIBLE_CONFIG、ANSIBLE_VAULT_PASSWORD_FILE。本地交互使用时,若官方客户端支持,应优先使用 CLI 或操作系统凭据存储;不要把值写入仓库文件。
Agent 与运行环境兼容性
先确认 Agent 能使用 Shell,再检查平台、网络与凭证是否可用。
claude-codecodexgemini-clicopilot-cli
Environments
local, ci, container, headless, remote
Platforms
macos, linux

用于稳定自动化的结构化输出

优先使用机器可读格式,并把 stdout 作为结果、stderr 作为诊断信息分别处理。

json · yaml · text
在支持的命令中使用 ansible-inventory --list 或 ANSIBLE_STDOUT_CALLBACK=json,并将诊断日志保留在 stderr。
ansible-inventory --listANSIBLE_STDOUT_CALLBACK=json

尚未记录真实输出样例

当前结构化输出能力来自官方文档。完成有限、非破坏性执行并保存 stdout 前,不展示推测样例或伪造 Schema。

R0–R3 命令风险指南

风险按单条命令判断。R0 是本地或远程只读,R1 是可逆的本地写入,R2 会改变远程状态,R3 可能造成不可逆或生产级影响。

只读不等于可公开

R0 只表示命令不更改本地或远程状态。只读命令仍可能返回令牌、身份信息、配置或生产数据;只展示完成任务所需的最少内容,不得写入日志、Prompt 或提交内容。

R0检查 Inventory
以 JSON 读取解析后的 Inventory。
$ shell
ansible-inventory --inventory inventory.ini --list
可重复执行敏感输出
R0检查 Playbook
针对有限主机运行 check 模式;部分模块仍可能产生副作用。
$ shell
ansible-playbook --inventory inventory.ini --limit staging --check --diff site.yml
可重复执行
R2运行 Playbook
会更改 Inventory 和 limit 选中的远程主机。
$ shell
ansible-playbook --inventory inventory.ini --limit staging site.yml
执行前必须确认可能产生重复变更

Agent Readiness 评分依据

适配度描述 Agent 操作工具的稳定程度,不代表所有命令都安全,也不替代独立执行测试。

文档证据对应的 Agent Readiness 为 85/100;尚未记录本地执行测试。

结构化输出
在支持的命令中使用 ansible-inventory --list 或 ANSIBLE_STDOUT_CALLBACK=json,并将诊断日志保留在 stderr。
18/20
x
无界面运行
官方文档描述了非交互认证或执行路径。
14/15
x
安全控制
文档中的命令包含 dry-run、preview、plan 或 check 路径。
14/15
x
确定性
命令尽量使用显式参数和文档支持的输出控制。
8/10
x
认证
使用专用 Inventory、非特权远程账号、主机限制和 Vault 管理的密钥。
8/10
x
文档
本条目引用了 2026-07-10 检查的官方文档。
9/10
x
安装
文档安装路径覆盖条目列出的平台。
6/8
x
维护状态
条目链接了官方源码仓库,便于检查发布与维护状态。
6/7
x
Agent 产物
CLI Finder 可生成基于注册表的 Skill 和策略;该分数不假定工具自身提供这些产物。
2/5
x

生成 Skill 或 Agent 策略

选择目标 Agent 和安全模式,生成包含安装、允许命令、确认边界与证据说明的可复制产物。

生成结果预览
SKILL.md
---
name: ansible-agent-workflow
description: Use Ansible CLI for server inventory, configuration checks, playbook dry runs with explicit command risk and evidence boundaries.
---

# Ansible CLI agent workflow

Use this skill when the task needs server inventory, configuration checks, playbook dry runs, remote automation.

## Evidence boundary

- Registry confidence: `docs-verified`
- Documentation checked: `2026-07-10`
- Locally tested version: `not tested`
- Do not describe this CLI as locally verified until its commands have actually been executed in an isolated environment.

## Executed smoke checks

- No local execution record is available.

## Installation

- pipx (macos, linux): `pipx install --include-deps ansible`

## Authentication

- Methods: SSH key, WinRM, Ansible Vault, become credentials
- Secret environment variables: `ANSIBLE_CONFIG`, `ANSIBLE_VAULT_PASSWORD_FILE`
- Minimum permissions: Use a dedicated inventory, unprivileged remote account, host limit, and vault-backed secrets.
- Credential storage: For headless runs, inject ANSIBLE_CONFIG, ANSIBLE_VAULT_PASSWORD_FILE from the CI or platform secret manager at process start. For local interactive use, prefer the CLI or operating-system credential store when the official client supports one. Never save values in repository files.
- Never print, persist, or commit credential values.

## Allowed commands (read-only)

- `ansible-inventory --inventory inventory.ini --list` — R0: Reads the resolved inventory as JSON.
- `ansible-playbook --inventory inventory.ini --limit staging --check --diff site.yml` — R0: Runs check mode against a limited host set; modules may still have side effects.

## Commands requiring explicit approval (read-only)

- None recorded.

## Forbidden commands (read-only)

- R2 `ansible-playbook --inventory inventory.ini --limit staging site.yml` — Changes remote hosts selected by the inventory and limit.

## Execution rules

1. Mode boundary: R0 exact commands may be used; R1, R2, and R3 commands are forbidden.
2. Confirm the selected account, project, context, database, namespace, or environment before any command.
3. Prefer structured output using `ansible-inventory --list`, `ANSIBLE_STDOUT_CALLBACK=json`.
4. Capture the exact command, exit code, stdout, and stderr separately.
5. A generated prefix policy must prompt unless that exact prefix is explicitly marked suffix-safe; do not infer safety from the executable name.
6. Never broaden credentials or disable safety controls to make a command succeed.

## Official sources

- [Ansible command-line tools guide](https://docs.ansible.com/ansible/latest/command_guide/index.html)
- [Ansible command-line tools guide source repository](https://github.com/ansible/ansible)

这个任务该用 CLI、MCP 还是 API

CLI
适合在开发机、CI 或容器里复用现有 Shell、凭证和脚本,尤其适合短时、可观察的任务。
MCP
当 Agent 需要受控工具定义、委托身份或由服务端集中治理访问时,MCP 可能更合适。
API
当工作流是应用内长期集成、批量调用或事件驱动时,直接 API 往往比启动进程更稳定。
查看 CLI 与 MCP 完整对比

验证记录与官方证据

CLI Finder 分开记录文档检查和真实执行。未执行过的安装、帮助、退出码与输出不能标为 Verified。

当前证据边界
已审阅官方文档,但未在本地执行安装、帮助输出、退出码、无界面行为或结构化输出测试。
证据可信度
docs-verified
独立测试版本
尚未独立测试
测试环境
未记录
官方来源
打开官方资料确认当前版本和命令。

替代工具与相关入口

安全地观测应用并规划基础设施变更。
格式化、校验、规划和应用基础设施,并明确区分 plan 与 apply 风险。
通过结构化输出和明确 Stack 控制预览并应用基础设施程序。
先限定时间、服务、文件和模式,再只收集解释事故所需的日志行。
用确定性本地工具配合 Codex,只在沙箱和审批规则允许时加入远程 CLI。
本地和 CI 的 shell 工作优先 CLI;更看重 typed discovery 和中介式远程权限时选 MCP。

Agent 使用 Ansible CLI 的常见问题