4.5 KiB
4.5 KiB
SimAdmin 多实例 Autman 插件
管理员专用 Python 插件,支持多个 SimAdmin 实例:
- 多级菜单交互式配置管理
- 查询全部或指定实例状态
- 通过指定实例发送短信
- 兼容 SimAdmin API:
GET /api/healthGET /api/simGET /api/networkGET /api/statsGET /api/sms/statsPOST /api/sms/send
插件文件:simadmin_multi.py
安装位置
复制到 Autman 的 Python 脚本插件目录,例如:
plugin/scripts/simadmin_multi.py
插件头注已设置:
# [admin: true]
# [rule: ^sim帮助$]
# [rule: ^sim配置$]
# [rule: ^sim管理$]
# [rule: ^sim状态(?:\s+\S+)?$]
# [rule: ^sim短信\s+\S+\s+\S+\s+[\s\S]+$]
即:仅管理员可用。代码内也会再次判断 sender.isAdmin()。
配置存储
插件配置存入 Autman 数据桶:
- bucket:
otto - key:
simadmin_instances
插件会用 JSON 数组保存配置。也兼容读取旧的多行简写配置。
多级菜单配置管理
发送:
sim配置
或:
sim管理
进入菜单:
SimAdmin 配置管理(多级菜单)
当前实例数:0
1. 查看实例列表
2. 添加实例
3. 编辑实例
4. 删除实例
5. 启用/禁用实例
6. 测试状态查询
7. 导出配置 JSON
q. 退出
添加实例流程
sim配置
2
请输入实例名称,例如:主卡
主卡
请输入 SimAdmin 地址,例如:http://192.168.68.1:3000
http://192.168.68.1:3000
请输入超时时间秒数,直接回车默认 10
10
请输入 token,可直接回车留空
是否启用?输入 1/是 启用,0/否 禁用;直接回车默认启用
1
确认添加?
yes
编辑实例流程
菜单选择 3. 编辑实例 后,选择实例编号,再进入二级菜单:
编辑【主卡】
1. 修改名称
2. 修改地址
3. 修改 timeout
4. 修改 token
5. 切换启用/禁用(当前:启用)
6. 保存并返回
q. 放弃返回
删除实例流程
菜单选择 4. 删除实例,选择编号后,需要输入 yes 二次确认。
启用/禁用实例
菜单选择 5. 启用/禁用实例,选择编号后立即切换。
测试状态查询
菜单选择 6. 测试状态查询,选择编号后会调用该实例的状态接口并返回摘要。
导出配置
菜单选择 7. 导出配置 JSON,会输出当前完整 JSON,方便备份或迁移。
兼容的手工配置格式
虽然推荐直接使用菜单管理,但仍可手工写入数据桶。
JSON 数组
[
{
"name": "主卡",
"base_url": "http://192.168.68.1:3000",
"timeout": 10,
"token": "可选,如果前面有反代/网关鉴权",
"enabled": true
}
]
字段:
| 字段 | 必填 | 说明 |
|---|---|---|
name |
是 | 实例别名,指令里使用 |
base_url |
是 | SimAdmin 地址,不要以 / 结尾 |
timeout |
否 | 请求超时秒数,默认 10,范围 3-60 |
token |
否 | 可选;会同时带 Authorization: Bearer <token> 和 X-API-Token |
enabled |
否 | 是否启用,默认 true |
headers |
否 | 自定义请求头对象 |
旧版简写
主卡=http://192.168.68.1:3000
副卡=http://192.168.68.2:3000,token=xxx,timeout=10
插件能读取这种格式;通过菜单保存后会自动转换为 JSON 数组。
日常指令
sim帮助
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 字,避免误发超长内容。
- 删除实例需要输入
yes二次确认。