AI Skill 与 Agent 工作流

rauto 自带 rauto-usage Skill,让 AI 编码 Agent 直接理解当前 CLI、Web 控制台、JSON 模型与安全规则,而不是依靠通用网络知识猜测命令。

这个 Skill 适合让 AI 帮你:

  • 检查已保存设备、凭证、分组、标签、Profile 与 show 对象
  • 通过 rauto show 完成安全的只读巡检
  • 自动发现 SSH 设备,并按确认结果保存连接
  • 生成完整的事务、workflow 或多设备编排 JSON
  • 使用当前安装的 rauto 二进制校验 AI 生成的计划
  • 在明确要求时启动本地 Web 控制台或托管 Agent
  • 汇总执行结果,并定位可供回放的 session 记录

安装 Skill

使用 Skills CLI 从 rauto 仓库安装:

npx skills add demohiiiii/rauto --skill rauto-usage

需要安装到用户级目录时添加 --global:

npx skills add demohiiiii/rauto --skill rauto-usage --global

Skills CLI 会检测支持的 AI Agent,并管理对应的 Skill 目录。需要明确指定一个受支持的 Agent 时,可以添加 --agent <agent>。

Skill 源码位于 skills/rauto-usage/,其中包括操作手册、当前 JSON 模板、设备发现说明、故障排查资料,以及调用 CLI 做真实校验的计划校验器。

Skill 与 Agent 模式不是一回事

这里的两个“Agent”解决的是不同问题:

组件运行位置作用
rauto-usage SkillCodex、Claude Code 或其他受支持的 AI 编码 Agent告诉 AI 如何选命令、检查状态、生成计划、校验结果并执行安全门槛
rauto agentrauto 执行节点注册到 rauto-manager,接受中心化设备管理、任务下发、状态和结果上报

安装 Skill 不会启动服务或暴露 API;启动 rauto agent 也不会自动把 Skill 指令提供给 AI 助手。

为 AI 操作准备 rauto

认证信息和目标身份应保存在 rauto 中,不要放进提示词。

rauto credential add network-admin

rauto device add core-01 \
  --host 192.168.1.10 \
  --credential network-admin \
  --device-profile autodetect

rauto device test --connection core-01

之后 AI 只需要引用 core-01 和 network-admin。凭证的 list/show 输出只包含元数据,不会返回明文秘密。

如果需要批量操作,先创建设备分组或标签。AI 就可以通过 --group、--label、target_groups 或 target_tags 明确作用范围,而不需要生成内联凭证。

先让 AI 检查,再决定动作

在 Codex 中可以显式点名 Skill:

使用 $rauto-usage。先列出已保存设备与可用 show 对象,再对 access 分组
执行只读版本巡检。不要修改配置。返回实际执行命令和每台设备的简要结果。

Skill 会引导 AI 优先使用稳定的 show 对象,而不是直接拼原始命令:

rauto device list --json
rauto show --list --device-profile cisco_ios
rauto show version --group access --max-parallel 4

只有在内置或自定义 show 对象都不适合时,才应该回退到 rauto exec。

让 AI 生成安全的配置变更

涉及配置变更时,提示 AI 在真实执行前停下来:

使用 $rauto-usage,为已保存的 access-switch 分组生成 VLAN 120 的可回滚
workflow。加入只读预检、并发上限和回滚命令。校验完整 JSON 并执行原生
Dry Run,但在我确认最终设备范围和计划之前不要执行真实变更。

推荐流程如下:

  1. 检查已保存设备、分组、Profile 和可用 mode。
  2. 生成完整的 tx-workflow 或 orchestrate JSON。
  3. 使用 Skill 内的 validate_json_plans.py 校验。
  4. 执行 rauto tx-workflow ... --dry-run 或 rauto orchestrate ... --dry-run。
  5. 展示目标范围、并发、失败策略、命令与回滚行为。
  6. 等待明确确认后,再执行真实变更。
  7. 汇总结果,并保留 session 记录用于审计或回放。

如果当前就在 rauto 源码仓库中,可以直接运行:

python3 skills/rauto-usage/scripts/validate_json_plans.py \
  --kind orchestration \
  --file ./campus-rollout.json

rauto orchestrate ./campus-rollout.json --dry-run

校验器会调用当前 rauto CLI,因此 AI 生成的 JSON 会对照当前运行时模型校验,而不是依赖一份可能过期的复制版 schema。

常用提示词

发现设备,但不自动全部导入

使用 $rauto-usage,通过已保存的 network-admin 凭证扫描 192.168.60.0/24。
只显示新识别的 SSH 设备,不要自动保存;先让我检查结果,再导入选中的设备。

诊断配置漂移

使用 $rauto-usage,拉取 core 分组的 running 配置,同时输出归一化内容和
SHA-256 哈希。比较结果并报告漂移。这是只读操作,不要执行配置命令。

启动本地 Web 控制台

使用 $rauto-usage,按默认 loopback 地址启动 rauto web,保持进程运行,
并告诉我本地访问地址以及 Web 密码的处理方式。

建议保留的安全规则

  • 不要把密码、私钥和 Enable 密钥写进提示词,统一引用已保存凭证名称。
  • 读取优先使用 show 和 config fetch,变更优先使用带回滚的事务命令。
  • 模糊或破坏性变更,以及带 --replace 的恢复操作,都应先获得明确确认。
  • 执行前检查设备分组、标签、max_parallel、fail_fast 和回滚行为。
  • 不要对非幂等配置变更启用 session retry;它具有至少执行一次语义。
  • 除非明确需要网络访问,否则让 rauto web 保持监听 127.0.0.1。
  • AI 输出首先只是计划,只有当前运行时校验和 Dry Run 都通过后才进入执行阶段。

下一步