Files
autman-plugins/plugins/simadmin

SimAdmin 多实例 Autman 插件

管理员专用 Python 插件,支持多个 SimAdmin 实例:

  • 查询全部或指定实例状态
  • 通过指定实例发送短信
  • 兼容 SimAdmin API
    • GET /api/health
    • GET /api/sim
    • GET /api/network
    • GET /api/stats
    • GET /api/sms/stats
    • POST /api/sms/send

插件文件:simadmin_multi.py

安装位置

复制到 Autman 的 Python 脚本插件目录,例如:

plugin/scripts/simadmin_multi.py

插件头注已设置:

# [admin: true]
# [rule: ^sim帮助$]
# [rule: ^sim配置$]
# [rule: ^sim状态(?:\s+\S+)?$]
# [rule: ^sim短信\s+\S+\s+\S+\s+[\s\S]+$]

即:仅管理员可用。

配置

在 Autman 数据桶写入:

  • bucketotto
  • keysimadmin_instances

推荐:JSON 数组

[
  {
    "name": "主卡",
    "base_url": "http://192.168.68.1:3000",
    "timeout": 10
  },
  {
    "name": "副卡",
    "base_url": "http://192.168.68.2:3000",
    "timeout": 10,
    "token": "可选,如果前面有反代/网关鉴权"
  }
]

字段:

字段 必填 说明
name 实例别名,指令里使用
base_url SimAdmin 地址,不要以 / 结尾
timeout 请求超时秒数,默认 10,范围 3-60
token 可选;会同时带 Authorization: Bearer <token>X-API-Token
enabled 是否启用,默认 true
headers 自定义请求头对象

简写:多行 alias=url

主卡=http://192.168.68.1:3000
副卡=http://192.168.68.2:3000,token=xxx,timeout=10

指令

sim帮助
sim配置
sim状态
sim状态 主卡
sim短信 主卡 10086 CXLL
sim短信 all 10086 测试短信

说明:

  • sim状态:查询全部启用实例。
  • sim状态 <实例名>:查询指定实例;支持名称包含匹配。
  • sim短信 <实例名|all> <号码> <内容>:发送短信。
  • all 会向所有实例发送同一条短信,谨慎使用。

返回示例

【主卡】
健康: ok  版本: 1.0.0
SIM: 13800138000
ICCID: 8986...
IMSI: 460...
网络: China Mobile / registered / 信号:-70
系统: CPU 12.1% / MEM 45.2% / 温度 52 / 运行 1d2h
短信: 收 12 / 发 3

短信发送:

短信发送结果:
✅ 主卡 发送成功 path=/xxx
❌ 副卡 发送失败: timed out

安全约定

  • 插件头注和代码内都做了管理员限制。
  • 不在源码中硬编码任何 SimAdmin 地址或密钥。
  • token 只用于兼容反代/网关鉴权;当前 SimAdmin 本身 API 如无鉴权也可留空。
  • 短信号码只允许数字、空格、-、国际区号 +
  • 短信内容最大 1000 字,避免误发超长内容。