ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

oh-my-codex 0.20.4 发布说明深度解读:死会话指针恢复、Team 启动回滚、原生钩子信任与路径规范化

oh-my-codex 0.20.4 发布说明深度解读:死会话指针恢复、Team 启动回滚、原生钩子信任与路径规范化 oh-my-codex 0.20.4 发布说明深度解读死会话指针恢复、Team 启动回滚、原生钩子信任与路径规范化【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codexoh-my-codex 0.20.4 是一个面向可靠性、工作流安全与原生钩子信任的 patch 版本在v0.20.3..73cb50c125c11aca0654b8841e690f011eb5f43f冻结区间内合并了 62 个产品 PR其中仅包含一个新增且向后兼容的特性Herdr 生命周期/状态桥接其余全部为稳定性修复。本文以官方发布说明为主体结合仓库源码逐项拆解该版本的六大核心亮点、分类修复清单、发布验证流程与可复现的 PR 清单帮助你理解这些修复背后的实现原理以及它们如何影响日常使用。版本总览一次冻结范围明确、无破坏性变更的补丁发布0.20.4 于 2026-07-28 发布属于纯补丁patch发布精确冻结区间v0.20.3..73cb50c125c11aca0654b8841e690f011eb5f43f共 130 个提交、62 个合并的产品 PR兼容性承诺无任何有意的破坏性 CLI 或包布局变更唯一的特性#3241/#3242 Herdr 桥接是增量式且向后兼容的发布就绪记录本地构建、lint、类型检查、插件包、原生 agent 与 Node 测试门禁以及外部 CI、tag、GitHub release、npm 发布证据全部记录在 docs/qa/release-readiness-0.20.4.md。发布就绪记录还给出了完整的发布序列对应 RELEASE_PROTOCOL.md §5推送候选到dev→ 等待 CI 绿 → 提升到main→ 打v0.20.4注解 tag → 触发 release 工作流原生构建、资产发布/校验、packed-install smoke、npm 发布→dev快进到已发布提交 → 将dev元数据提升到下一开发基版本0.20.5。Highlights 一死会话指针锁恢复Dead session-pointer lock recovery会话指针锁在进程崩溃后可能残留成为死锁。0.20.4 引入了正向确认死亡positively dead时的恢复机制#3261、#3262关联 issue #3256其关键设计约束是身份再校验、不覆盖、可逆恢复检查点可恢复resumable恢复过程可以中断后继续不必从头开始被交换的声明被保留swapped claims preserved不会因为恢复而误删其他会话已经接管的声明失败的声明被回滚failed claims rolled back声明失败不会留下半成品状态恢复目录原子化隔离atomically quarantined疑似损坏的恢复目录会被原子地移出正常路径避免污染后续读取。仓库中 src/utils/file-durability.ts 与 src/utils/paths.ts 提供了这类跨进程状态锁的底层支撑canonicalizeComparablePath通过realpathSync.native将路径解析为真实路径后再做比较确保同一文件不会因符号链接或路径写法差异而被识别为两个不同的锁目标——这正是身份再校验能够可靠进行的前提。Highlights 二Team 启动回滚与面板权威Team startup rollback and pane authorityTeam 模式的启动清理此前可能误伤不属于自己的工作区面板。0.20.4 的修复#3265及 #3231、#3228、#3229、#3230、#3232关联 issue #3224把清理动作严格绑定到确切拥有的面板防拆分split-proof对账tmux 面板发生 split 后原面板标识可能被复制或拆分修复后的对账逻辑能识别这类情况避免把子面板误判为主面板面板级 worker 存活校验Team 在判断 worker 是否存活时以确切面板为准对应 src/team/worker-provenance.ts 的 worker 溯源逻辑并明确拒绝在存在歧义时清理 worker/HUDLeader 会话指针所有权保留重启或清理不会破坏 leader 对会话指针的持有失效的排队通知被作废旧的工作流产生的 stale notice 不再被误投递终端 follow-up 边界守卫限定 terminal follow-up 只在正确的作用域内生效托管 Codex 绕过拒绝时 fail closed当受管 Codex 的绕过bypass被拒绝时流程安全地关闭而非继续执行。Highlights 三原生钩子信任与路径规范化Native hook trust and path canonicalization原生native钩子面PreToolUse / Stop 等 Codex 钩子在本版本中得到系统性的信任与路径加固精确的绝对包 CLI 状态被信任#3333关联 issues #3320、#3322、#3323、#3325、#3321、#3327对于已确认安装的绝对路径包不再做额外的怀疑性校验Conductor 变更根、macOS 策略路径、临时 fixture 根均被规范化统一经过 src/utils/paths.ts 的 canonical 路径解析杜绝同一目录多种写法导致的绕过规划状态传输守卫修复#3343、#3344、#3348–#3353planning 状态在跨进程传输时的校验逻辑被打上补丁防止未授权内容流入规划状态。Highlights 四Ultragoal 目标状态与状态绑定Ultragoal goal-status and state bindingUltragoal长期目标工作流在本版本中获得多项状态正确性修复原生 Codex 目标的 blocked 状态被保留#3301、#3305此前 blocked 状态可能被误判为成功或丢失聚合目标绑定到规范状态路径#3294、#3297多个子目标聚合时以 canonical 状态路径为准而不是任意工作目录聚合完成在普通最终检查点持久化#3295不再依赖特殊分支才记录完成有限 Codex 目标工具在 Main-root Conductor 下被授权#3300、#3304只有有限集合内的目标工具才能在 Conductor 主根下运行防止权限越界。Highlights 五权威运行时根State authoritative root#3160 引入了权威运行时根authoritative runtime root为会话状态建立会话级权威认证 fixtures 与所有权强制状态文件必须经过认证且访问受所有权约束别名绑定与 HUD 读绑定会话别名必须绑定到权威根HUD 读取也被绑定到同一根避免读到别的会话的状态stale 祖先拒绝来自过时祖先目录的状态被拒绝插件权威隔离与受限根目标插件只能在自己的权威范围内活动根目标被限制在受控集合内。这与 src/state/operations.ts 中canonical successor-safe state lockmode state sync 要求 canonical 常规文件等实现一脉相承——所有状态变更都必须落到 canonical 化的常规文件路径上杜绝目录/符号链接混淆。Highlights 六Herdr 生命周期/状态桥接Herdr lifecycle/status bridge, Phase 1这是 0.20.4 中唯一的新特性#3241、#3242是一个**可选启用、尽力而为opt-in, best-effort**的外部适配面。其实现集中在 src/adapt/herdr.ts 与 src/adapt/herdr/ 目录环境探测仅当运行在 Herdr 管理的面板内HERDR_ENV1且设置了HERDR_PANE_ID时桥接才激活HERDR_SOCKET_PATH存在时优先走 socket 传输否则退化为 CLI 传输无环境则完全 inertcollectHerdrEvidence返回transport: none非阻塞、故障隔离传输错误被捕获并返回绝不会抛入 OMX 运行流程见 src/adapt/herdr/bridge.ts 中HerdrBridge.reportState的实现有序性序列号seq来自跨进程持久化 per-source 存储src/adapt/herdr/seq-store.ts并发钩子进程或重启后的陈旧报告无法抢占新报告权威释放release 被门控在没有其他 OMX 工作流仍活跃之上并在 src/adapt/herdr/authority.ts 记录/清除权威以支持崩溃对账——如果权威记录存在但属主进程已死下一次运行可据此做崩溃协调。其余修复清单Other fixes详解发布说明中其余修复可归为以下几个主题逐一列出便于对照使用会话生命周期恢复会话的 cancel 所有权对账保留 proven-session 作用域#3280、#3290、#3214根会话防自重启#3284、#3289身份不确定的指针恢复采用有界精确匹配#3324、#3332已核验的原生会话别名被解析#3308持久状态提交对过期会话绑定重新校验#3272、#3298。钩子与协作deep-interview 的 omx cancel 钩子改为钩子自有#3293、#3299PreToolUse 自锁修复#3240HUD 子进程退出时拆除分离面板#3267命令列表上下文中延迟 HUD resize sink 被守卫#3292、#3296原生 Stop 钩子宽松 fallback Stop 审计有界且按会话限定#3347、指针循环有界#3238、暂停 Stop 指导有界#3237、不匹配的原生 Stop 静默#3254原生 sidecar 会话权威在指针冲突时限定作用域#3244活动会话指针禁止被 native-start 替换#3235协作工具名规范化#3264collaboration.send_message从原生子编排 deny 列表中移出#3317。Ultragoal / Conductor无可达属主的独立 Ultragoal Conductor 激活被拒绝#3311、#3312非权威的 Ultragoal bootstrap 发布被拒绝#3326。诊断与数据正确性omx/gjc只读发现不再被误分类为写入#3313、#3314、#3318凭据切换前先校验元数据#3276过大的原生钩子 stdin 被排空#3273移除不存在的原生赋值引导#3346。平台与工具链Windows 原生钩子会话属主 PID 被正确解析#3260Bun 安装属主在更新期间被保留#3259tmux separator argv 边界被保留#3258Ralplan 预检引导限定作用域#3255Team 的 PowerShell psmux 面板创建改为安全方式#3145fresh 默认 Autopilot 在官方 host 共识回执校验器确定性不可用时会在 deep-interview 与 Architect/Critic 评审之前先失败#3270受管缓存二进制缺少.sha256伴生文件时被拒绝native-assets 在未验证的缓存权威上 fail closed#3285。确定性测试与依赖升级PATH 候选预算 smoke 测试改为确定性#3330新增 Darwin/Linux 可移植 PTYscript(1)argv 辅助#3328、#3331Windows 持久化同步改为确定性#3233依赖升级libc 0.2.186→0.2.189、serde 1.0.228→1.0.229、serde_json 1.0.150→1.0.151、modelcontextprotocol/sdk 1.29.0→1.30.0、biomejs/biome 2.5.3→2.5.4、c8 11.0.0→12.0.0、types/yauzl 2.10.3→3.4.0、types/yazl 2.4.5→3.3.1。合并 PR 清单与可复现命令发布说明给出了完整的合并 PR 集合#3145、#3160、#3214、#3216、#3219、#3228–#3233、#3235、#3237、#3238、#3240–#3242、#3244、#3248–#3252、#3254、#3255、#3258–#3260、#3262、#3264、#3265、#3267、#3271–#3273、#3276、#3277、#3280、#3284、#3285、#3289、#3290、#3292–#3300、#3304、#3305、#3308、#3311–#3314、#3317、#3318、#3324、#3326、#3328、#3330–#3333、#3335、#3337、#3339、#3340、#3343、#3346–#3353并提供了可直接复现清单的命令git log --reverse --format%H%x09%s v0.20.3..73cb50c125c11aca0654b8841e690f011eb5f43f同时说明issues #3301、#3309、#3220、#3320–#3323、#3325、#3327、#3293、#3284、#3292、#3294、#3272、#3311、#3313、#3314、#3241、#3256、#3224、#3270、#3300 属于关联问题而非新增 PR便于核对时排除重复计数。提交级完整分类可参考发布记录中提及的artifacts/release-0.20.4/inventory.md在发布就绪记录 docs/qa/release-readiness-0.20.4.md 中亦被引用。验证与发布门禁0.20.4 的发布就绪记录明确区分了本地门禁与发布序列证据两类验证门禁内容状态记录时范围审查130 提交 / 62 PR 与 CHANGELOG、release notes、RELEASE_BODY 交叉核对本地通过发布范围审查release-prep 仅添加发布附属文件与版本载体提升不含产品运行时代码变更版本元数据在 package.json、package-lock.json、Cargo.toml、Cargo.lock、plugin.json 中均为 0.20.4本地通过本地静态门禁npm ci、npm run build、npm run lint、npm run verify:plugin-bundle、npm run verify:native-agents待执行本地 Node 测试npm run test:node受影响面待执行Release body 生成node dist/scripts/generate-release-body.js --template RELEASE_BODY.md --current-tag v0.20.4 --previous-tag v0.20.3 --repo Yeachan-Heo/oh-my-codex待执行CI / tag / releasedev、mainCI 绿、注解v0.20.4tag、release 工作流完成原生构建与资产发布发布序列中记录npm 发布npm view oh-my-codex0.20.4返回 0.20.4且隔离环境安装可启动发布序列中记录已知缺口方面Linux CI 边界是平台门控测试套件的权威依据本地若出现与 v0.20.3 基线完全一致的重现失败则不被视为 0.20.4 回归。贡献者本区间绝大多数提交来自维护者 BellmanYeachan-Heo另有 achieve0410、bohe76、chief-impact7、don9x2E、huajuan404、ictechgy、lux-02、masterFoad、WangErgouaaaa 的外部贡献以及 app/dependabot 的依赖更新。小结与升级建议0.20.4 是一次典型的可靠性补丁以死锁恢复、Team 面板权威、原生钩子信任、路径规范化、Ultragoal 状态绑定、权威状态根六大主线收束了一个发布周期内积累的稳定性问题并以新增且默认 inert 的 Herdr 桥接为后续外部适配铺路。由于该版本无破坏性 CLI 或包布局变更可安全升级若你依赖 Team 模式的启动清理、原生钩子面或 Ultragoal 工作流建议优先验证本节列出的对应修复项#3265、#3333、#3294–#3305在你的使用场景中的行为。完整的版本脉络可继续查阅 CHANGELOG.md、RELEASE_BODY.md 以及下一版本记录 docs/release-notes-0.20.5.md。【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表