github baileyh8/hermes-feishu-streaming-card v4.7.4

3 hours ago

V4.7.4:升级后的侧车运行时与进程生命周期修复

PR #381 修复 Hermes 托管环境重建后侧车仍依赖旧环境,以及 Desktop 心跳覆盖 Gateway 身份导致健康状态误判的问题。

  • 独立侧车环境:新增可选 service.python_executable。setup、start 和服务注册使用指定解释器,默认选择不变。目标环境须预先安装同版本的普通 HFC 包;不存在、版本不符或 editable 安装会被拒绝,不自动补装依赖或退回托管环境。
  • 区分进程身份:分别记录 Gateway 和 Desktop/其他观察进程,维护操作只接受经验证的 Gateway 身份。重启确认需要新 Gateway 心跳,排空确认需要同一进程连续递增的心跳,Desktop 无法代替。
  • 退出回收:正常退出发送结束通知;兼容已识别的 Gateway os._exit 退出入口。对同一本机启动周期和 PID 命名空间内的进程核对存活及出生标识,清理已退出或 PID 已复用的记录;远程、权限不足或身份不明时保留保护状态。
  • 诊断:状态接口保留有界的进程记录和明确的身份缺失、冲突原因。旧版心跳只用于诊断,不授权维护操作。

升级

通过原安装入口升级 HFC,并按原服务管理方式重启 sidecar、Gateway 和 Desktop,使所有心跳发送端加载新版。Hermes 本体无需因本补丁升级。

需要隔离 Hermes 托管环境变化时,在稳定的独立 Python 环境安装同版本 HFC,再设置 service.python_executable。详见用户指南。该设置为可选项,不会自动迁移已有安装。

独立侧车仍须验证当前 Hermes hooks 和安装完整性;本版不会绕过 manual_review_required、不受支持的 Hermes 构建或源码归属检查。无需手工修改 Hermes 核心文件。

验证与限制

已完成本机 Gateway 与 Desktop 分别退出、重启的真实生命周期验收:另一进程身份保持正确,旧记录退出,sidecar 无需重启。相关测试覆盖真实子进程退出、PID 复用、未知/远程身份、旧协议、签名 HTTP 和普通安装包导入。发布 CI、精确合并提交及公开安装包核验结果见 Release 最终记录。

本版没有卡片视觉改动,未新增真实飞书聊天或移动端视觉验收。不保证未知 Hermes 内部退出入口具备主动通知能力;本机身份核验提供退出回收,无法确认时继续阻止维护操作。

发布核验记录

  • 合并提交:9b2b301a56af9ed0d2a3dbf91fbe1f80bf6aa999,annotated tag v4.7.4 已核验,未移动 tag。
  • PR 全量 CI、精确合并提交 CI 和 tag 发布门禁 全部通过;CodeQL 通过。覆盖 Linux Python 3.9–3.12、macOS、Windows、Hermes 兼容性矩阵、SDK、PowerShell 与 Docker。PR macOS 全量结果为 4,933 passed、24 skipped。
  • 公开 tag 源码的 673 个文件与已测试 Git 提交一致;普通安装包的 97 个文件逐项核验,安装后回归 31 passed。
  • macOS、Linux、Windows 三个发布包已下载核验 SHA-256,安装文件与已测试提交一致。

Don't miss a new hermes-feishu-streaming-card release

NewReleases is sending notifications on new releases.