用途:RouterOS 把所有配置与命令组织为层级命令树,CLI 中的每个路径(如 /ip/address/add)对应树中的一个节点。/console/inspect 端点可编程探索整棵树,常被用于构建解析 RouterOS 命令的工具,以及从命令树生成 API schema(如 restraml、rosetta)。
节点类型:dir(目录,含子路径)、path(可导航层级)、cmd(可执行动作,如 add、set、print、remove、get、export)、arg(命令参数,如 address=、interface=、disabled=)。
主要能力:调用 POST /rest/console/inspect,需基础认证,适用于 RouterOS 7.x。request 类型包括 child(列出某路径子节点,返回 name 与 node-type)、syntax(取节点帮助文本)、highlight(语法高亮)、completion(补全建议)。path 字段使用逗号分隔段而非斜杠,根为空字符串,例如 "ip,address,add,address"。
使用方式:递归遍历时可对子节点调用 child,对 arg 节点调用 syntax 获取描述。CLI 命令与 REST 动词映射:get→GET、add→PUT(创建,非 POST)、set→PATCH、remove→DELETE、其他命令→POST。POST 命令端点支持 .proplist 与 .query 特殊参数。输出可整理为 inspect.json、RAML 1.0 或 OpenAPI 3.0;inspect.json 是某个 RouterOS 版本命令树的权威来源,可离线解析,开发测试时可用 INSPECTFILE 环境变量避免重复实时查询。
限制与注意:完整遍历实时路由器需数千次顺序 HTTP 请求,耗时数分钟且无批量 API;命令树随版本与额外软件包变化。旧版本在对脚本关键字路径做 syntax/completion 查询时可能使 REST 服务卡死,保守做法是跳过含 where、do、else、rule、command、on-error 的子树,并对旧版本或未知版本设置短超时;已确认的卡死为 RouterOS ≤7.20.8 上裸 do 配合 syntax/completion,7.21.4 已修复,child 枚举在所有已测版本安全。