ワンクリックで
miloco-miot-identity
家庭成员档案 CRUD —— 创建/列出/重命名/删除成员。**身份样本注册(给某人录脸/录身形)走 miloco-miot-identity-register,本 skill 不做。**
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
家庭成员档案 CRUD —— 创建/列出/重命名/删除成员。**身份样本注册(给某人录脸/录身形)走 miloco-miot-identity-register,本 skill 不做。**
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | miloco-miot-identity |
| description | 家庭成员档案 CRUD —— 创建/列出/重命名/删除成员。**身份样本注册(给某人录脸/录身形)走 miloco-miot-identity-register,本 skill 不做。** |
| metadata | {"author":"miloco","version":"2.1","date":"2026-05-20","openclaw":{"requires":{"bins":["miloco-cli"]}}} |
家庭成员档案 CRUD —— 只管 person DB 行的增删查改,不管样本注册(那是 miloco-miot-identity-register 的职责)。
v2.1(2026-05-20) — 加 "查看身份库情况" 工作流(2e),展示真实样本数而不是已废弃的 face/voice 二元字段;API 已删 face_enrolled / voice_enrolled 字段。
v2.0(2026-05-18) — v1 内置的"人脸/声纹注册"工作流整段移除:
miloco-cli person biometric add 端点已废弃,主流程不再用人脸注册 —— 当前 identity pipeline 走 body ReID(陌生人池 + DeepSORT)而不是 face recognition。只在用户单纯增删查改 person DB 行且不涉及样本/识别时激活:
| 意图 | 用户说了类似… | → 路由 |
|---|---|---|
| add | "添加我爸叫张三" "新增一个家庭成员" | 本 skill |
| list | "家里有哪些人" "查看家庭成员" "成员列表" | 本 skill |
| status | "现在身份库是什么样的" "查一下身份库情况" "现在录入了谁,各多少样本" | 本 skill(2e) |
| rename | "把张三的家庭角色改成爸爸" | 本 skill |
| delete | "删除张三" "把张三从成员里删掉" | 本 skill |
| 登记样本 / 录入特征 / 录脸 / 注册某人 | "给王阿姨建个档案" "登记一下张三" "这是 XXX 登记" "推送响应 这是谁" | 转 miloco-miot-identity-register |
判断规则:
| 字段 | 说明 | 示例 |
|---|---|---|
操作 | add / list / rename / delete | "添加" / "查看" / "改名" / "删除" |
姓名 | 真实姓名 | "张三" |
家庭角色 | 家庭关系(爸爸/妈妈) | "爸爸" "妈妈" |
# 真名必填;抽到家庭角色才传 --role,抽不到就省略(role 留空即可,不影响 name)
miloco-cli person add --name "<姓名>" [--role "<家庭角色>"]
注意:只创建 DB 行,不录任何样本。提示用户: "张三档案已建。要给他录身形样本(后续摄像头才能识别他),回复'给张三登记样本'或上传他的照片" → 走 register skill
miloco-cli identity member list --pretty
# 或等价的:miloco-cli person list --pretty (都打到 GET /api/identity/persons)
返回 JSON 只含 id / name / role / created_at / updated_at,不再有 face_enrolled /
voice_enrolled 字段。格式化成简洁列表:
家庭成员(3 人):
- 张三(爸爸)
- 李四(妈妈)
- 王五(我)
⚠️ 不要展示"人脸"或"声纹"列——这两个维度已不在数据模型里。要看每人有多少样本走 2e。
miloco-cli person update <person_id> [--name "<新姓名>"] [--role "<新家庭角色>"]
只更新 DB 行的 name / role,不动 identity_lib 下的样本目录(目录名 = person_id,跟显示名解耦)。
miloco-cli identity member delete <person_id>
# 或等价:miloco-cli person delete <person_id>
⚠️ 二次确认:
"确认删除张三(爸爸)?该人的所有 body 样本会被级联清除,撤不回。"
确认后执行,回复"张三已删除"。
用户问"现在身份库什么样" / "录入了谁,各多少样本" / "查身份库情况" 时:
# 第 1 步:拿名单
miloco-cli identity member list --pretty
# 第 2 步:对名单里**每个** person,拿真实样本数(body + face 都看)
miloco-cli identity sample show --person <person_id> --tier a --pretty
sample show 返回的 body_count / face_count 是磁盘真实文件数(不依赖 with-face)。
输出范式(用真实数字,不要用"已录入/未录入"二元状态;不要显示"声纹"列):
家庭成员(2 人):
| 姓名 | 家庭角色 | 身体样本 | 人脸样本 | 创建时间 |
|------|---------|---------|---------|---------|
| 张三 | 爸爸 | 5 张 | 3 张 | 2026-05-18 |
| 李四 | 妈妈 | 2 张 | 0 张 | 2026-05-18 |
陌生人池(可选,问到时附加):X 个聚类,占用 Y MB
(走 `miloco-cli identity pool status --pretty`)
边界:
body_count=0 显示 "0 张"(不是"未录入") — 提示用户走 register skill 补样本face_count=0 显示 "0 张" — 是正常的,不强制需要 faceperson biometric add —— 该命令已废弃。systemEvent: concern / 陌生人推送 —— 这类消息整体转 register skill 处理(它的"路径 B · 推送响应"工作流)。person add 出来的成员摄像头识别不到。| 异常 | 处理 | 回复 |
|---|---|---|
| 姓名未给 | 追问 | "请问这位成员叫什么?" |
| 用户问"录脸/录样本" | 转路 register skill | "登记样本走另一个流程,我去叫 register 接手" |
| 用户问"声纹录入情况" | 告知这期没有 | "这期没有声纹存储,只有人脸 crop + 身体样本" |
| 删除人员 | 二次确认 | "确认删除{姓名}?将清除其所有样本" |
解析:add,姓名="张三",家庭角色="爸爸"
执行:miloco-cli person add --name "张三" --role "爸爸"
→ {"code":0,"data":{"person_id":"..."}}
回复:"张三档案已建。要让摄像头能识别他,接下来要给他录一些样本——
回复'给张三登记样本'或者直接上传一张他的照片,我来安排录入。"
执行:miloco-cli identity member list --pretty
回复:
家庭成员(3 人):
- 张三(爸爸)
- 李四(妈妈)
- 王五(我)
执行:
miloco-cli identity member list --pretty
→ [{id: p1, name: 张三, role: 爸爸, ...}, {id: p2, name: 李四, ...}]
对每个 person 跑:
miloco-cli identity sample show --person p1 --tier a --pretty
→ {body_count: 5, face_count: 3, ...}
miloco-cli identity sample show --person p2 --tier a --pretty
→ {body_count: 2, face_count: 0, ...}
回复:
家庭成员(2 人):
| 姓名 | 家庭角色 | 身体样本 | 人脸样本 | 创建时间 |
|------|---------|---------|---------|---------|
| 张三 | 爸爸 | 5 张 | 3 张 | 2026-05-18 |
| 李四 | 妈妈 | 2 张 | 0 张 | 2026-05-18 |
解析:delete,target="张三"→ person_id=...
确认:"确认删除张三(爸爸)?该人的所有 body 样本会被级联清除,撤不回。"
用户确认
执行:miloco-cli identity member delete <person_id>
回复:"张三已删除"
判断:涉及"登记样本",转 miloco-miot-identity-register
回复:(切换到 register skill,跑它的工作流;agent 框架自动接力)
感知范围控制 — 管理 miloco 感知哪些家庭、哪些摄像头,以及每台摄像头的声音(是否参与感知)。用户说「只用/不用某家庭」「让 miloco 感知/别感知 某家庭或摄像头」「屏蔽某摄像头/把某摄像头从感知里去掉」「把某摄像头声音关了/打开」「XX 老误报(声音类)」「哪些家庭在用」时激活。注意区分:开关摄像头设备本身(开机/关机/电源/录制)走 miloco-devices;感知引擎自身的开关/参数走 miloco-perception。
调用摄像头看画面、听现场声音,或回顾近期事件来判断——在干嘛、有什么动静、是否有人说话/吵闹、刚才/最近发生了什么;通过画面核实设备的开关状态(如开着/关着、亮着/灭着),尤其在拿不到设备上报状态时。读不出画面看不见的具体数值(温度、湿度、音量等)。
家庭档案管理 — 当用户提到自己或家人的喜好、兴趣、习惯、身体状况、作息规律、家庭规则时激活,无论用户是否明确要求"记录"。也在用户修正已有记录、要求删除、或查询家庭档案时激活。
家庭信息首次初始化 / onboarding —— 用户说"初始化家庭""配置家庭成员""首次设置""帮我建家庭档案""onboarding"时激活;收到后端推送的 `[系统事件]` onboarding 消息(全新安装检测)时主动发起;也在身份库成员为空 + 家庭档案为空时由 agent 提议。通过访谈把家庭成员与家庭档案一次性建起来。
miloco-perception-digest 定时任务的内部步骤,仅由该任务调用。
家庭成员身份注册主流程。**用户表达「想让系统认识/记住/录入某个人」的意图就触发本 SKILL,不要求出现"注册/登记"字面词**——包括上传图/视频指明某人是谁、回应 `[感知引擎]` 陌生人推送、说"建档案/录入家人/记下样子"、指认摄像头里某人身份、从近期陌生人记录里挑人建档、撤销注册、查看某人样本。覆盖"上传图/视频"与"从摄像头挑人"两条通路,所有路径需用户确认才入库。仅改 person 行(改名/删人,不涉及样本)走 miloco-miot-identity。