一个跑在桌面机器人里的陪伴助手,由胡大娘定制。它会一直守着你,做三件贴心的事:
| 功能 | 它做什么 | 需要什么 |
|---|---|---|
| 🧑🤝🧑 人脸陪伴问候 | 摄像头发现你走近,就播放欢迎动作+友好表情,并在电脑上弹出「欢迎回家」 | 机器人支持人脸预览;欢迎动作/表情 ID(可留空,留空则只弹提示) |
| 🎙️ 语音便签 | 你对着机器人说一段话,自动录成 WAV 音频存好,留给家人听(不用打字) | 机器人带麦克风 |
| 💧 健康提醒 | 每隔一段时间,温柔地提醒你喝水 / 起身 / 吃药 / 闭眼歇会儿,并可在机器人上播放提醒动作 | 提醒动作 ID(可留空,留空则只弹提示) |
设计原则:所有「动作/表情」资源 ID 都不写死。设备上没有对应资源时,应用会自动降级成「只在桌面弹提醒」,绝不瞎调用一个不存在的动作。
机器人的欢迎动作、表情、提醒动作,每台机器装的资源不一样。请在运行前用环境变量告诉它真实 ID:
# 人脸问候时播放的「欢迎」动作与表情(来自机器人官方资源目录)
export WARM_WELCOME_BEHAVIOR_ID="这里填真实行为ID"
export WARM_WELCOME_EXPRESSION_ID="这里填真实表情ID"
# 健康提醒时播放的「提醒」动作与表情
export WARM_REMINDER_BEHAVIOR_ID="这里填真实行为ID"
export WARM_REMINDER_EXPRESSION_ID="这里填真实表情ID"
还能调这些参数:
export WARM_REMINDER_INTERVAL="3600" # 健康提醒间隔(秒),默认 3600 = 1 小时
export WARM_VOICE_NOTE_SECONDS="15" # 语音便签时长(秒),默认 15 秒
export WARM_COMPANION_NOTE_DIR="voice_notes" # 语音便签保存目录
找不到 ID 也没关系——留空时应用照常工作,只是机器人不额外做动作,只在桌面提示。
应用启动后,你在桌面端(与机器人配对的电脑)可以发一句话给它:
| 你发的话 | 它做啥 |
|---|---|
语音便签 / 录音 / 留言 |
录一段语音存成 WAV |
你好 / 问候 / hi |
立刻问候你一下 |
| 其他任意文字 | 它在桌面回你一句「收到」 |
# 1) 校验清单是否合法(已通过 ✅)
watcherobot app check .
# 2) 本地运行(由 SDK Daemon 托管,不要直接 python app.py)
watcherobot app run .
# 3) 打包发布到机器人
watcherobot app publish .
想在本机弹出一个「已启动」小窗,可加环境变量:
export WARM_COMPANION_LOCAL_UI=1
watcherobot app run .
warm-companion/
├─ app.py # 应用主程序(三大功能都在这里)
├─ ui.py # 本地欢迎小窗(仅本机调试用,不影响机器人运行)
├─ app.json # 应用清单(名称/版本/依赖)
├─ icon.svg # 应用图标
└─ voice_notes/ # 语音便签录音保存处(运行时自动生成)
⚠️
app.py必须在 SDK Daemon 托管环境里运行(它依赖运行时注入的设备连接), 直接python app.py会因为没有设备环境变量而报错——这是正常的。