感知范围控制 — 管理 miloco 感知哪些家庭、哪些摄像头,每台摄像头的声音(是否参与感知),以及每台摄像头的「感知须知」(专属 prompt,补机位环境 / 关注 / 忽略以提升感知准确性)。用户说「只用/不用某家庭」「让 miloco 感知/别感知 某家庭或摄像头」「屏蔽某摄像头/把某摄像头从感知里去掉」「把某摄像头声音关了/打开」「XX 老误报(声音类)」「哪些家庭在用」时激活;也在用户吐槽**画面/视觉类固定误识**时激活——「门口摄像头老把电梯门当成我家门」「XX 老把 Y 认成 Z」「这台摄像头总把走廊的人当成家里人」「能不能告诉它忽略窗外的马路」等,用「感知须知」给该机位补指导。注意区分:开关摄像头设备本身(开机/关机/电源/录制)走 miloco-devices;感知引擎自身的开关/参数走 miloco-perception。
72
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
控制 miloco 接入哪些家庭和哪些摄像头。
scope home switch <id> 切换。同时只能启用一个家庭,切换时其余自动停用。scope camera disable <did> 停用感知、scope camera enable <did> 恢复。新增摄像头默认接入。scope camera mic-on <did> 开启——该相机声音开始参与感知(识别语音指令、理解环境声);mic-off 关闭后声音完全不被处理(不识别、不理解、不上云、听不到语音指令),视频照常感知。从属于视频感知:感知已 disable 的相机不能设声音。默认关的原因是当前远场拾音质量不稳、嘈杂环境易误报。scope camera prompt-set <did> "<文本>" 设置、prompt-clear <did> 清除。默认无。与视频 / 声音开关正交:不从属感知开关,相机关着也能预配,只在被感知时生效;改动下一窗即生效、不重启。上限 500 字。典型用途:门口机位能看到公共走廊的电梯门,模型误把电梯门开合当自家入户门 → 用须知说明「画面右侧是公共走廊电梯门,与本户无关,只有正中木色入户门才是本户」。所有子命令未知 did/id 均被拒绝(防 typo)。先 list 确认合法再操作。
这是最易混的一组,务必按用户原话区分:
scope camera disable。scope camera mic-off / mic-on。scope camera prompt-set(写「感知须知」,见下文流程)。判据(四路分流):
scope camera enable/disable。scope camera mic-on/mic-off。scope camera prompt-set。用户说「误报 / 误识」时先分清是哪一类:
mic-off 关这台声音。prompt-set 写须知补指导,不要关摄像头/关声音(那样会丢掉这台的正常感知)。miloco-cli scope home list | switch <id>
miloco-cli scope camera list | enable <did>... | disable <did>...
miloco-cli scope camera mic-on <did>... | mic-off <did>...
miloco-cli scope camera prompt-set <did> "<文本>" | prompt-clear <did>...switch <id>:切换到该家庭(唯一启用),其余自动停用。只接受 1 个 id。enable/disable <did>...:视频感知批量启用/停用,可同时操作多个 did。mic-on/mic-off <did>...:声音批量开/关,同款批量 did 语义。mic-off = 该相机声音完全不被处理;仅感知已启用(in_use=true)的相机可设,感知已关闭时整批被拒。改动即时生效、无需重启。prompt-set <did> "<文本>":给该机位设自定义「感知须知」(文本务必加引号)。prompt-clear <did>... 清除(可批量)。上限 500 字,超限被后端拒。与启用/声音开关正交,不从属感知,改动下一窗即生效、不重启。list 输出每项含 in_use(是否启用);camera 额外带 is_online(设备在线)、connected(流已订阅)、voice_in_use(声音开关)和 perception_prompt(该机位自定义感知须知)。in_use/is_online/connected 三者都 true = 正常采集,任一 false 即某层未就位。voice_in_use=false = 该相机声音完全不被处理(不转写、不上云、听不到指令),视频照常感知。scope home switch <id> 直接切换,其余自动停用。scope camera disable <其它所有 did> 停用不需要的。scope home switch <id> / scope camera enable <did>。| 操作 | 校验规则 |
|---|---|
| 家庭 switch | 拒绝未知 home_id(切到不存在的家庭无意义) |
| 摄像头 enable | 拒绝未知 did |
| 摄像头 disable | 拒绝未知 did |
| 摄像头 mic-on/mic-off | 拒绝未知 did;拒绝感知已关闭(in_use=false)的相机(声音从属于视频感知,先 enable 再设声音) |
| 摄像头 prompt-set/prompt-clear | 拒绝未知 did;拒绝超 500 字。不校验 in_use(关着的相机也可预配须知) |
未知 id / 从属违规由 backend 拒绝并返回错误,CLI 透传错误信息。若不确定 id 合法性,先 scope home list / scope camera list 看一眼。
用户吐槽某摄像头有固定的画面误识(老把 X 当 Y、被某类东西干扰)时,别急着写,按这个闭环走:
scope camera list,按 name/room_name 找到那台的 did。若用户描述模糊,读该 did 的当日感知日志(memory/YYYY-MM-DD-miloco-perception.md,或用 memory_search)确认误识的具体表现:把什么当成了什么、什么时候、画面里的位置。scope camera prompt-set <did> "<确认后的文本>",然后告诉用户:下一个感知窗即生效、无需重启;若之后仍有误识,可以继续追加/调整须知,或让你 prompt-clear 重来。prompt-set 是整段覆盖。若这台已配过(perception_prompt 非空),先读出旧文本,在其上增补后整段写回,别把用户之前的指导冲掉。不要用须知去表达"关掉这台/关声音"——那是 disable/mic-off 的活;须知只用来让保留的感知看得更准。
is_online=false = 设备 / 网络层问题,不在本 skill 范围;让用户检查设备本身。connected=false 且 in_use=true && is_online=true = 接入配置已就绪但流还没拉起来。等一个 sync_devices() 周期;若过了周期仍不连,问题不在接入配置,走 miloco-perception。sync_devices() 热同步,无需重启服务。# 查看接入状态(list 返回 {code, message, data} 信封)
$ miloco-cli scope home list
→ {"code":0,"message":"ok","data":[
{"home_id":"611001054724","home_name":"HCl的家","in_use":false},
{"home_id":"611001866489","home_name":"xiaomi","in_use":true}]}
$ miloco-cli scope camera list
→ {"code":0,"message":"ok","data":[
{"did":"1154253569","name":"小米智能摄像机C700","is_online":true,"in_use":true,"connected":true}]}
# 切换到 xiaomi 家庭(其余自动停用,返回全量家庭列表)
$ miloco-cli scope home switch 611001866489
→ {"code":0,"message":"ok","data":[
{"home_id":"611001054724","home_name":"HCl的家","in_use":false},
{"home_id":"611001866489","home_name":"xiaomi","in_use":true}]}
# 切换到另一个家庭
$ miloco-cli scope home switch 611001054724
→ {"code":0,"message":"ok","data":[
{"home_id":"611001054724","home_name":"HCl的家","in_use":true},
{"home_id":"611001866489","home_name":"xiaomi","in_use":false}]}
# 停用一台摄像头(返回操作后的摄像头列表)
$ miloco-cli scope camera list # 看 did
$ miloco-cli scope camera disable 1154253569
→ {"code":0,"message":"ok","data":[
{"did":"1154253569","name":"小米智能摄像机C700","is_online":true,"in_use":false,"connected":false}]}
# 恢复被停用的摄像头
$ miloco-cli scope camera enable 1154253569
→ {"code":0,"message":"ok","data":[
{"did":"1154253569","name":"小米智能摄像机C700","is_online":true,"in_use":true,"connected":true}]}
# 「客厅电视老误报,把客厅摄像头声音关了」——关声音(视频照常感知)
$ miloco-cli scope camera list # 按 room/name 找到客厅摄像头 did
$ miloco-cli scope camera mic-off 1154253569
→ {"code":0,"message":"ok","data":[
{"did":"1154253569","name":"小米智能摄像机C700","is_online":true,"in_use":true,"voice_in_use":false,"connected":true}]}
# 「次卧很安静,把声音打开」——开声音
$ miloco-cli scope camera mic-on 1154253570
→ {"code":0,"message":"ok","data":[
{"did":"1154253570","name":"小米智能摄像机C700","is_online":true,"in_use":true,"voice_in_use":true,"connected":true}]}
# 「门口摄像头老把电梯门开了当成我家门开了」——画面类误识,写感知须知(不是关摄像头)
$ miloco-cli scope camera list # 按 room/name 找到门口那台 did
# (先复述须知给用户确认:"画面右侧公共走廊里的电梯门,与本户无关……",确认后再写)
$ miloco-cli scope camera prompt-set 1154253571 "本摄像头装在入户门内,画面右侧公共走廊里可见电梯门。电梯门开合与本户无关,不要据此判断有人回家/开门;只有画面正中的木色入户门开合才是本户事件。"
→ {"code":0,"message":"ok","data":[
{"did":"1154253571","name":"小米智能摄像机C700","is_online":true,"in_use":true,"voice_in_use":false,"perception_prompt":"本摄像头装在入户门内……","connected":true}]}
# 清除某台的感知须知(回到无自定义)
$ miloco-cli scope camera prompt-clear 1154253571
→ {"code":0,"message":"ok","data":[
{"did":"1154253571","name":"小米智能摄像机C700","is_online":true,"in_use":true,"perception_prompt":"","connected":true}]}f156d34
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.