Shallow API手册

概述与介绍

Shallow API是基于RouterOS的API接口搭建的一个管理平台,主要用于本地网络的RouterOS设备管理(也可以通过隧道远程管理),能同时管理多台RouterOS设备。目前具备实时监控功能、通知报警和命令执行等,其他功能还在开发中...

由于个人的开发经验非常的浅薄,也希望使用者感觉到简单易用,所以使用shallow这个名称来定义项目!

功能概述

设备管理:RouterOS 设备增删改查、设备分组、单设备状态页

运行监控:Dashboard、网络流量、连接统计、Sankey 图、系统指标图

自动化执行:

 - API 脚本库

 - 设备组批量执行

 - 定时任务

告警体系:

  - 监控规则、通知规则、Webhook/QQ 机器人联动

系统能力:

 - SQLite/MySQL 双数据库支持

 - 数据备份/恢复与上传下载

 - 证书管理(HTTPS 模式自动检查/生成证书)

Agent 能力:

 - LLM Provider 管理

 - 风险策略(高/中风险路径拦截)

 - 只读查询意图优先直查(RouterOS 只读路由)+ LLM 解释

 - 变更草案、确认、回滚流程

QQ 机器人(WS 长连接):

 - 基于 `botgo` 主动连接 QQ 网关(无需回调服务器)

 - 支持 C2C 私聊与群 @ 消息对话智能体

 - 支持在通知规则中选择 QQ 机器人发送告警


界面展示

v1.0.1开始大语言模型LLM引入

运行建议

1、API对接主要适配RouterOS v7,建议v7.18+以上版本,读取的参数更兼容;

2、在RouterOS的container运行,已经测试在基于RouterOS v7.17+的hAP ax3,RB5009,RB450x4,CHR,x86等硬件。也可以通过docker import命令导入在Linux 容器运行;

3、在RouterOS的RB、CRS和CCR设备运行时,API获取数据CPU消耗较低,主要是前端页面刷新时CPU消耗较高,如RB450x4(IPQ-4019 arm32 4核心)在刷新页面时CPU消耗在40%左右,仅停留在仪表盘或设备状态观察页面时CPU消耗在7-10%左右。

4、基于RouterOS的容器运行,最好分配5GB的存储空间,给采集的数据提供一定的存储。默认使用Sqlite数据库,可以通过config.json配置文件,切换到外部的Mysql数据库。

警告:在 MikroTik 硬件上运行 container 容器,请不要使用本地 ROM 存储运行,选择外挂存储运行容器,如microSD卡,USB扩展或NVME扩展等。因为本地 ROM 存储反复擦写会导致 NAND 寿命快速减少。如果是CHR的虚拟机可以在本地存储部署。