技能 routeros-command-tree
📦

routeros-command-tree

安全

从命令树生成 RouterOS API Schema

构建与 RouterOS 交互的工具需要了解命令层级结构。本技能提供了通过 /console/inspect API 以编程方式探索 RouterOS 命令树并生成 RAML 或 OpenAPI schema 的知识。

支持: Claude Codex Code(CC)
📊 71 充足
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“routeros-command-tree”。 /system/script 下的子节点有哪些?

预期结果:

/system/script 路径包含以下命令:
- run (cmd) - 执行脚本
- add (cmd) - 创建新脚本
- remove (cmd) - 删除脚本
- set (cmd) - 修改脚本属性
- print (cmd) - 列出脚本
- export (cmd) - 导出脚本源码

正在使用“routeros-command-tree”。 如何将 /ip/address CLI 命令映射到 REST API?

预期结果:

CLI 到 REST 映射:
- add → PUT /rest/ip/address(创建新条目)
- set → PATCH /rest/ip/address/{id}(更新现有条目)
- remove → DELETE /rest/ip/address/{id}(删除条目)
- print → GET /rest/ip/address(列出所有)
- get(单个)→ GET /rest/ip/address/{id}

安全审计

安全
v2 • 4/16/2026

All 138 static findings are false positives. The skill is a documentation file containing markdown with code examples. The static scanner incorrectly flagged markdown syntax (backticks for code formatting), documentation code snippets (fetch examples), relative markdown links, and misinterpreted documentation text as security issues. No executable code exists in this skill.

1
已扫描文件
329
分析行数
0
发现项
2
审计总数
未发现安全问题

检测到的模式

Markdown Code Formatting Misidentified as Command ExecutionDocumentation Code Examples Misidentified as Network CallsMarkdown Links Misidentified as Path Traversal
审计者: claude 查看审计历史 →

质量评分

38
架构
100
可维护性
87
内容
32
社区
100
安全
91
规范符合性

你能构建什么

构建 API 文档工具

从实时 RouterOS 命令树生成全面的 API 文档,适用于您特定的 RouterOS 版本。

创建代码生成模板

使用命令树生成类型化的客户端库或 RouterOS 资源的 Terraform Provider。

探索可用命令

发现特定 RouterOS 功能集的所有可用配置选项及其参数。

试试这些提示

基本命令树探索
RouterOS 中 /ip/firewall 下有哪些可用命令?
API 端点映射
将 /interface/bridge 命令映射到它们对应的 REST API 端点和 HTTP 动词。
参数发现
/ip/route/add 命令接受哪些参数?请展示每个参数的语法。
Schema 生成
基于 RouterOS 命令树为 /queue/simple 资源生成 OpenAPI 3.0 schema。

最佳实践

  • 在开发过程中使用 INSPECTFILE 环境变量进行测试,避免重复的实时路由器查询
  • 跳过危险子树(where、do、else、rule、command、on-error)内参数的语法查找,以防止 REST 服务器崩溃
  • 按 RouterOS 版本缓存 inspect.json,因为命令树在不同版本之间差异显著

避免

  • 不要在实时路由器上查询每个参数的语法描述——完整树遍历需要数小时
  • 不要忽略危险路径——在这些子树中对 arg 节点调用 fetchSyntax 会终止 HTTP 服务器进程
  • 不要假设树在不同 RouterOS 版本之间是相同的——始终为目标版本重新生成 schema

常见问题

RouterOS 中的 /console/inspect 是什么?
它是一个 REST API 端点,用于暴露 RouterOS 命令层级结构。您可以查询它来列出任何路径的子项,或获取命令和参数的帮助文本。
如何避免导致 RouterOS REST 服务器崩溃?
跳过包含以下子树内参数的语法查找:where、do、else、rule、command、on-error。这些是脚本化构造,当查询它们的 arg 节点时会导致 inspect API 崩溃。
可以在没有实时 RouterOS 设备的情况下工作吗?
可以。设置 INSPECTFILE 环境变量指向缓存的 inspect.json 文件。rest2raml 等工具支持此功能以进行离线 schema 生成。
RAML 和 OpenAPI 输出有什么区别?
两者表示相同的命令树数据。RAML 1.0 使用面向资源的表示法。OpenAPI 3.0 使用标准的 REST 术语,包含路径、方法和请求体。
为什么用 PUT 创建条目而不是用 PUT 更新?
RouterOS REST API 使用 PUT 进行创建操作,PATCH 用于更新。这与标准 REST 约定相反,标准约定中 PUT 是幂等的更新操作,POST 是创建操作。
完整树遍历需要多长时间?
在实时路由器上,由于数千次顺序 HTTP 请求,完整遍历需要数分钟。使用 KVM 加速的 CHR 会更快,但仍然耗时。开发时请使用缓存的 inspect.json。

开发者详情

文件结构

📄 SKILL.md