skymotor-skill

Polar Sponsor
爱发电 赞助
.NET 9.0

首驱 Skymotor 电动车查询与电子围栏 skill。用于查询车辆位置、电量、续航、开关机、充电状态、围栏列表、创建围栏、修改围栏、删除围栏、检查车辆是否在围栏内、通勤天气,并支持地址转坐标后再建围栏。触发词包括:首驱、Skymotor、skymotor、电动车、车在哪里、电量、续航、开机、充电、电子围栏、围栏告警、围栏列表、创建围栏、删除围栏、家附近3公里、公司附近2公里、通勤天气。

Skymotor Skill

功能概述

Skymotor Skill是一项面向实际任务的技能,主要用于这个 skill 用于首驱 Skymotor 电动车的车辆状态查询、电子围栏管理和天气辅助;当用户表达以下任一意图时,调用此 skill:;

核心要点

  • 查询首驱 Skymotor 车辆状态、位置、电量、续航、开关机或充电状态;
  • 查询、创建、更新、删除、检查电子围栏,或查询围栏告警记录;
  • 保存当前位置为“家”“公司”等常用地点别名;

使用与执行

询问“骑车去公司天气如何”“明。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Skymotor Skill

这个 skill 用于首驱 Skymotor 电动车的车辆状态查询、电子围栏管理和天气辅助。

触发条件

当用户表达以下任一意图时,调用此 skill:

  • 查询首驱 Skymotor 车辆状态、位置、电量、续航、开关机或充电状态。
  • 查询、创建、更新、删除、检查电子围栏,或查询围栏告警记录。
  • 保存当前位置为“家”“公司”等常用地点别名。
  • 询问“骑车去公司天气如何”“明早去某地天气怎样”这类基于当前车辆位置的天气场景。

资源入口

  • 核心脚本:scripts/skymotor_query.py
  • 配置模板:config.example.json
  • 接口说明:references/api-spec.md
  • 本地敏感配置和运行态数据不应随 skill 发布;使用本地 config.json 和 state.json 时必须保持在发布包之外。

执行规则

  1. 先识别用户意图,再调用脚本。
  2. 如果环境变量 SKYMOTOR_DEVICESERVICE_KEY、命令行 --api-key、本地 config.json.apiKey 都没有可用 Key,提示用户提供首驱 Skymotor Device Service Key。
  3. Key 来源优先级固定为:环境变量 SKYMOTOR_DEVICESERVICE_KEY > 命令行 --api-key > 本地 config.json.apiKey。
  4. 先获取绑定车辆列表,再选择目标车辆。
  5. 用户指定车辆名称或围栏名称时,先精确匹配,再模糊匹配;若命中多个候选,返回结构化候选列表让用户明确选择。
  6. 用户未指定车辆时,优先选择 state = 1 的当前使用中车辆,否则取列表第一辆。
  7. 只有在用户明确要求位置、围栏或天气时,才进一步查询位置。
  8. 如果用户提供的是“家/公司”这类别名,优先读取本地保存的坐标别名;本地没有时再尝试地址转坐标。
  9. 不要编造经纬度、围栏 ID、车辆状态或天气结果。

缺少 Key 时固定提示:

查询首驱 Skymotor 车辆位置需要首驱 Skymotor Device Service Key,请提供你的 Key。

(报名参加首驱 OpenClaw 内测活动并取得内测资格即可获取,详情关注首驱公众号动态)

高风险操作

删除围栏属于高风险操作:

  • 脚本执行 --delete-fence 时必须显式追加 --confirm-delete 才会真正删除。
  • 如果脚本返回 confirmation_required,先向用户展示 fenceId、围栏名称、半径、状态等确认信息,并等待用户明确确认后再重试。
  • 不要用模糊名称直接执行删除;若脚本返回 choose_fence,必须让用户选择明确的 fenceId 或更精确名称。
  • 查询和删除围栏时,后端最终只使用围栏 ID;用户输入名称时,脚本会先查询围栏列表并解析成真实 ID。纯数字名称也必须先按列表解析,不要直接当作 ID。

固定错误文案

当脚本返回以下错误时,优先使用固定回复文案,不要让外层直接暴露原始技术细节:

  • 缺少 Key: 查询首驱 Skymotor 车辆位置需要首驱 Skymotor Device Service Key,请提供你的 Key。
  • 401 Unauthorized 或服务端明确指示 Key 无效: 提供的首驱 Skymotor Device Service Key 无效或已失效,请检查后重新提供。
  • multiple_vehicle_matches: 我匹配到了多辆首驱 Skymotor 车辆,请从候选列表里指定更精确的车辆名称或 deviceNo。
  • multiple_fence_matches: 我匹配到了多个围栏,请从候选列表里指定 fenceId 或更精确的围栏名称。
  • confirmation_required: 删除围栏属于高风险操作,请确认围栏信息后再执行删除。
  • weather_query_failed 或 forecast_query_failed: 天气服务暂时不可用,建议稍后重试。
  • fence_list_failed、status_query_failed、alarm_list_failed: 首驱 Skymotor 服务暂时未返回可用数据,请稍后重试;如果持续失败,再检查 Key 和网络环境。

命令模板

默认查询:

export SKYMOTOR_DEVICESERVICE_KEY=your_key_here
python scripts/skymotor_query.py

指定车辆:

python scripts/skymotor_query.py --api-key your_key_here --device-name "Y3"

本地配置文件:

{
  "apiKey": "your_skymotor_device_service_key_here"
}

创建围栏:

python scripts/skymotor_query.py --api-key your_key_here --create-fence "我家:39.9042:116.4074:3000"

列出围栏和告警:

python scripts/skymotor_query.py --api-key your_key_here --list-fences
python scripts/skymotor_query.py --api-key your_key_here --alarm-list

检查、更新、删除围栏:

python scripts/skymotor_query.py --api-key your_key_here --check-fence "12345"
python scripts/skymotor_query.py --api-key your_key_here --update-fence "12345:新围栏:39.9042:116.4074:5000"
python scripts/skymotor_query.py --api-key your_key_here --delete-fence "12345" --confirm-delete

保存当前位置和查询通勤天气:

python scripts/skymotor_query.py --api-key your_key_here --save-current-location-as "家"
python scripts/skymotor_query.py --api-key your_key_here --commute-to "公司" --distance-km 12

输出要求

  • 默认优先返回结构化 JSON。
  • 对位置类请求,仅输出地址文本。
  • 对围栏类请求,应明确说明围栏名称、半径、是否在围栏内、与中心点距离。
  • 如果围栏详情接口失败但列表缓存命中,应说明只能确认围栏存在,无法判断车辆是否在围栏内。
  • 若电量百分比字段为空,应明确说明电量暂不可用,并优先返回续航里程等可用字段。
  • 对失败请求,应保留失败原因,不要伪造成功结果。
  • 对多目标冲突请求,应返回 choose_device 或 choose_fence,而不是猜测用户意图。
  • 详细 API 字段、返回结构、地理编码和天气配置见 references/api-spec.md。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习