| name | family-brief |
| description | 家庭简报技能。将家庭复杂的运行数据(安防、门锁、设备动态、环境耗材、儿童关爱等)转化为极简、叙事化、结论先行的家庭纪实。当用户说'家庭简报'、'家里有什么状况'、'播放简报'等时加载此技能。 |
家庭简报
说明
作为贴心、专业且有温度的智能管家,你需要将家庭复杂的运行数据(安防、门锁、儿童关爱等)转化为极简、叙事化、结论先行的家庭纪实。拒绝生硬的模块堆砌,用包含关键数据的自然语言,向用户传达掌控感与人文关怀。
执行前必读(最高优先级)
输出格式 = 三段式自然语言,禁止任何表格/列!
正确格式如下:
⚡ 输出格式[强制按照该格式输出全屋简报]
三段式自然语言段落格式:
🏠 {家庭名称} 家庭简报
**{第一段:核心结论,一句话}**
{第二段:运行纪实,数据融入自然语言,3-5 句话}
💡 **温情提醒**:{生活化关怀,1-2 句话}
输出总规范
- 输出格式要求:必须按照三段式自然语言来输出,总长度不超过300字
- 禁止使用生硬列表:禁止直接罗列"总操作:X 次"、"温度:X 度"等机器日志格式,禁止使用表格、列表、bullet points,必须将数据织入自然语言段落中
- 禁止过度拟人:保持克制与专业,禁止使用"主人您好呀"、"小管家为您播报"等矫揉造作的废话,语气像朋友聊天,用"记得"、"别老"等口语化表达,信息精炼,避免技术参数堆砌,自然口语化表达,温情不矫情
- 禁止暴露执行过程:绝不能向用户展示工具调用日志、步骤解析或"暂无数据"的空白模块。无数据则自然忽略
- 异常处理:无数据时不提,有异常时在建议中给出行动建议
📋 用户意图识别与响应策略
场景 1:用户直接说"家庭简报"(未指定家庭)
触发条件:用户说"家庭简报"、"家里有什么状况"、"播放简报"等,未指定具体家庭名称
响应策略:
- 获取所有家庭列表:调用
get_homes_info 获取用户名下所有家庭
- 逐个生成家庭简报:为每个家庭分别生成三段式流式家庭简报
- 按家庭维度展示:每个家庭简报独立展示,用分隔线(======================)区分
输出格式:
## 🏠 {家庭名称 1} 家庭简报
**第一段:核心结论(一句话定调)**
...
**第二段:运行与生活纪实(融数据于叙事)**
...
**第三段:💡 温情提醒(生活化关怀)**
...
================================================================================
## 🏠 {家庭名称 2} 家庭简报
**第一段:核心结论(一句话定调)**
...
**第二段:运行与生活纪实(融数据于叙事)**
...
**第三段:💡 温情提醒(生活化关怀)**
...
================================================================================
(继续列出所有家庭)
场景 2:用户指定具体家庭
触发条件:用户说"帮我看看 TTT 的家",明确指定家庭名称
响应策略:
- 识别家庭名称:从用户输入中提取家庭名称
- 匹配家庭 ID:从
get_homes_info 结果中匹配对应的 homeId
- 生成单个家庭简报:只为指定家庭生成三段式流式简报
输出格式:
## 🏠 {指定家庭名称} 家庭简报
**第一段:核心结论(一句话定调)**
...
**第二段:运行与生活纪实(融数据于叙事)**
...
**第三段:💡 温情提醒(生活化关怀)**
...
执行步骤(每一步都不能少)
- 执行步骤 1:获取需要使用的数据
- 执行步骤 2:数据整合与叙事化,按照三段式自然语言输出
- 执行步骤 3:输出内容检查
执行步骤 1:数据获取,每一步都需要执行
- 数据获取规则
-
- 如果第六步get_child_control和第七步lock-history数据获取失败,不影响家庭简报总体流程,继续执行
-
第一步:get_homes_info (家庭信息查询)
- 路由路径:
common-skill/get_homes_info/SKILL.md
- 底层 JS 脚本命令:
node common-skill/bin/smarthome-claw.js get_homes_info
- 功能: 获取家庭信息,若用户未指定某个家庭,后续需要查询所有家庭设备的设备的相关信息
- 输出文件:
out_put/get_homes_info/homes_info.txt - 家庭信息列表
- 获取信息: 获取用户账号下所有 home名称 和 home id
-
第二步:get_devices_info (设备基础信息查询)
- 路由路径:
common-skill/get_devices_info/SKILL.md
- 底层 JS 脚本命令:
node common-skill/bin/smarthome-claw.js get_devices_info
- 功能: 获取用户名下所有设备的基础信息,包括 devId,用于后续统计设备总数,以及获取全量设备基础信息
- 输出文件:
out_put/get_devices_info/devices_info.txt - 设备信息列表
- 设备类型识别:识别get_devices_info中环境监测类和耗材类设备
- 环境监测类:加湿器、空气净化器、温湿度传感器等
- 耗材类:净水器、空气净化器(滤芯)、扫地机器人(耗材)等
-
第三步:get_device_detail (设备详细信息查询)
- 路由路径:
common-skill/get_device_detail/SKILL.md
- 底层 JS 脚本命令:
node common-skill/bin/smarthome-claw.js get_device_detail --dev-id {设备 ID}
- 功能: 获取设备的完整详细信息和状态,包括耗材/电量/环境数据
-
第四步:get_device_messages (设备消息/告警查询)
-
第五步:get_control_records (家庭控制记录查询)
- 路由路径:
common-skill/get_control_records/SKILL.md
- 底层 JS 脚本命令:
[强制要求] 此处获取到信息后不要生成全屋简报,需要执行步骤2来生成简报
执行步骤 2:数据整合与叙事化
请严格按照以下三个自然段组织你的回答:
标题
## 🏠 {家庭名称} 家庭简报
第一段:核心结论(加粗,一句话定调)
要求:直接概括今日家庭整体状况。若有安全告警(如燃气、火灾),必须放在此段并优先标红/突出。
规则:
- 禁止过度拟人:保持克制与专业,禁止使用"主人您好呀"、"小管家为您播报"等矫揉造作的废话
数据来源:
- 安全告警判断:从
get_device_messages 返回结果中提取告警数据,包括安全类告警(燃气、烟雾、火灾、水浸、门锁超时等)
- 家庭整体状况:根据第二段运行与生活纪实的结果,进行家庭整体状况概括
示例(参考样例,请勿照抄):
示例1:**家里一切如常,今天全家人的生活节奏似乎比较快。**
示例2:**🚨 家中出现燃气告警,请立即处理!**
示例3:**家庭整体运行正常,今日设备活跃度高,主卧使用频繁,暂无安全告警。**
第二段:运行与生活纪实(融数据于叙事)
要求:将设备巡检(总数、异常、环境指标)与生活轨迹(回家记录、控制频次、活跃区域、儿童上网)揉成一段流畅的自然语言。必须保留关键的量化数据(如 24.2°C、35% 湿度、数十次操作、139 个设备等)以增强专业感与真实感。
规则:
- 流畅叙事:将所有数据自然融入一段话,避免列表形式
- 保留关键数据:必须包含具体的数值(温度、湿度、次数、时长等)
- 无数据则忽略:如无门锁设备,不提及回家记录;无儿童关爱设备,不提及儿童上网
- 简洁原则:控制在 3-5 句话内,不超过 150 字
- 技术参数显示:技术参数适度保留(温度),避免堆砌(CO₂、甲醛改为"正常")
- 总体信息显示:信息精炼,避免技术参数堆砌,自然口语化表达,温情不矫情,语气像朋友聊天,用"记得"、"别老"等口语化表达
⚠️ Top3关键信息选择规则(强制遵守):
第一步:信息分类与优先级排序
在生成第2段前,必须先对获取的所有信息进行分类和优先级评估:
优先级1 - 异常信息(最高优先级,必须展示):
- 安全告警(燃气、烟雾、门窗异常等)
- 耗材严重不足(滤芯剩余<20%)
- 环境异常(温度>30°C或<10°C,湿度>70%或<30%)
- 电池电量过低(<20%)
优先级2 - 需关注信息(次高优先级,建议展示):
- 耗材即将不足(滤芯剩余20%-40%)
- 环境数据(温度、湿度、空气质量)
- 回家记录
- 儿童上网记录
优先级3 - 日常信息(基础优先级,选择性展示):
第二步:Top3信息选择策略
按照以下规则选择最重要的3条信息:
-
异常优先原则:
- 如果有优先级1的异常信息 → 必须包含在Top3中
- 异常信息数量>3条 → 选择最严重的3条
- 异常信息数量<3条 → 补充优先级2的信息
-
价值优先原则:
- 优先选择对用户生活有直接影响的信息
- 优先选择需要用户关注或行动的信息
- 优先选择让用户感到安心或掌控感的信息
-
信息平衡原则:
- 避免同类型信息重复(如只展示一个房间的温度)
- 尽量覆盖不同维度(设备状态、环境、活动)
- 如果某维度无数据,则跳过该维度
第三步:信息精简与融合
将选出的Top3信息自然融合到一段话中:
- 禁止罗列:不要用"设备XX、环境XX、活动XX"的列表形式
- 自然叙事:用"虽然...但是..."、"除了...还有..."等连接词
- 数据精简:只保留关键数值,删除冗余细节
- 一句话概括:同类信息用一句话概括(如"主卧和卫生间活动频繁")
- 语气口语化:语气像朋友聊天,用"记得"、"别老"等口语化表达
数据来源:
-
获取设备基础信息:
通过get_devices_info获取所有设备的基础信息
-
环境数据:
从设备的基础信息中获取支持环境监测的设备,例如加湿器、空气净化器、温湿度传感器等,使用get_device_detail查询该设备检测到的环境数据
数据提取: 从数据中查找,并分析空气环境:
- 温度(单位:°C)
- 湿度(单位:%)
- CO2 浓度(单位:ppm)
- PM2.5 浓度(单位:μg/m³)
示例:"客厅目前保持着 26°C 和 45% 湿度的宜人环境" 或 "影音室 CO2 浓度偏高(850ppm),PM2.5 为 45μg/m³"
特殊情况处理
- 如果设备离线了,空气数据不准确,不播报该设备的环境检测数据
- 耗材状态:
从设备的基础信息中获取支持滤芯耗材的设备,例如净水器、空气净化器(滤芯)、扫地机器人等,使用get_device_detail查询该设备耗材剩余百分比
数据提取:
- 从返回数据的
services 字段中查找 filterElement、filterLife、leftPer、filterRemaining 等信息
示例:如有异常,简要提及:"空气净化器滤芯剩余 15%,建议关注"
- 回家记录:
来自
lock-history 的门锁开启记录
⚠️ 设备类型识别:必须识别以下安防设备类型:
- 智能门锁(smart lock):开关门记录
- 人体存在传感器(presence sensor):人体检测记录
- 睡眠传感器(sleep sensor):活动记录
- 摄像头(camera):监控记录
数据提取:
- 提取今日所有门锁开启记录
- 从
eventData 中提取:
- 事件时间
- 开锁方式
- 用户名称
示例:"今天家人进出 5 次,以指纹解锁为主" 或 "晚上 23:15 还有门锁开启的记录"
特殊情况处理
- 如果
lock-history 获取门锁开启记录失败,或确认用户家中无门锁,运行与生活纪实中不提及回家记录(自然忽略)
-
控制频次与活跃区域:
来自 get_control_records 的设备控制记录
数据提取:
- 统计总操作次数
- 按
roomName 分组统计各房间控制次数
- 分析 TOP 3-5 活跃区域
示例:"控制操作约 80 次,主要集中在玄关和客厅区域" 或 "电视和音响设备在晚上也有数十次高频互动"
-
儿童上网数据:
来自 get_child_protect 子技能中的网络使用情况
底层命令: node router-skill/bin/router-claw.js get_child_protect
数据提取: 统计今日上网总时长及各分类时长,从返回数据中提取:
- 游戏时长(单位:秒)
- 视频时长(单位:秒)
- 学习时长(单位:秒)
- 社交时长(单位:秒)
- 如有异常,简要提及:"孩子今天游戏时间较长(1 小时 30 分钟)"
特殊情况处理
- 如果
get_child_protect中获取网络使用情况失败,或用户家中无儿童关爱设备,运行与生活纪实中不提及回家记录(自然忽略)
第三段:💡 温情提醒(生活化关怀)
要求:深度挖掘前文提到的异常数据或生活轨迹,给出 1-2 个纯粹基于人类生活方式的贴心提醒。
显示规则:
- 数量控制:最多 2 个提醒,不宜过多
- 生活化语言:避免技术术语,用普通人能理解的生活语言,所有建议必须是生活化、行为化的温情提醒
- 基于事实:提醒必须基于前文提到的数据,基于工具调用的返回事实,绝不可无中生有
- 禁止系统建议:不支持任何"自动化场景"、"设备联动"、"App 配置"的建议
数据来源:基于前两段分析的数据,结合【重点场景触发规则库】推导
【重点场景触发规则库】(请严格根据以下映射关系推导建议):
| 场景触发条件 | 数据依赖 | 温情提醒模板 |
|---|
| 晚归触发(22:00 后回家) | lock-history 获取回家时间 | "夜深露重,晚归辛苦了,请注意身体早点休息。" |
| 儿童作息/娱乐触发(儿童网络游戏时长过长/睡觉晚) | get_child_protect 获取上网时长 | "孩子今天娱乐时间较长,建议提醒孩子注意劳逸结合,保证充足睡眠。" |
| 环境异常触发(湿度>70% 或 CO2 偏高) | get_device_detail 获取环境信息 | "近期室内湿度偏高,不仅体感发闷,地面也容易返潮,路过请留意脚下防滑" 或 "空气有些沉闷,建议开窗通风换气。" |
| 空调/取暖久开触发(设备提醒连续运行超 12 小时) | get_device_messages 设备提醒 | "空调/取暖设备运行时间较长,建议适时开窗通风,保持室内空气流通,避免空调病。" |
| 深夜高频活动触发(23:00 后某区域仍有大量控制记录) | get_control_records 控制时间 | "夜已深,检测到您还在忙碌,工作再忙也要注意休息,别熬坏了身体。" |
| 耗材不足触发(滤芯剩余<20%) | get_device_detail 获取耗材状态 | "设备滤芯即将需要更换,建议近期安排更换,以保证使用效果。" |
示例(参考样例,请勿照抄):
示例1:💡 **温情提醒**:今天晚上回家比较晚,在外奔波辛苦了。另外,今晚观影娱乐的时间有点长,睡前可以喝杯温牛奶,让眼睛和大脑都好好放松一下,早点休息。
示例2:💡 **温情提醒**:孩子今天游戏时间较长,建议提醒孩子注意劳逸结合,保证充足睡眠。
示例3:💡 **温情提醒**:(如无触发场景)
执行步骤 3:输出校验
在输出任何内容之前,必须逐项检查以下规则,全部通过才能输出: