rauto 概览
rauto 是一个用 Rust 编写的网络自动化工具集,围绕 CLI、Web 控制台和 Agent API 三个入口,统一提供网络设备与 Linux 主机的连接、执行、编排、录制和回放能力。
它解决什么问题
Section titled “它解决什么问题”传统网络自动化往往会遇到这些问题:
- 命令执行分散,临时脚本难以复用
- 多厂商设备 prompt/mode 差异大
- 变更缺少事务化与回滚能力
- 多设备操作缺少统一编排和审计记录
- 想做 AI 驱动控制时,底层连接与模板能力不够稳定
rauto 的设计目标,是把这些底层能力统一抽象出来,让网络工程师、自动化开发者和 AI Agent 都可以复用同一套执行引擎。
最直接的入口,适合:
- 临时执行单条命令
- 渲染模板后下发
- 执行交互式命令流
- 做单设备事务块、工作流和多设备编排
Web 控制台
Section titled “Web 控制台”rauto web 启动的是本地自管理控制台,适合:
- 管理已保存连接、模板、命令流模板
- 通过页面执行命令、事务和编排
- 查看异步任务、录制、回放、黑名单和备份
Agent 模式
Section titled “Agent 模式”rauto agent 用于接入 rauto-manager,成为一个可被中心化控制平面纳管的执行节点,适合:
- 多机房、多区域的分布式执行
- manager 侧统一下发任务与观察执行状态
- 通过 HTTP 或 gRPC 与 manager 通信
- 双层模板体系:命令模板与设备 profile
- 内置多厂商设备 profile,并支持自定义 profile
- 连接配置可保存、复用、导入与分组
- 命令黑名单,防止危险命令误下发
- 会话录制与回放,支持 JSONL 历史审计
tx事务块,适合单目标有回滚需求的变更tx-workflow,适合多阶段事务工作流orchestrate,适合多设备串行/并发编排upload,适合支持 SFTP 的主机直接上传文件backup,适合备份和恢复~/.rauto运行数据
什么时候使用哪个入口
Section titled “什么时候使用哪个入口”| 目标 | 推荐入口 | 说明 |
|---|---|---|
| 快速执行一条命令 | rauto exec | 适合临时排障和快速验证 |
| 渲染模板并下发 | rauto template | 适合复用命令模板 |
| 驱动交互式问答流程 | rauto flow | 适合 copy scp:、安装向导等场景 |
| 浏览器中管理和执行 | rauto web | 适合单机自管和可视化操作 |
| 接入中心化控制平面 | rauto agent | 适合被 rauto-manager 纳管 |
| 做单目标事务回滚 | rauto tx | 适合紧凑的事务执行单元 |
| 执行工作流 JSON | rauto tx-workflow | 适合分 block 表达事务逻辑 |
| 做多设备编排 | rauto orchestrate | 适合批量上线和灰度发布 |
rauto 与 rauto-manager 的职责不同:
| 项目 | 角色 | 更适合 |
|---|---|---|
rauto | 执行引擎和本地操作工具 | 单机执行、本地控制台、Agent 运行时 |
rauto-manager | 中心化控制平面 | 多 Agent 管理、共享设备清单、集中下发 |
如果你当前主要关注的是:
- 单台运维工作站的自动化执行
- 本地模板、录制、回放和事务能力
- 为 AI 或上层平台提供稳定的执行底座
那就优先使用 rauto。