一键导入
miloco-home-observe
home-dreaming 定时任务的 Observe 步骤,仅由该任务调用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
home-dreaming 定时任务的 Observe 步骤,仅由该任务调用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
创建/管理"持续运转的家庭任务"—— 由 rule(条件触发自动化)/ schedule(定时提醒)/ record(行为累积统计)/ lifecycle(长期/限时)组合装配;也是 [感知引擎] 语音指令类系统消息的统一入口。覆盖:定时/累积提醒、"X 时 Y" 自动化、行为统计、持续状态阈值等。
查询与控制米家智能家居设备。查询能力包括设备开关状态、运行状态、电量、设定温度、当前温湿度、PM2.5 等环境与设备数据;控制能力包括开关灯、调节空调温度/模式/风速、控制窗帘开合、启动或停止扫地机器人、开关摄像头等设备操作;场景能力包括触发已有米家场景,如回家、离家、睡眠等智能场景;以及刷新设备列表缓存。
每日习惯洞察 —— 从家庭档案识别值得建成任务的习惯,主动 IM 推荐给主人;主人认可后据此建任务。两条路径:cron 触发的【扫描推荐】(路径 A) 与用户回应触发的【回应处理】(路径 B)。防骚扰由 miloco_habit_suggest 工具裁定。
miloco-home-patrol 定时任务的内部例程,仅由该任务调用。
家庭档案管理 — 当用户提到自己或家人的喜好、兴趣、习惯、身体状况、作息规律、家庭规则时激活,无论用户是否明确要求"记录"。也在用户修正已有记录、要求删除、或查询家庭档案时激活。
家庭成员身份注册主流程。**用户表达「想让系统认识/记住/录入某个人」的意图就触发本 SKILL,不要求出现"注册/登记"字面词**——包括上传图/视频指明某人是谁、回应 `[感知引擎]` 陌生人推送、说"建档案/录入家人/记下样子"、指认摄像头里某人身份、从近期陌生人记录里挑人建档、撤销注册、查看某人样本。覆盖"上传图/视频"与"从摄像头挑人"两条通路,所有路径需用户确认才入库。仅改 person 行(改名/删人,不涉及样本)走 miloco-miot-identity。
| name | miloco-home-observe |
| description | home-dreaming 定时任务的 Observe 步骤,仅由该任务调用。 |
| metadata | {"author":"miloco","version":"2.2","date":"2026-06-16T00:00:00.000Z","openclaw":{"requires":{"bins":["miloco-cli"]}}} |
从感知记忆和交互记忆中提取值得沉淀的家庭知识(成员的习惯、偏好、健康、画像,以及家居环境),累积到家庭档案。
仅在 miloco-home-dreaming cron 流程中激活,不单独使用。
读到一条观察后,按这条决策链处理:① 值不值得记 → ② 归哪一类 → ③ 和已有知识什么关系 → 落命令。下面依次展开。
memory/YYYY-MM-DD-miloco-perception.mdmemory/YYYY-MM-DD.mdmiloco-cli home-profile list --target both 查看已有知识evidence_log(完整证据列表)判断与已有条目的关系miloco-cli home-profile candidate-write 或 miloco-cli home-profile profile-write 操作注意:步骤 1、2 中的记忆文件在当天没有相关记录时不会生成。读取失败(文件不存在)时直接跳过该文件,继续处理剩余可用的记忆源。不要重复尝试读取同一个不存在的文件。只要至少有一个记忆源有内容即可继续后续步骤;若所有文件均不存在,则本次 Observe 无输入可处理,直接结束。
家庭档案只有一个用途:让 agent 借它读懂每个成员的生活习惯,从而把控设备、调环境、提醒关怀做得更精准、更合各人心意。所有提取都服务于此,唯一标尺是——
核心判断:知道这条,未来能让某次「控设备 / 调环境 / 提醒关怀」更准、更贴某个具体成员的心意吗? 能 → 记;只是"识别到了"却不会改变任何未来动作 → 丢。
感知识别结果天然嘈杂,大多数没有沉淀价值,宁缺毋滥——记一条无用信息,未来只会干扰判断。
值得记(每类都能落到具体行为上):
| 信息 | 未来用它做什么 | 例子 |
|---|---|---|
| 偏好 | 调环境到成员舒适态 | 爸爸喜欢 24°C 制冷、奶奶要暖光 |
| 作息 / 习惯 | 把提醒、自动化卡在对的时机 | 工作日 7:30 出门、每晚 9 点吃药 |
| 健康 / 禁忌 | 关怀与安全的硬约束 | 花粉过敏、高血压、行动不便 |
| 画像 / 构成 | 弄清"家里有谁、谁要被照顾" | 谁是主厨、有个小孩豆豆、养了狗旺财 |
| 空间 / 设备 | 让控制落到对的设备、给对的预期 | 主卧出风口对床头、客厅空调达温慢 |
不值得记(记了也用不上,直接丢):
置信度怎么给(已判定值得记的,按性质决定单次能否入候选——候选区是"证据累积区",低置信不等于丢弃):
type 分类:
| type | 含义 | 示例 |
|---|---|---|
| member_persona | 成员画像(家庭角色、身份、外貌) | "爸爸是家里的主厨" |
| member_health | 体质健康(过敏、禁忌、慢性病) | "妈妈对花粉过敏" |
| member_routine | 日常习惯(作息、出行规律) | "爸爸通常 7:30 出门上班" |
| member_entertain | 娱乐习惯(观影、游戏、音乐) | "妈妈睡前听白噪音" |
| member_preference | 个人偏好(温度、光线、饮食) | "爸爸喜欢 24°C 制冷" |
| family | 全家共同遵守的规则/约定(仅规则,非家庭构成信息) | "22:00 后全屋静音"、"访客来访自动开走廊灯" |
| space | 空间环境(户型、朝向、动线) | "主卧空调出风口对床头" |
| device | 设备经验(设备使用经验) | "客厅空调制冷需 5 分钟达温" |
subject 命名规则:
subject_id 优先绑定身份库 person_id(从 miloco-cli identity member list 查得,保证映射唯一);无法确定 person_id 时退回 subject_name = 成员名(如"爸爸")。多成员共同适用时 subject_name = "shared",subject_id 留空。subject_name 固定为 "shared"(家庭规则天然多主体)。subject_name = 空间名或设备名(如"主卧"、"小米空调"),通用信息 subject_name = "general"。宠物与家庭构成归类(避免误入 family):
family 仅指"全家共同遵守的规则/约定",不是任何家庭相关信息的兜底类。member_* 类型,subject_name = 宠物名(如"旺财"),subject_id 留空(宠物不在身份库)。
member_persona,subject_name="旺财"member_routine,subject_name="旺财"member_persona,subject_name 为对应成员;全家整体构成事实可用 subject_name="shared"。先和 list 拿到的已有条目比对,决定怎么写:
| 情况 | 操作 |
|---|---|
| 全新知识 | candidate-write op add |
| 与候选区已有相同 | candidate-write op merge(id) |
| 与正式区已有相同 | profile-write op merge(id)(仅+证据) |
| 与已有矛盾 | candidate-write op add(独立竞争) |
list 返回的该条 evidence_log——同一观察事件(同日期 + 同来源/现象)若已在其中,不要重复 add/merge,否则会虚增 evidence_count / confidence。只有日志里没有的新观察才 add/merge。批量候选写入(一次提交多条,提高效率)。每个 op 必须带 op(add / merge)和 date(观察日期 YYYY-MM-DD,必填,传入对应记忆的日期):
miloco-cli home-profile candidate-write --ops '[
{
"op": "add",
"date": "2026-05-29",
"entry": {
"type": "member_routine",
"subject_id": "<person_id 或留空>",
"subject_name": "爸爸",
"content": "通常 7:30 出门上班",
"confidence": 0.8,
"source": "observed",
"evidence_log": ["2026-05-29 07:31: 玄关相机识别到爸爸出门"]
}
}
]'
merge 到已有候选(仅 +证据):{"op": "merge", "id": "<candidate_id>", "date": "2026-05-29", "evidence_log": "2026-05-29 07:35: 玄关相机再次识别到爸爸出门", "confidence_delta": 0.1}
merge 到正式区(仅 +证据):{"op":"merge","id":"<profile_id>","date":"2026-05-29","evidence_log":"2026-05-29 07:35: 玄关相机再次识别到爸爸出门"}
多个条目需要操作时,优先在单次
--ops中批量提交,提高效率。