Files

35 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

# 老人专属智能体改造验证(2026-09-14)
接口说明见 [elder-agent-flow.md](elder-agent-flow.md)。
## 交付版本
- 线上服务:`0.89.1-rc.elder2`,数据库迁移版本 `64`。
- EchoEar 固件:`1.5.0-elder-agent.2`,COM6,设备 `KP01-B43A451634A8`。
- 应用镜像:3,707,136 字节,SHA-256 `9716b47c125725b6e3cd8a6563305499af91405540e891b742f10e5183617499`。
- 仅写入应用分区 `0x10000`。保留 NVS、Wi-Fi、当前绑定及资产分区;改造前应用备份位于 `firmware/echoear-platform-agent/.tmp-elder-device/before-app.bin`。
- 火山智能体信息保存在本项目自己的 PostgreSQL,不在设备或小程序缓存中。
## 已验证
- 实际通过 AibotCreate 创建两位现有老人的独立智能体,保存为 READY;实际通过 AibotBind 关联现有产品。
- 设备当前绑定测试长者,使用其专属智能体 `botAaeozGmi2`,不是旧全局智能体。
- `go test ./...` 通过。
- 独立数据库迁移及 `callmemory`、`saas`、`httpapi` 集成测试通过,涵盖创建/失败重试、老人智能体隔离、解绑拒绝、回调去重及迟到回调。
- 网页类型检查和生产构建通过。
- 真实 C 适配器的主机 ASan/UBSan 测试通过,包括时钟偏差、会话续期、结束重试;PCM 分帧及运行配置 JSON 测试通过。
- ESP-IDF 固件编译及应用分区刷写校验通过。
- 设备真实入房、收到助手 Opus 音频、解码到 16 kHz 单声道 PCM16 播放;麦克风按 20 ms 编码 Opus 上传,实测发送错误计数为 0。
- 火山真实字幕回调已写入 `call_utterance`,房间机器人 `bot_<时间戳>` 正确识别为 ASSISTANT。
- 真实会话 `99b4e311-6499-42bc-af69-5926b8377036`、`74658628-2c33-41f0-9572-f3e622d1f566` 均 ENDED、sdk_stopped=true,后者为同次开机再次开聊。
- 最终镜像连续两通实测会话 `a3afe40a-1546-4c79-aec4-f3987fd10030`、`eacab6a5-2d78-44b2-9940-d8e78fc9839c` 均 ENDED、sdk_stopped=true,并各有真实助手字幕;两通均成功播放,无重启、Opus 解码错误、音频队列溢出或 feeder 写入错误。
- 当前设备激活状态 ACTIVE,绑定代次 9。
## 验证边界
这些是串口、SDK 和数据库证据,不等于现场听感验收。尚需用户现场确认扬声器音质,以及对设备说话后能否得到自然回答;本次未进行长时间连续通话/弱网压力测试。
## 音频修正
旧代码把 RTC 收到的 Opus 包直接当 PCM 播放,并将 60 ms PCM 原样送入 RTC。现已在 ESP32 端增加 Opus 编解码和 20 ms 分帧,适配编解码线程栈,等待入房/远端加入后再送音频,释放上次房间参数,并调整 PCM 播放等待时间。