OpenClaw/HiClaw 技能包 - 封装各厂家服务器BMC/IPMI管理口API,提供统一接口和HTTP Bridge服务。
- ✅ 支持多家厂商Dell iDRAC、HPE iLO、Lenovo XCC/IMM、Huawei iBMC
- ✅ 通用Redfish API支持(兼容所有符合Redfish标准的BMC)
- ✅ 通用IPMI over LAN支持
- ✅ 获取电源状态
- ✅ 远程电源控制(开机/关机/重启/强制关机)
- ✅ 获取服务器系统信息(型号、序列号、BIOS版本)
- ✅ 获取传感器数据(温度、电压、风扇转速)
- ✅ 获取事件日志
- ✅ HTTP Bridge REST API接口
git clone https://github.com/your-username/server_bmc_api.git
cd server_bmc_api
pip install -r requirements.txt复制 .env.example 为 .env:
cp .env.example .env
nano .env修改配置:
BMC_HOST=your-bmc-ip-address
BMC_USERNAME=root
BMC_PASSWORD=your-bmc-password
BMC_VENDOR=redfish # dell/hpe/lenovo/huawei/redfish/ipmi
LISTEN_HOST=0.0.0.0
LISTEN_PORT=8080import os
from dotenv import load_dotenv
from server_bmc import create_bmc_client
load_dotenv()
client = create_bmc_client(
host=os.getenv("BMC_HOST"),
username=os.getenv("BMC_USERNAME"),
password=os.getenv("BMC_PASSWORD"),
vendor=os.getenv("BMC_VENDOR", "redfish")
)
# 查看电源状态
print(client.get_power_state())
# 开机
client.power_on()
# 获取系统信息
print(client.get_system_info())
# 获取传感器数据
print(client.get_sensors())启动服务:
python server_bmc_bridge.pyAPI端点:
| Method | Endpoint | Description |
|---|---|---|
| GET | /status |
服务状态检查 |
| GET | /power |
获取当前电源状态 |
| POST | /power/on |
开机 |
| POST | /power/off |
关机 |
| POST | /power/reset |
重启 |
| POST | /power/force_off |
强制关机 |
| GET | /info |
获取系统信息 |
| GET | /sensors |
获取传感器数据 |
| GET | /logs |
获取事件日志 |
示例调用:
curl http://localhost:8080/status
curl http://localhost:8080/power
curl http://localhost:8080/info| 厂商 | 管理口名称 | Vendor 值 | API类型 |
|---|---|---|---|
| Dell | iDRAC | dell 或 idrac |
Redfish |
| HPE | iLO | hpe 或 ilo |
Redfish |
| Lenovo | XCC/IMM | lenovo 或 xcc |
Redfish |
| Huawei | iBMC | huawei 或 ibmc |
Redfish |
| 通用标准 | - | redfish |
Redfish |
| 通用标准 | - | ipmi |
IPMI over LAN |
.env文件包含敏感密码,请确保加入.gitignore,不要提交到版本控制- 建议仅在可信网络中使用HTTP Bridge服务
- 若需要公开访问,请配置反向代理和认证
MIT