Repository navigation
Undefined v3.17.2
v3.17.2 侧写有序合并
本版本修复群聊与用户侧写并发更新时的乱序覆盖:同一实体按史官任务入队顺序逐次合并,每次都基于前一次提交后的完整侧写;不同实体继续并发处理,QQ 与绑定的 iLink 私聊也遵循同一用户顺序。
变更内容
- 侧写按实体有序更新:同一群或同一用户的后续任务,必须等前序完成侧写文件、向量与完成进度的提交后,才读取当前侧写并构造合并上下文。史官直接收到完整侧写快照及更新时间,
read_profile读取当前目标时也返回本轮快照,避免模型基于旧正文覆盖刚合并的信息。顺序以史官入队为准,不取决于原始消息到达或模型响应的先后。 - 不同实体保持并发:事件改写与入库继续并行,等待同实体前序的任务不占用
max_concurrency名额,其他群和用户可继续合并。群侧写与用户侧写分别调度,一条任务的用户目标尚未轮到时,已经就绪的群目标可以先执行;群号与 QQ 号即使相同也互不阻塞。 - QQ 与 iLink 共用用户顺序:QQ 私聊、群聊中的用户观察和绑定的 iLink 私聊,统一按任务入队时保存的逻辑 QQ 号合并侧写。微信帐号别名、原生 ID、投递地址及之后的改绑,不会改变已入队任务的归属与顺序。
- 失败恢复保留进度:修复侧写异常被吞掉后任务仍被标记完成的问题,读取失败不再当作“暂无侧写”,模型既未有效更新、也未明确跳过时进入重试。自动重试保留原顺位并跳过已完成阶段和目标,重试耗尽后才放行未完成实体的后续任务;停止与重启可继续未完成部分。外层取消可及时中断模型调用,已经开始的写入与进度提交仍须完成后才释放占用。文件已写入但后续提交失败时,重新读取实际存储继续合并,不假定此前写入已回滚。
- 收紧侧写写入范围:合并工具只允许更新本轮调度的实体,拒绝模型越目标写入;昵称同步的读取、修改及文件与向量写入使用同一实体锁,防止昵称刷新拿旧副本覆盖最新侧写正文。
- 兼容现有队列与数据:旧的未完成任务可继续处理,已有任务 ID、事件引用、侧写文件格式及查询接口保持兼容,表情包队列继续沿用原有处理流程。恢复入队顺序时容忍损坏文件,避免一条坏任务阻断所有新观察入队;调度仍保留对未完成任务的严格检查。已受历史乱序影响的侧写不会自动重建。