九号电动车(Ninebot)车辆信息查询,支持九号电动车、九号电动摩托车,提供车辆开关机状态、车辆充电状态、车辆位置、车辆剩余电量、车辆剩余里程、车辆剩余充电时间等数据的查询功能
九号电动车辆信息查询服务向开发者提供完整的车辆信息查询服务,包括车辆状态、位置、电量等信息的查询功能。
首次使用时需要配置九号 Device Service Key:
export NINEBOT_DEVICESERVICE_KEY=your_key当用户想要查询九号电动车辆信息(如开关机状态、充电状态、剩余电量、剩余里程、剩余充电时间、位置等)时,使用此 skill。
用户表达了以下意图之一:
NINEBOT_DEVICESERVICE_KEY 或在本地 config.json 中提供了 Key,直接使用该 Key 进行后续 API 调用。请求 Key 的回复模板:
🔑 查询九号车辆位置需要九号 Device Service Key,请提供你的 Key。
(报名参加九号OpenClaw内测活动并取得内测资格即可获取,详情关注九号出行APP「圈子」动态)
优先读取环境变量 NINEBOT_DEVICESERVICE_KEY,其次从本地 config.json 读取。也支持在命令行显式传入 --api-key。
请求头使用 Authorization: Bearer <API_KEY>。
参考 config.example.json 作为配置样例。
config.json 示例:
{
"apiKey": "your_ninebot_device_service_key_here"
}
export NINEBOT_DEVICESERVICE_KEY=your_key_here
python3 scripts/ninebot_query.py \
--lang "zh" \
--device-name "小九"
如果脚本执行401 Unauthorized错误,说明 API Key 无效或未提供,提示用户提供有效的 API Key,等待用户回复后再继续。
如果账户有多个设备且未提供选择,脚本会返回一个列表供用户选择:
{"choose_device": [{"sn":"SN123","name":"小九"},{"sn":"SN456","name":"小白"}]}
然后使用 --device-name 或 --device-sn 重新运行脚本。
提供有效 key 的回复模版
🔑 提供的 API Key 无效,请检查后重新提供。
脚本输出 JSON:
{
"device_name": "九号电动E200P",
"battery": 57,
"powerStatus": "OFF",
"chargingStatus": "not_charge",
"location": "北京市海淀区东升(地区)镇后屯东路",
"estimateMileage": 50.4,
"remainChargingTime": ""
}
根据实际的九号 Device Service API 规范,更新 config.json 中的 API 映射配置,或直接更新 references/api-spec.md 中的 API 规范并同步更新 config.json。
使用以下方式更新 API 映射:
--config 参数传入配置规范详细说明请参考 references/api-spec.md,其中包含了 API 规范和 config 映射的模板。
配置文件位于 config.json,包含以下内容:
{
"apiKey": "your_ninebot_device_service_key_here"
}
设置 Key 的方式:
export NINEBOT_DEVICESERVICE_KEY=your_keyconfig.json 文件ninebot_query.py — 查询电动车信息脚本.api-spec.md — API 规范和 config 映射模板。