oh-my-codex 0.18.13 发布解读:项目级会话恢复与搜索发现、Setup/Hook 安全加固与发布质量门禁
oh-my-codex 0.18.13 发布解读项目级会话恢复与搜索发现、Setup/Hook 安全加固与发布质量门禁【免费下载链接】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-codexOmX是一个把 Codex CLI 扩展为多智能体编排与运维体系的插件化工具集。0.18.13是紧随0.18.12之后的补丁版本聚焦项目级会话恢复与搜索发现、Setup 与 Hook 行为安全、ralplan/autopilot 共识新鲜度、CI 与发布基础设施可靠性以及 geobench 文档与 schema 修复并在发布拓扑上显式处理了0.18.12的推广遗留。本文以 docs/release-notes-0.18.13.md 为主线结合 docs/qa/release-readiness-0.18.13.md 的验证记录与仓库源码逐项拆解本次发布的技术内容与实战用法。版本定位兼容性保持的加固补丁而非破坏性升级0.18.13的关键定位在发布说明中写得很清楚这是一个补丁版本patch release保持既有 CLI 与包package契约不变同时收紧在0.18.12推广后暴露出来的发布、会话、Hook 与工作流边界情况。从 发布就绪文档 的版本决策记录看候选版本最终选定0.18.13而否决了0.19.0其理由包括发布范围评审未发现被移除的活动命令active command未发现 package bin/engine 破坏未发现不兼容的公开 schema 变更未发现破坏性公开 API 变更。当前范围被归纳为修复、CI/文档、依赖升级、增量式的 setup/会话发现、geobench 文档/spec以及保持兼容性的 runtime/hook/setup 加固。用户可见的最大变化是既有resume/session-search表面上的增量式发现行为additive discovery behavior——没有任何被移除的命令或破坏性变更。发布前评审还由 Ultragoal G001 checkpoint 记录了两个评审 subagentQA/red-team 与 architect的一致批准这也是版本决策的证据链之一。核心亮点一项目级 Resume / 会话搜索发现这是本次发布中用户可感知变化最大的部分。0.18.13将项目级project-scoped的 runtime Codex homes 纳入omx resume与omx session search的发现范围同时为更窄或更显式的查找提供了--project与--codex-home逃生舱escape hatch。发现机制两类项目级 Codex home实现核心位于 src/cli/project-runtime-codex-homes.ts。discoverProjectRuntimeCodexHomes(cwd)会合并两类来源并排序返回本地项目 runtime Codex homessource 为project位于omxRoot(cwd)/runtime/codex-home下凡是目录名以omx-开头、且内部存在sessions子目录的项都会被收录并统计sessions下的即时子目录数量作为sessionCountHint关联的 madmax 运行目录source 为madmax-runmadmax 运行目录通过registry.jsonl或各run-*目录下的.omxbox-run.json元数据关联回源项目路径source_cwd运行目录下的.omx/runtime/codex-home中符合omx-*前缀的 home 会被标记为madmax:name的公开标签。madmax runs 根目录可通过OMX_RUNS_DIR环境变量覆盖默认是~/.omx-runs。路径比较会先做realpath规范化Darwin 上还会对/private/var前缀做别名归一并校验运行目录必须位于 runs 根目录之内避免逃逸。omx session search的搜索范围扩展在 src/session-history/search.ts 的resolveSessionSearchCodexHomeSources中可以看到完整搜索来源的组装顺序const projectHomes await discoverProjectRuntimeCodexHomes(cwd); return normalizeExistingCodexHomeDirs([ codexHome(), // 用户级默认 Codex home 始终在列 ...projectHomes.map((home) ({ dir: home.path, publicLabel: home.source madmax-run ? home.publicLabel ?? madmax:runtime-codex-home : home.path, })), ]);也就是说omx session search现在默认会同时搜索用户级 Codex home 与当前项目关联的全部 runtime Codex homes报告中的sources字段会逐个列出每个 home 与其搜索到的文件数。--codex-home path与--codex-home-dirs则是显式指定搜索范围的逃生舱指定后将不再做自动发现。实战用法与参数说明omx session search的完整选项见 src/cli/session-search.ts 的 HELP 文本Usage: omx session search query [options] Options for search: --limit n Maximum results to return (default: 10) --session id Restrict to a specific session id or id fragment --since spec Restrict by recency (examples: 7d, 24h, 2026-03-10) --project scope Filter by project context: current | all | cwd-fragment --codex-home path Search only the supplied Codex home (escape hatch) --context n Snippet context characters (default: 80) --case-sensitive Match query using exact case --json Emit structured JSON -h, --help Show this help典型用法示例# 搜索当前项目所有 runtime home 中与 worker inbox path 相关的会话 omx session search worker inbox path # 只看最近 7 天的 all_workers_idle 相关记录最多 5 条 omx session search all_workers_idle --since 7d --limit 5 # 只搜索显式指定的 Codex home omx session search api key rotation --codex-home /path/to/codex-home参数语义要点源码 src/session-history/search.ts 可确认--limit默认 10上限 100--context默认 80上限 400越界值会被clampInteger收敛到默认值--since支持7d、24h、2026-03-10等相对时长或日期格式parseSinceSpec支持s/m/h/d/w单位--project current会把过滤条件归一为当前cwd--project all关闭项目过滤其他值作为cwd片段做包含匹配搜索遍历sessions目录下的rollout-*.jsonl会话转录文件对每条记录按session_meta、event_msg、response_item等类型抽取可搜索文本function_call的名称与参数、function_call_output的输出、message内容等并在命中处生成带上下文的片段。omx resume的增量发现omx resume的用法也在 src/cli/index.ts 中同步扩展Usage: omx resume [--project] [--codex-home path] [codex resume options]即恢复会话时同样会纳入项目级 runtime Codex homes--project与--codex-home path用于缩窄或显式指定查找范围。由于这一变化是增量式的既有 resume/搜索工作流无需改动即可获得更完整的发现结果。核心亮点二Setup 与 Hook 行为安全加固本次发布对 setup 与 hook 路径做了多处安全修复核心目标是“用户定制不被覆盖、清理不误删、状态兼容不炸”。保留用户定制的 Native Agent TOML#2820Setup 流程在插件模式下会把 native agent 角色安装为 setup 拥有的 Codex agent TOML 文件但此前存在覆盖用户定制的风险。src/cli/setup.ts 中通过preserveUserOmxPolicyBlocks、preserve-or-add等决策机制来区分“保留”与“刷新”当检测到developer_instructions等段落属于用户自定义或未知内容时决策动作被记录为preserve源码中可见reason: custom or unknown developer_instructions preserved等分支。升级后再跑 setup用户对 native agent TOML 的定制不会被静默冲掉。Hook JSON 状态兼容性修复#2843Hook 状态的 JSON 兼容性被加固主要涉及 hook 事务的幂等与回滚路径src/cli/setup.ts 中大量preserved ${path} for manual recovery分支表明当 hook 事务在暂存、验证或清理阶段失败时会保留现场文件供人工恢复而不是直接丢失状态。这与此前omx doctor暴露的 user-home hooks 迁移问题属于同一安全方向详见下文验证章节。清理时保留项目 Codex 转录#2836清理cleanup/uninstall路径现在会保留项目的 Codex 会话转录避免用户主动清理时误删有价值的历史会话数据。相关逻辑与projectLocalCodexHomeForCleanup、runtime/codex-home的归档处理在 src/cli/index.ts 中可以找到对应实现。抑制子代理生命周期通知#2831在 canonical session reconcile 之前子代理child-agent的生命周期通知被抑制避免在会话状态尚未收敛时就发出干扰性通知减少通知噪音与竞态。核心亮点三ralplan 与 Autopilot 共识新鲜度多智能体协作场景下“共识是否基于最新状态”直接影响决策质量。本次发布对此做了系统性加固#2816 Harden ralplan consensus freshness gates收紧 ralplan 共识的新鲜度门禁防止基于过期状态做决策#2817 Fix Autopilot ralplan consensus freshness修复 Autopilot 在 ralplan 交接时的共识新鲜度问题确保 handoff 校验使用的是新鲜数据#2821 Accept tracker-backed ralplan native reviewsralplan 现在接受由 tracker 背书的 native reviews扩宽了评审证据的来源#2829 Make deep-interview/RALPLAN Bash write detector target-aware把 deep-interview 与 RALPLAN 中的 Bash 写入检测改为目标感知target-aware即只对实际目标路径判定写入行为减少误报。从 src/ralplan/tests/runtime.test.ts 可以看到“byte-bound tracker-backed lifecycle closes the durable fence”这类测试用例验证 tracker 背书生命周期能正确关闭持久化栅栏durable fence与“仅在被完整背书后才算 completed”的语义一致。核心亮点四Sidecar 团队状态与 CI/发布基础设施#2824 Align sidecar team state root with Team runtimesidecar 的团队状态根目录与 Team runtime 对齐消除状态分裂#2845 Move CI workflows to GitHub-hosted runners将合适的 CI workflow 迁移到 GitHub 托管 runner提升 CI 稳定性#2826 Make dev-merge issue-close PR follow-up comments best-effortdev 合并时关闭 issue 的跟进评论改为尽力而为best-effort避免次要评论任务拖垮合并流程。核心亮点五geobench 可见性文档与 schema 修复本次发布还包含了 geobench用于评估 LLM 对开源项目可见性/引用的基准工具链的文档化工作新增 geobench 可见性规范visibility spec与精选配置curated profile修复 geobench enriched profile 与 romanization schema。仓库中的 geobench/oh-my-codex.yaml 即精选配置示例包含name、aliases含 “OmX”、“oh my codex” 等别名、romanizations、category、description、competitorsClaude Code、Aider、Cursor、OpenCode、Devin、Continue 等相邻工具、cited_domains、target_languages、target_audience以及enriched_profile含generated_at、profiler_model、value_proposition、target_audience的痛点与用例、置信度confidence、证据引语evidence_quotes。这套结构让 benchmark 配置可重复执行并支持“LLM 回答中是否提及并引用该项目”的可见性度量。依赖与兼容性更新#2833biomejs/biome从2.4.16升至2.5.0#2832types/node从25.9.2升至25.9.3。版本同步覆盖 root 与插件/Cargo 元数据rootpackage.json与package-lock.json升至0.18.13rootCargo.tomlworkspace 与Cargo.lock中的omx-api、omx-explore-harness、omx-mux、omx-runtime、omx-runtime-core、omx-sparkshell全部同步至0.18.13plugins/oh-my-codex/.codex-plugin/plugin.json同步至0.18.13node dist/scripts/check-version-sync.js --tag v0.18.13通过输出package0.18.13 workspace0.18.13 tagv0.18.13。发布验证与质量门禁0.18.13的验证证据完整记录在 docs/qa/release-readiness-0.18.13.md。发布准备门禁release-prep gates包括版本同步version sync forv0.18.13npm run build构建通过npm run verify:native-agents验证 22 个可安装 native agents 与 37 个 setup prompt assetsnpm run verify:plugin-bundle验证 29 个 canonical skill 目录与插件元数据node dist/scripts/generate-catalog-docs.js --checkcatalog docs 检查变更表面release/session/setup/hook/workflow的聚焦测试内置 CLI/包表面的 dogfoodnode dist/cli/omx.js --version、node dist/cli/omx.js session search --help、包元数据导入、npm run smoke:packed-install、omx doctornpm pack --dry-run产出oh-my-codex-0.18.13.tgz3065 个文件打包大小 3,978,807 字节解包 24,892,739 字节git diff --check完整编译 CI 等价门禁npm run test:ci:compiled复跑通过首跑曾出现一次与时间敏感的 process-tree 相关的偶发失败隔离复跑与干净全量复跑均通过。一个值得注意的细节dogfoodomx doctor时暴露了既有 user-home hooks 迁移问题发布团队将其判定为环境状态而非候选版本失败这与 #2843 的 Hook JSON 状态兼容性修复方向一致。发布后证据post-publish也已补齐dev CI、dev/main 推广 CI、tag 触发的 release workflow 全部通过GitHub releasev0.18.13以非 draft、非 prerelease 状态发布57 个 assets含native-release-manifest.jsonnpm registry 确认oh-my-codex0.18.13已发布带 provenance。发布范围与 issue 状态发布范围评审时开放 GitHub issues 为空存在 4 个开放 PR#2840、#2839、#2838 与 draft #2828均被界定为 fixes/docs/warnings/safety 后续跟进而非版本阻塞项。发布拓扑上有一个值得注意的 caveat发布就绪文档 中明确记录v0.18.12指向 main 推广提交29d03f49而dev与origin/main共享 merge-base06baf8f4因此对比范围使用origin/main...HEAD --cherry-pick并结合 release-scope review避免把 cherry-equivalent 的0.18.12prep 提交重复计入0.18.13的新功能。发布 tagv0.18.13最终指向daf7c7c21f602584294f9a04ef5155b5ccfb0e96。升级与使用建议0.18.13对既有用户是低风险升级CLI、插件、native-agent、HUD、state、hook、包布局与 runtime 契约均与0.18.12兼容。升级后最值得体验的变化是在项目目录内直接执行omx resume或omx session search query会发现结果覆盖了项目级 runtime Codex homes历史会话更容易找回需要精确查找时用--project current或--codex-home path收窄范围升级后重跑 setup确认自己的 native agent TOML 定制被保留#2820 的修复点关注 ralplan/autopilot 共识行为新鲜度门禁与 tracker 背书评审会让决策基于更新鲜的状态。如果遇到会话搜索环境泄漏或 hook 迁移告警可以参考本版本的验证日志思路见 docs/qa/release-readiness-0.18.13.md 中记录的focused-release-tests.log修复过程先行隔离环境变量再排查避免把环境状态误判为版本缺陷。【免费下载链接】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),仅供参考