恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
oh-my-codex v0.8.4 发布解析:omx setup 默认刷新、安全备份与模型升级确认机制
首页
资讯中心
/
oh-my-codex v0.8.4 发布解析:omx setup 默认刷新、安全备份与模型升级确认机制
oh-my-codex v0.8.4 发布解析:omx setup 默认刷新、安全备份与模型升级确认机制
发布时间:2026/9/10 2:00:02
oh-my-codex v0.8.4 发布解析omx setup 默认刷新、安全备份与模型升级确认机制【免费下载链接】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本篇技术指南围绕 oh-my-codex v0.8.4发布于 2026-03-06这一 setup-flow 补丁版本展开核心讲解omx setup在可重复执行、可安全回滚与可控升级三个维度的行为变化受管 OMX 工件默认刷新、覆盖前自动备份、以及从gpt-5.3-codex升级模型前的交互确认。读完本文你将掌握该版本 setup 刷新机制的完整语义、备份目录的落盘位置与命名规则、模型升级提示的触发条件与交互流程以及对应的回归测试与发布验证门禁。版本定位一次聚焦 setup 可重入性的补丁发布v0.8.4 的定位非常明确——setup-flow patch release全部变更围绕omx setup命令的刷新refresh行为展开目标是让重复执行omx setup更安全、更可预测、更易重跑。发布说明中给出了四项核心变更与两项伴随性加固omx setup默认刷新受管的 OMX 工件不再遗留过期的生成内容受管刷新路径在覆盖文件前尽可能保留备份setup 在把受管 Codex 模型引用从gpt-5.3-codex升级到gpt-5.5之前会主动询问用户为 setup 与配置生成路径补充了更深的刷新/幂等性回归测试覆盖。伴随性加固包括流式回退测试中 watcher 关闭清理的稳定性修复以及严格 no-unused 门禁npm run check:no-unused暴露出来的死代码清理。本次发布由两个提交构成fed035b— feat(setup): refresh managed OMX artifacts by default with backups6aa577d— feat(setup): prompt before upgrading gpt-5.3-codex to gpt-5.5变更一受管 OMX 工件默认刷新在 0.8.4 之前setup 安装的 prompts、skills、native agents、AGENTS.md 等受管工件更接近一次性投放one-time drops。v0.8.4 改变了这一语义setup 将这些受管工件视为可刷新的输出refreshable outputs重复运行omx setup会一致地更新已交付的工件使既有安装与当前模板和生成资产保持对齐。这一改动带来三个直接收益减少升级后的过期生成文件模板或生成器升级后旧的受管文件不再残留让重复运行 setup 更安全、更有用修复配置、补齐缺失文件等场景不再需要依赖--force等旁路手段改善全新安装与刷新安装之间的一致性无论是首次安装还是事后刷新落盘产物一致。从源码结构看这一语义体现在 setup.ts 的SetupCategorySummary计数体系中每次运行都会按prompts、skills、nativeAgents、agentsMd、config五个类别分别统计updated更新、unchanged未变化、backedUp已备份、skipped跳过、removed移除五类结果并在运行末尾输出汇总日志例如backed_up...、skipped...、removed...。这种分类统计 幂等合并的设计正是为了支撑可重复执行同一次 setup 只写必要变更其余保持 unchanged。在非交互运行场景omx setup同样会刷新受管模型表等生成内容无需--force——这一点由 setup-agents-overwrite.test.ts 中的用例refreshes the managed model table in non-interactive runs without requiring --force直接验证。变更二刷新路径覆盖前保留备份当 setup 替换受管工件时v0.8.4 引入了更强的备份行为按适用场景分为两类1. 时间戳隔离备份.omx/backups/setup/timestamp对于 config、hooks、skills、prompts、native agents 等常规受管文件备份写入独立的备份根目录。由 setup.ts 的getBackupContext实现按 scope 决定落盘位置user scope~/.omx/backups/setup/timestamp基目录为 homeproject scopeprojectRoot/.omx/backups/setup/timestamp基目录为项目根其中timestamp由new Date().toISOString()中的冒号替换为连字符生成保证每次刷新产生独立的备份快照目录。备份实现ensureBackup、ensureSnapshotBackup会先mkdir递归创建目标目录再用copyFile复制原文件并输出backup 源路径 - 备份路径的日志ensureSnapshotBackup还额外做了写入后的 lstat/内容回读校验拒绝符号链接与非单链接文件并拒绝将备份写出受控备份根目录之外防止路径穿越。2. 确定性兄弟备份.AGENTS.md.bkup递增命名对于 AGENTS.md 这类需要就地保留上下文的文件使用确定性命名moveExistingAgentsToDeterministicBackup会把现有文件移动为同目录下的.AGENTS.md.bkup若该名称已存在则依次递增为.bkup1、.bkup2……测试 setup-agents-overwrite.test.ts 专门验证了这一递增行为预先放置.bkup与.bkup1后新备份落到.bkup2且内容与原文件一致。备份行为带来的核心价值降低刷新既有本地 OMX 受管文件时的风险提供清晰的恢复路径用户可随时检查上一状态时间戳目录或就地找回被替换的 AGENTS.md.AGENTS.md.bkup让 setup 自动化不再具有破坏性。变更三模型升级前的交互确认当受管配置刷新需要把 Codex 根模型引用从gpt-5.3-codex升级到gpt-5.5时v0.8.4 要求 setup 先询问用户。该机制在 setup.ts 中的实现链如下LEGACY_SETUP_MODELS new Set([gpt-5.3-codex, gpt-5.5])L415标记需要确认迁移的历史模型集合DEFAULT_SETUP_MODEL指向当前默认前沿模型在src/config/models.ts中由DEFAULT_FRONTIER_MODEL定义。planManagedConfigL6304 起先用getRootModelName(existingConfig)读取现有config.toml的根model字段若命中LEGACY_SETUP_MODELS则进入确认分支。确认策略分两种若调用方注入了modelUpgradePrompt回调SetupOptions中的可注入钩子便于测试与集成则调用该回调否则在 TTY 环境下降级为promptForModelUpgrade交互提问。若 stdin/stdout 均非 TTY非交互运行则不询问、不升级保持现有模型引用不变。交互提示由promptForModelUpgradeL2700-L2723实现实际提问为Detected model gpt-5.3-codex. Update to gpt-5.5? [Y/n]:空回车或输入y/yes表示同意升级此时planManagedConfig会把modelOverride设为DEFAULT_SETUP_MODEL最终由buildMergedConfig写入合并后的config.toml。这一设计解决的三个实际问题避免常规刷新中发生意外的模型升级刷新与升级两个动作被解耦保留用户对 setup 修改既有配置的信任重大变更换模型必须显式授权让受管默认值保持现代——用户拒绝时保留旧模型同意时则顺滑迁移不强制静默改写。值得说明的是随着项目演进当前仓库中src/config/models.ts的DEFAULT_FRONTIER_MODEL已演进为gpt-5.6-sol但历史模型命中即确认的机制本身仍然保留模型集合与目标值均为可配置常量读者可按当前安装版本的实际情况代入。变更四刷新与幂等性回归测试扩展v0.8.4 围绕以下区域扩展/新增了测试与验证加固setup 刷新行为如refreshes the managed model table in non-interactive runs without requiring --force、keeps --merge-agents idempotent for already generated AGENTS.md and refreshes stale model rows限定范围scoped的覆盖处理如refreshes only the explicit OMX-owned model block inside a user-authored AGENTS.md确保只动 OMX 自有的模型块、不污染用户编写内容setup 受管刷新期间的卸载uninstall兼容性刷新与卸载路径共用文件时行为一致配置生成器的幂等性与 notify 感知的生成流重复生成结果字节级稳定且感知 notify 配置的合并流式回退测试中的 watcher 关闭/清理同步针对发布门禁阶段发现的 watcher shutdown 竞态补充了定向回归。这些用例集中在 src/cli/tests/setup-agents-overwrite.test.ts同时 setup 内部还提供了面向故障注入的测试接缝如setNativeHookTransactionFailureInjectorForTest、setSetupLatePhaseFailureInjectorForTest用于确定性地验证原子写入、回滚与备份路径在失败注入下的行为。发布验证与质量门禁v0.8.4 的发布验证证据记录在 docs/qa/release-readiness-0.8.4.md验证结论为GO。计划的发布门禁与实测结果如下检查项命令结果构建npm run buildPASS全量测试npm testPASS1940 通过 / 0 失败duration_ms 206426.374278no-unused 类型门禁npm run check:no-unusedPASSCLI help 冒烟node bin/omx.js --helpPASS版本冒烟node bin/omx.js versionPASSoh-my-codex v0.8.4Doctor 冒烟node bin/omx.js doctorPASS9 passed, 0 warnings, 0 failedSetup 干跑冒烟node bin/omx.js setup --dry-runPASSwatcher 定向回归node --test dist/hooks/__tests__/notify-fallback-watcher.test.jsPASS6 通过 / 0 失败其中setup --dry-run是验证 setup 行为且不改动文件系统的关键手段SetupOptions中的dryRun标志让整个计划/备份/写入流程只计算不落盘适合在真实机器上安全预览刷新将产生的变更。风险说明这是聚焦omx setup刷新行为与受管模型升级提示的补丁发布主要回归面是重复运行与限定范围安装场景下的 setup/config 刷新行为。发布门禁阶段还暴露并修复了两个附加质量问题——某个流式测试中的 watcher 关闭清理竞态以及被严格 no-unused 检查捕获的未使用 setup 提示路径——修复后全部门禁重跑通过。实操要点速览升级后重跑omx setup以刷新受管工件无需--force即可获得最新模板与生成资产刷新前会自动备份备份位置常规受管文件在~/.omx/backups/setup/timestampuser scope或projectRoot/.omx/backups/setup/timestampproject scope被替换的 AGENTS.md 在同目录.AGENTS.md.bkup依次递增.bkup1、.bkup2……模型升级会先询问检测到历史模型gpt-5.3-codex等且处于 TTY 环境时回答Y确认升级、n保留旧模型非交互环境不升级预检刷新影响面使用omx setup --dry-run预览将要发生的变更不产生任何写入遇到异常时先检查对应 scope 的备份目录恢复旧文件若确认是回归请附上复现步骤、日志与 CLI/runtime 信息提交 issue。总结v0.8.4 是 oh-my-codex 在setup 可重入性上的一次扎实补丁默认刷新消除了过期生成内容的残留覆盖前备份提供了明确的恢复路径模型升级确认机制在保持受管默认现代与不静默改写用户配置之间取得了平衡而 1940 项全量测试与覆盖刷新/幂等性/失败注入的定向回归则保证了这些行为变更的安全性。对于任何以自动化方式反复运行omx setup的安装与升级场景这四项变更共同构成了可预测、可回滚、可审计的刷新模型。【免费下载链接】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),仅供参考