# 小禾动态开场试用(无天气,2026-10-01) 2026-10-03 已发布 API `0.99.26-rc.natural-chat1`,并将同一试用长者的基础人设保存为 `companion-xiaozhi-v2`。普通开场改为简短日常寒暄,移除主动谜语、猜物件、词语标题与编故事活动;中性话题允许重复,只轮换近期句子,不再为轮换主题而安排活动。短答不视为请求游戏,问候不扩展成知识讲解;兴趣识别、避谈、同通冻结和记忆授权保留。新角色与欢迎语已实际保存并回读,非角色供应商配置保持不变,下一次新通话由现有 Prepare 同步。开场单测和 10 项隔离通话集成通过,真实语音自然度尚待实听;没有为验收主动发起通话。证据位于 `.local-evidence/companion-natural-chat-20261003`,以下为旧版历史记录。 已发布 API `0.99.22-rc.opening1`,基线为 `0.99.21-rc.companion1`。在设备 `KP01-020026091601` 当前绑定的长者上开启 `conversation_preferences.dynamic_opening=true`;其它长者默认关闭。下一次新会话生成新的开场,同一会话的续约和重试仍使用原冻结参数。 ## 行为 - 按长者已设置的时区问候,空值、无效值或 `Local` 回退上海时区;时区数据随二进制内置。 - 有个性化记忆授权时,从档案兴趣和优先话题识别固定类别标签,不把任意原文写进开场。十二类轻话题轮换,近期五通避开相同模板和主话题;普通轻话题多数直接提供内容,正文最多 45 字,带问候与首次介绍最多约 60 字。 - 没有近期通话记录时介绍一次“小禾”;之后不反复自我介绍。上一通在十分钟内结束且存在双方真实字幕,并仍有个性化记忆和字幕授权时,使用六种简短招呼轮换。不声称已记得某段对话,也不据此认定某话题未完成。 - 遵守明确的避谈类别和模板跨题材依赖;无法识别的避谈内容使用中性开场。极端限制下允许安全的中性类别复用,优先保持句子变化。 - 不使用天气、定位、外部资讯查询或额外的模型生成请求。现有火山 Viking 抽取、`curated_memory` 注入和原生记忆开关沿用原实现。 ## 会话一致性与记录 在现有长者锁和无活动通话检查内选择一条开场;`PrepareWithWelcome` 将同一句写入提交火山的配置,成功后再签发设备运行参数。它从保存的基础配置重建本通角色,补充“简短同意时沿开场继续”的引导,不把动态开场或本通背景写回基础 Bot 配置。关闭试用的长者继续使用旧 `Prepare`。 `call_session.budget_snapshot.opening` 仅保存有界的模板 ID、主话题、类别及版本,不保存档案原文或记忆正文。它表示选中了哪种开场,不代表设备已经播放或老人已聊过该话题。历史按同一长者及当前 `privacy_epoch` 筛选,个人兴趣与字幕证据分别经过授权检查;撤回后停止相应用途。 ## 验证与部署 - `companionopening`、`elderagent`、`callmemory` 包测试及 Go vet 通过,Linux API 和测试程序构建通过。 - 独立 PostgreSQL、Redis 与内部测试网络中应用 74 个迁移并使用本地测试种子,10 项会话测试全部通过、0 跳过;覆盖连续开场轮换、两端同句、成功会话重试冻结、长者隔离、真实字幕重开、授权撤回和配置失败不提交。火山调用使用模拟回调,没有读写生产通话数据。测试容器、网络及临时目录已清理。 - 候选从已发布基线构建,仅包含九个本次源码/测试文件,其中 `app.go` 只移植一行接线。其它 696 个基线文件及 `go.mod`、`go.sum` 保持一致,没有夹带共享工作区的其它修改。 - 发布前确认无活动通话;只重建 API。readiness 与公网版本核对通过;schema 仍为 74 且 clean。其它容器 ID、网页内容、API 环境/挂载/端口及许可证保持一致。 - 在同一长者锁内核对设备绑定、Bot 和基础角色摘要后,只开启一个偏好字段;基础人设和欢迎语未改写。尚未实听设备首句、后续内容吸引力或首音延迟;自动测试与发布成功不能替代实际通话验收。 ## 回滚与证据 动态开关的旧值保存于服务器私有备份 `/opt/data-terminal-cloud/backups/companion-opening-20261001.json`,权限 `0600`。本地 `apply-pilot.py --execute --rollback` 会在同一长者锁内核对绑定、确认无通话,只恢复该字段。下一次新通话重新走原静态开场;不得改写正在通话的 Bot。API 原镜像与上一发布目录保留,可以独立回退 API。 操作与证据在 [本次证据目录](E:/Codex/story/.local-evidence/companion-opening-20261001),包括 [发布回执](E:/Codex/story/.local-evidence/companion-opening-20261001/production-receipt.json)、[开关保存回执](E:/Codex/story/.local-evidence/companion-opening-20261001/pilot-apply-receipt.json)、[隔离测试](E:/Codex/story/.local-evidence/companion-opening-20261001/result.json) 和 [仅本次改动](E:/Codex/story/.local-evidence/companion-opening-20261001/task-only.patch)。