Files
story/docs/server-voice-verification-20260914.md
T
Codex Local bf1233d5df
ci / verify (push) Canceled after 0s
feat: expand companion platform, device controls, and memoir workflows
Add customer and operator login, BLE provisioning, device fleet controls, call memory, memoir generation, and refreshed family and maintenance portals. Include API contracts, migrations, firmware sources, tests, assets, and deployment documentation.
2026-10-08 10:06:44 +08:00

29 lines
2.9 KiB
Markdown

# 平台代注册火山:本地验证记录
日期:2026-09-14。状态:代码已修改,未部署线上、未烧录硬件。
## 实现
- 后端在 ble-bind 请求内调用 DynamicRegister,激活 worker 仅作恢复兜底;复用已有 HTTPRegistrar 和凭据存储,不新增数据库表。
- 注册执行前持久化 SERVER_REGISTER 记录;超时或崩溃后转待核对,不自动重复注册。
- ble-bind 成功直接返回 status、instance_id、product_key、device_name、device_secret、RTCAppID;不再返回 voice_status / voice。先提交绑定事务,再等待取参(上限 35 秒)。失败明确报错,保留已完成绑定,原令牌可重试。
- 固件 1.5.2-sync-bind.1 在绑定响应处检查并保存 5 个字段,请求超时 45 秒,保存失败不报告蓝牙成功。启动仍调用 voice-runtime 获取配置编号,SDK 初始化后发送 activation-acks;不调用 volc_device_register。
- 旧设备已注册且凭据只保存在本机时,通过 voice-credentials 迁回。未经注册设备不能导入;不同凭据不能覆盖已有值。
- 旧 DEVICE 注册流程仅留在兼容测试和历史结果补报中;生产配置默认使用服务器执行。
## 已验证
- onboarding 与 hardwareprovision 全包数据库集成测试通过,使用本次新建的隔离测试数据库、模拟火山注册器,不连接真实火山。
- 新增六组服务器测试:绑定后取参/配置与初始化确认、注册不确定结果、并发 worker 与解绑/重绑、旧设备凭据迁移、拒绝未注册导入及设备侧执行、进程崩溃执行锁恢复。
- 同步绑定新增四组数据库测试:HTTP 注册错误不假成功且不重复注册、并发 worker 等待超时后原令牌恢复与 5 字段响应、等待期间解绑不下发凭据、暂停后恢复原绑定。日志:`.tmp-bind-sync-tests/integration-onboarding.log` 和 `integration-hardwareprovision.log`。
- onboarding、hardwareprovision、callmemory、httpapi、contractgovernance 单元测试通过,API 和 worker 编译通过。
- 真实 C 适配代码宿主机测试通过,覆盖服务器凭据读取、preparing、缺失 RTCAppID 拒绝、旧凭据迁移;测试断言设备不调用供应商注册。原聊天有效期与结束补报测试仍通过。
- 同步绑定 C 测试增加:缺少 RTCAppID 不保存、字段齐全保存 NVS、NVS 提交失败向调用方返回错误。
- ESP-IDF 固件编译通过;没有改本次设备的蓝牙名称,也没有烧录实物。
## 尚未验证
没有调用真实火山注册接口,不消耗联调设备 License;没有修改线上现有设备绑定和凭据。部署前仍需在受控联调设备上验证真实供应商响应、保存、SDK 初始化、进房和音频通话。
先发布后端 API/worker,再更新固件。MQTT 与 OTA 仍为文档中的待实现接口,不在此次注册迁移代码范围。