4c938c73306ca263b0ac2b62f4638ecdca4c4958
改了什么: - 新增 devtools/fake-backend/proactive_inject.py:按真后端 SendProactive 的顺序 (先落库、再发帧)造一条主动消息 —— 落一行 assistant 历史行,再广播带同一 id/createdAt 的 proactive_message 帧。--without-id 是另一档(落库失败):不落行、帧上不带 id。 - README 新增「场景五」:完整命令序列 + 帧形状 + App 侧三条判据;端点速查/形状出处/已知不确定 各补一条。 - 更正两处过时内容:§1 的工作目录还是旧 worktree 名 Cyrene-Android-FB;§8 说「客户端 W41 起先探 /health」——W45 已把那整套删掉(SendFallback.kt:120),这个端点客户端不再消费。 - 记录踩到的坑:ws_probe.py --listen N 单独用只有 1 秒(ws_probe.py:201 是 min(listen, 1.0)), 不带 --send/--ping 时连接会先关掉,之后所有广播都是 delivered=0。 为什么: - 真后端没有任何 HTTP 入口能按需触发一次主动推送(backthink 只由心跳/事件决定,路由里只有一个 GET /admin/backthink),所以「她主动说的话」在客户端这一段的验收只能自己造帧。真后端只把 proactive_message 广播给在线连接、没有离线补发,帧壳又不带 sessionId(客户端必须自己钉主会话) —— 形状抄错或漏掉落库那条腿,验出来的结论就是假的。落成脚本 + 文档,下次不必重推。
Releases
5
Alpha_v0.1.0_4
Latest