Install
openclaw skills install @huaibuer/data-generator训练数据生成技能。根据传入的工具名和用户指令列表,生成多轮对话格式的 JSONL 训练数据。触发场景:(1) 传入工具名和用户指令列表,生成完整训练数据;(2) 批量生成指定工具的标注数据;(3) 给定指令列表,输出 JSONL 对话样本。
openclaw skills install @huaibuer/data-generator将用户指令列表转换为标准 JSONL 训练数据。
两个必填参数:
| 参数 | 类型 | 说明 |
|---|---|---|
tool_name | string | 工具名,如 dev_control、scene_generator、weather |
user_instructions | string[] | 用户指令列表,如 ["5分钟后打开空调", "3分钟后关灯"] |
{"conversations":[
{"from":"human","value":"<当前用户指令>打开客厅空调</当前用户指令>\n<本地设备>格力冷静王(空调)</本地设备>\n<当前时间>2026-03-15 14:22:47</当前时间>\n<用户场景列表>[{\"scene_id\":1001,\"scene_name\":\"回家模式\",\"room_name\":\"全屋\"},{\"scene_id\":1002,\"scene_name\":\"睡眠模式\",\"room_name\":\"主卧\"}]</用户场景列表>\n<用户设备列表>{\"客厅\":[\"格力冷静王(空调)\",\"洗碗机A1(洗碗机)\"],\"主卧\":[\"美的舒省风(空调)\"]}</用户设备列表>"},
{"from":"assistant","value":"<tool_call>{\"tool_name\":\"dev_control\",\"query\":\"打开客厅空调\"}</tool_call>"},
{"from":"observation","value":"<tool_response>客厅空调已打开</tool_response>"},
{"from":"assistant","value":"好的,客厅空调已经打开啦~"}
],"system":"","history":[]}
<当前用户指令>用户原始指令</当前用户指令>
<本地设备>设备名(类型)</本地设备>
<当前时间>YYYY-MM-DD HH:mm:ss</当前时间>
<用户场景列表>[{"scene_id":xxx,"scene_name":"场景名","room_name":"房间名"},...]</用户场景列表>
<用户设备列表>{"房间":["设备名(类型)",...]}</用户设备列表>
<tool_response>...</tool_response> 或 <tool_call>{...}</tool_call>(dev_info/weather 等工具)1. 接收 tool_name + user_instructions[]
↓
2. 加载提示词:通用要求 + 工具特定要求(references/tools/{tool}.txt)
↓
3. 将 user_instructions 注入提示词
↓
4. 生成 JSONL(每条独立)
↓
5. 输出 .jsonl 文件
拼接规则:
[通用要求]
# ═══════════════════════════════════════════════════════════════════
# 【工具特定要求】
# 本次只调用:{TOOL_NAME}
# ────────────────────────────────────────────────────────────────
[references/tools/{TOOL_NAME}.txt 内容]
拼接脚本:scripts/build_prompt.py
| 工具 | 要求文件 |
|---|---|
dev_control | references/tools/dev_control.txt |
scene_generator | references/tools/scene_generator.txt |
alarm_remind | references/tools/alarm_remind.txt |
weather | references/tools/weather.txt |
scene_control | references/tools/scene_control.txt |
dev_info | references/tools/dev_info.txt |
exit_dialog | references/tools/exit_dialog.txt |
GreeQA | references/tools/GreeQA.txt |
scene_guide | references/tools/scene_guide.txt |
chat | references/tools/chat.txt |
输入:
tool_name: "dev_info"
user_instructions: ["家里空调数量", "有几个空调"]
输出字段说明:
| 字段 | 说明 |
|---|---|
conversations[0].value | 含 <当前用户指令> + 完整上下文 |
conversations[1].value | <tool_call>{"tool_name":"dev_info"}</tool_call> |
conversations[2].value | dev_info 返回结果(设备列表) |
conversations[3].value | 文字终接回复 |
system | 空字符串 "" |
history | 空数组 [] |
当传入 tool_name 为修复后的正确工具时,生成的数据应体现:
timing 字段)具体格式参考:references/tools/scene_generator.txt。