V4.6.4:首次交互、顺序续答与可选阅读方式
V4.6.4 改进首次交互接线、选择后的续答顺序和可选阅读方式,保持现有默认兼容。自动化、真实平台 API 投递、生产升级及手机/桌面验收分别记录在本轮验收清单。
首次按钮不用预热
启用的 Feishu turn 和首次交互请求会尽早接好回调,不再要求先显示 slash 确认、model picker 或 resume picker。对于只有 ctx 的真实 Hermes 生成闭包,通过原 TurnRunner 的绑定回调恢复 Gateway 归属;只有 source、profile 和同一 live adapter 都匹配才接线。重连时只在 WebSocket loop 更新现有 processor 的 callback,不替换已连接的 SDK dispatcher。未知结构或断连继续 fail-open。
选择以后往下读
clarify 与 approval 完成选择后先记录显示分段边界;有实际后续文字、工具/子任务活动或终局内容时,才在同一 bot/profile/chat/topic 新建 schema 2.0 续答卡。连续下一题不会夹一张空续答卡。交互卡保留问题、选项、操作范围和选择结果;整轮答案、工具、附件、时间线与统计不会因分段清空。
已有 schema 2.0 卡不会把 legacy 交互消息直接升为流式 owner。新续答卡确认送达后才切换当前显示位置;失败或结果不明时保留原 owner 和内容,不按每个 delta 盲目重发。若本轮第一张卡就是唯一 legacy 交互卡,失败回退、终局与展示检查点恢复继续用 legacy 方言及无 token 的静态回执,不向它发送 schema 2.0 PATCH,也不恢复旧审批。
增量续答显示选择后的新内容;上游给出的完整终局快照会标为“本轮完整结果”并完整保留,不猜测删除旧前缀。详情见交互续答契约。
显示预设自愿采用
新增 card.reading_preset: classic|focused|detailed 和只读 hermes-feishu-card card-config。缺省、全新安装及升级均保持旧默认;同层显式开关优先,配置按全局 → profile → bot 合并。
focused将实时思考放入有界面板,正常完成隐藏正文工具行,失败仍保留活动。detailed展开过程,继续遵守既有条目和容量限制。- 显式
hide_completed_tool_activity: true仍在 completed/failed 都隐藏;显式false仍在两种终态保留,优先于预设。
card-config 只解释所选配置的有效值和来源,不证明运行进程已重新加载,也不修改文件或服务。采用或回退后需重启 sidecar。见阅读预设。
有来源证明才收起通知
只登记已识别、归属明确的临时重启通知。同一 profile/bot/chat/thread 后续成功投递或更新才清理已登记快照;空 thread 不是通配符。失败删除保留所有权,以后有合格投递再重试;容量、重复和迟到删除都有边界。答案、交互回执、失败说明不进入这一清理路径。原生 home 通知缺少明确来源时保留,不因同一 bot/profile 的其他聊天活动推断可删除。
提交前检查
python tools/preflight.py --check-only 默认只读核对 checkout、解释器/包来源和固定 fixture。显式 --suite focused|full 才运行真实 pytest 与所选 diff base 的检查;测试使用私有用户目录、state 和隔离的 operations target,并清除继承的生产配置;固定 fixture 同时校验内容、真实 Git 根目录、精确 HEAD 和干净工作区,缺 fixture 不标通过,退出码如实保留。可分享 JSON 不含原始日志、凭据或绝对私有路径。见测试说明。
贡献与边界
感谢 sthnow 在 #335 提供复现与交互排序证据,及其附补丁的作者 babypanda;eager-hook 适配保留 Co-authored-by。感谢 mouyong 在 PR #331 提供续答和通知生命周期的方案、代码,以及 #330 的验证流程需求。阅读预设继续回应 jackwude 的 #328 和 leavrcn 的 #333。全部历史署名继续保留在双语 README。
#331 按子项吸收,不整包合并,不反转旧默认,不把不明 home 路由当成清理授权。#335 的本轮真实客户端复验待记录;#282 等未证明同根因的历史现场问题不能因相邻修复宣称解决。AMD/9Router、默认模型和 Hermes 核心升级不在本版范围。
发布前代码回归为 4049 passed, 18 skipped;PR 的 14 项检查通过,普通 wheel 安装和固定 Hermes 安装/恢复已验证。隔离 sidecar 使用既有授权应用与测试会话,实际平台确认 6/6 事件、3/3 新建、6/6 更新,发送/更新失败为 0;该受控流程模拟选择,不是用户到 Gateway 的首次真实点击。
桌面/手机点击与视觉验收仍未运行。本机生产实例因受管源码与安装 manifest 漂移,安全安装器拒绝覆盖,本轮保留其原版本与本地改动。精确合并回归、CI、annotated tag、三平台资产/checksum 和公开 tag 普通安装证据随 GitHub Release 登记;平台 API 成功不代替客户端验收。
发布验证
- PR #336 合并提交:
457f0d00ddedc0e4dc6a507cf79c4ddfc6aaa17e;annotated tagv4.6.4精确指向该提交。 - 精确合并完整回归:4055 passed, 12 skipped;diff 检查、main CI 和 CodeQL 全部通过。
- Release Assets workflow 的跨平台门禁通过;macOS/Linux/Windows 三份安装包及 SHA-256 清单已下载校验,包内文件与精确提交一致。
- 精确提交 sdist/wheel 构建、59 项普通 wheel SDK/CLI/HTTP smoke 通过;公开 tag 安装器在隔离 Hermes fixture 中完成安装,包与 distribution 为 4.6.4,来自普通
site-packages,VCS 来源匹配发布提交,85 个 Python 源文件与 provenance 数据一致。 - 真实平台 API 投递通过;真人首次点击、桌面/手机视觉未运行。本机生产实例保留 HFC 4.6.2,受管源码漂移未被覆盖。