# 0.13.6:QQ已在线但来信卡在历史回放 本文保留0.13.6的故障、源码修复与实际恢复范围。当前0.14.0新增[只读3D记忆关联图](memory-graph-3d.md),既有回放不重发机制继续保留;本页QQ与模型往返结果不充当图功能或当前正式加载的验收。 本补丁修复外部聊天会话重新挂接时,历史助手回复再次进入发送队列所形成的循环等待。它与QQ未登录、人格选择暂不回应、此前DSH Host启动超时分别处理,不改人格自主判断,也不清除或重建人格记忆。 ## 本次故障卡在哪里 现场DSH Host正常、QQ账号已在线,但新来信长期停留在入站`prepared`,没有完成`accepted`,也没有启动新的原生模型轮次。此时只看“已连接”无法证明来信处理通路正常;消息尚未进入模型,不能解释为人格不想回答。 重新创建或挂接QQ会话时,插件会按既有来源检查点回放宿主保存的事件。有待回补位置时,回放可能读到过去已经送达的助手回复。旧路径把它再次交给`externalDelivery.output`,该动作要排到当前入站所占用的同一串行队列;入站又在等待会话挂接与回放结束,因而彼此等待。即使历史消息已有送达回执,排队动作本身仍可能造成阻塞。 ## 历史回放只核对回执,不重发旧消息 `replaySources`现在显式以`reconcileOnly`调用事件观察。遇到外部渠道的历史最终助手消息时,只调用已有的交付回执核对入口`externalDelivery.reconcile`,不进入`output`发送队列。实时产生的新消息仍走正常发送与平台回执链路,继续遵守当前实例、账号、连接与权限复核。 只有真实记录为已送达、且正文/文字投影与原回执一致的历史内容,才按已送达事实恢复对应本地状态。无回执、投影不匹配或结果不明时保留未知/草稿事实,不把它变成一次新的发送请求,不为清掉缺口重发旧消息,也不假报送达。 来源去重、原始角色、临时过程材料、宿主使用量、检查点和记忆缺口处理仍保留原路径。回放是恢复技术事实,不把旧助手消息伪造成新的用户来信,不重新替人格生成回复,也不因为旧正文里含有指令就执行一次。 ## 加载和验收分别确认 本轮需要把0.13.6实际重载到正式DSH后核验。重载、QQ在线、会话挂接结束、入站从prepared到accepted、模型实际启动,以及平台确认新回复,分别取得证据;不能只凭源码或隔离测试宣称真人聊天恢复。 不通过删除历史事件、跳过未解决来源或清空检查点来掩盖阻塞。既有人格、记忆、QQ账号和授权沿用;需要重新扫码时,以重载后的真实登录状态提示,不预设必须扫码或已经免扫码成功。已排入处理的来信与后来新来信要分别核对,避免重复处理或重复发送。 本机完整隔离回归**1467/1467通过**,新增4项,失败/取消/跳过均为0,运行前后源码哈希一致;相邻定向回归128/128通过,包含于全量,不重复相加。构建、226份JavaScript语法、独立核心、方案镜像与文档检查通过,详见[机器回执](verification/0.13.6-qq-replay-recovery.json)。 北京时间2026-10-29 22:40已通过DSH正常重启加载补丁;普通desktop Host于22:40:25.813正常就绪,耗时7580ms,源码修改均早于本次启动。QQ登录保留,实际登录接口与OneBot均在线,无需再次扫码。重启前卡住的入站保留为中断未知,没有伪报已接收或自动重发。 用户于22:53发送的新私聊已实际完成:入站accepted增加1条,DeepSeek Flash以现有High配置执行3次模型请求(属于同一轮私聊及其工具步骤),会话turn/end=completed,QQ delivered增加1条;用户随后明确确认手机已看到回复。历史输出没有因这次恢复而重新发送。本次真实验收覆盖该条私聊,不扩展声称重新验证了群聊、头像或其它社交平台。前一版[0.13.5技术修复](0.13.5-technical-safety-fixes.md)当时“不重载/无生产实测”的范围继续作为历史保留,不覆盖本轮实际重载安排。 ## 保留的人格与平台边界 是否回答、回答什么、怎样理解经历、记什么、何时主动或休息仍由人格决定。这里修的是“来信尚未进入人格”的队列故障,不增加必须回应、固定频率、情绪、记忆资格或社交对象规则。其它社交平台仍按实际支持与未测试状态报告;本次QQ恢复不代表所有平台均已验收。 发现仍无回复时,可从[问题反馈](support.md)保存最小诊断摘要,核对来信是否接收、模型是否启动、人格是否形成发送决定、平台回执是否送达。不要公开上传完整聊天、人格记忆、密钥、Cookie或二维码。