ARTICLE DETAIL

资讯详情

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

OmX 0.18.11 发布详解:omx explore 硬弃用、doctor 路由诊断与 tmux HUD 防呆加固

OmX 0.18.11 发布详解:omx explore 硬弃用、doctor 路由诊断与 tmux HUD 防呆加固 OmX 0.18.11 发布详解omx explore 硬弃用、doctor 路由诊断与 tmux HUD 防呆加固【免费下载链接】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导读OmXoh-my-codex0.18.11是紧随0.18.10之后发布的补丁版本核心目标是收尾三件事彻底退役omx explore命令面、为omx doctor增加 Spark/模型泳道lane路由诊断、以及加固启动阶段在窄小 tmux 窗口下的 HUD 行为。本指南将带你逐项拆解这些变更的动机、迁移路径与底层实现读完你能够理解omx explore硬弃用后该用什么替代方案、学会用omx doctor定位 Spark 配额不消耗的根因、掌握 HUD 在紧凑 tmux 窗口中的安全行为并了解版本同步与发布验证的全套流程。一、发布定位一次零破坏的清理列车0.18.11明确是一个patch release与0.18.10保持 npm/package 布局兼容同时保留既有 CLI、插件、生成 agent、HUD 与诊断契约。它不引入有意的破坏性变更只做三件事正式退役已被弃用的omx explore命令面收窄 HUD 在启动阶段的边缘行为增强 doctor 的诊断覆盖面。从 release-readiness-0.18.11.md 可以看到本次对比范围v0.18.10..06baf8f4共7 个提交其中 5 个对应合并 PR#2746、#2747、#2750、#2755、#2758另有 2 个直接提交到 dev 分支的文档变更0d7a3899澄清 Codex model-migration 切换说明6567fd3b回退一处误归属的模型切换指引净效果是无文档变化。兼容性要点本次发布的契约承诺是没有有意的破坏性变更但omx explore本身是有意为之的硬弃用——这属于既定路线上的收尾而非兼容性回归。二、omx explore硬弃用命令面正式退役2.1 什么是硬弃用在0.18.11之前omx explore已经处于弃用状态本版本将其升级为hard-deprecated直接命令面被移除任何非帮助形式的调用都会故意失败并提示迁移路径。在 src/cli/explore.ts 中可以读到确切的实现export const EXPLORE_DEPRECATION_MESSAGE [ omx explore is hard-deprecated and the direct command surface has been removed., Use normal Codex repository inspection tools/subagents for read-only repository lookups., Use omx sparkshell -- command only for explicit shell-native read-only evidence or --tmux-pane summaries., ].join( ); export async function exploreCommand(args: string[]): Promisevoid { if (shouldShowHelp(args)) { console.log(EXPLORE_HELP); return; } throw new Error(${EXPLORE_DEPRECATION_MESSAGE}\n\n${EXPLORE_HELP}); }行为边界非常清晰omx explore --help以及-h、help仍然可用输出帮助文案其余任何调用如omx explore --prompt ...、omx explore --prompt-file file直接抛出错误。2.2 迁移路径官方推荐的替代方案有两个层次普通只读仓库查询使用常规的 Codex 仓库检查工具/子代理normal Codex repository inspection tools/subagents适用于简单的只读查找需要 shell 原生只读证据使用omx sparkshell -- command或通过--tmux-pane输出摘要。注意omx explore的帮助文本EXPLORE_HELP中还保留了历史遗留形式供参考但明确标注Deprecated legacy forms (all fail intentionally)——即这些旧参数格式现在必然失败。2.3 全局 AGENTS 指引同步清理硬弃用不止停留在 CLI 层。PR #2750对应 issue #2749同步清理了全局 AGENTS 指引中的残留omx explore提及避免生成的 agent 文档继续指向已退役的通道——否则 agent 文档会给出失效命令。关联实现Windows 平台下 explore harness 的兼容逻辑getBuiltinExploreHarnessUnsupportedReason/assertBuiltinExploreHarnessSupported仍在 src/cli/explore.ts 中保留。其原因是内置 explore harness 的 allowlist 运行时依赖 POSIX sh/bash 包装器在 Windows 上不可用用户可设置OMX_EXPLORE_BIN指定兼容的自定义 harness或优先使用omx sparkshell做 shell 原生只读查询。2.4 doctor 中的 explore 路由诊断尽管命令面已退役doctor 仍保留Explore routing检查项见 src/cli/doctor.ts用于检测是否存在绕过弃用的兼容路由残留环境变量USE_OMX_EXPLORE_CMD被设置且非 0 → 提示deprecated compatibility routing enabled by environment override建议移除该变量或置 0config.toml的[shell_environment_policy.set]中存在USE_OMX_EXPLORE_CMD 0→ 显示deprecated compatibility routing disabled in config.toml (recommended)这是推荐状态若 doctor 无法读取 config.toml则报告对应检查失败。同时src/cli/doctor.ts 中还有一条明确的跳过说明omx explore is hard-deprecated and explore routing is disabled by default; use omx sparkshell for shell-native read-only evidence。三、omx doctor新增 Spark/模型泳道路由诊断3.1 背景为什么需要这个诊断Sparkgpt-5.6-luna泳道配额已接线却未消耗是常见疑难问题模型解析逻辑明明已就位但实际请求没有走到 Spark 泳道导致原生 Spark 配额始终闲置。PR #2758issue #2757为omx doctor增加了Spark routing检查把有效泳道状态显式呈现出来。3.2 检查逻辑逐层拆解核心实现是 src/cli/doctor.ts 中的checkSparkRouting(paths)它按以下顺序构建结论第一步解析三泳道模型与来源const sparkModel getSparkDefaultModel(codexHomeOverride); const frontierModel getMainDefaultModel(codexHomeOverride); const standardModel getStandardDefaultModel(codexHomeOverride); const sparkSource resolveSparkModelSource(codexHomeOverride);最终输出形如lanes: frontier\..., standard..., spark... (source: ...) 的泳道摘要。Spark 模型的来源优先级resolveSparkModelSourcesrc/cli/doctor.ts为优先级来源说明1OMX_DEFAULT_SPARK_MODEL_ENV环境变量最高优先级的显式覆盖2遗留OMX_SPARK_MODEL_ENV环境变量兼容旧配置3.omx-config.json环境配置通过getEnvConfiguredSparkDefaultModel读取4.omx-config.json的models.team_low_complexity团队低复杂度模型配置5内置默认值兜底第二步枚举可安装的 Spark 泳道 agentfunction getInstallableSparkLaneAgentNames(): string[] { // 读取 catalog manifest筛选 modelClass fast 且可安装的原生 agent }若集合为空直接返回 warn没有可安装的 Spark-eligiblefast原生 agent原生子代理不会消耗 Spark 配额。第三步逐 agent 体检对每个 Spark 泳道 agent读取安装目录下的{agentName}.tomlreadInstalledAgentModelInfo按以下顺序发现问题toml 缺失→run omx setup --forcetoml 无 model 字段→ 疑似旧安装stale install同样建议omx setup --force显式agentModels.{agentName}覆盖存在但 toml 模型不一致→ 提示stale installtoml 模型与解析出的 Spark 默认模型不一致→ 提示 stale installtoml 的model_provider与配置根 provider 不一致→ 提示 stale installtoml 的model_provider非默认非openai→ 关键提示native Codex Spark quota only moves when Spark is served by the default provider——这是配额不动的典型根因。全部通过则返回 pass并列出已正确接线的 agentwired: ...同时给出补充排查方向如果配额仍未被消耗可能是 leader 未将只读查询委派到 Spark 泳道或 Codex 用量视图存在延迟。3.3 配套测试src/cli/__tests__/doctor-spark-routing.test.ts覆盖了该检查的核心场景模型不一致、provider 偏差、缺失 toml 等src/cli/__tests__/doctor-explore-deprecated.test.ts与doctor-warning-copy.test.ts则守护弃用相关文案与诊断输出。实操提示升级到 0.18.11 后运行node dist/cli/omx.js doctor即可看到Spark routing与Explore routing两个新增/强化的检查项。0.18.11 发布验证中 doctor 输出为13 passed、4 条环境相关警告、0 failed。四、启动期 HUD窄小 tmux 窗口不再硬切分4.1 问题场景在 tmux 窗口高度不足时启动期 HUD 若强行执行split-window会切出一个只有两行高、无法阅读的窗格反而破坏用户体验。PR #2755issue #2754在启动路径中加入高度守卫当现有 tmux 窗口过于窄小时跳过 HUD 切分。4.2 实现细节守卫阈值为常量HUD_TMUX_MIN_LAUNCH_WINDOW_HEIGHT_LINES 45定义于 src/hud/constants.ts同时该文件提供默认的minWindowHeight参数。核心判定逻辑位于 src/hud/reconcile.ts// When there is no existing HUD pane to keep/recreate, this reconcile would // create a fresh HUD split. Mirror the launch-time guard: if the current tmux // window is too short, skip the split so the first prompt submit cannot // recreate the cramped, unreadable 2-line HUD the launch path already // declined to add. (closes #2754) if (hudPaneIds.length 0 (deps.readCurrentWindowSize || !deps.listCurrentWindowPanes)) { const readWindowSize deps.readCurrentWindowSize ?? ((paneId) readCurrentWindowSize(undefined, paneId)); const windowHeight readWindowSize(currentPaneId).height; if (isTmuxWindowTooCrampedForHudSplit(windowHeight)) { return { status: skipped_window_too_cramped, ... }; } }值得注意的两点设计守卫同时覆盖启动路径与 prompt 提交时的 reconcile 路径如果启动时因窗口过矮而拒绝创建 HUD那么首次 prompt 提交触发 reconcile 时也不能悄悄重建这个不可读的 2 行 HUD——两边镜像同一守卫只拦截新建若已有 HUD 窗格存在即使窗口变得窄小也不会被删除守卫仅阻止新的创建。对应的窗口尺寸读取函数为 src/hud/tmux.ts 的readCurrentWindowSize生产环境默认读取实际 tmux 窗口尺寸测试通过注入的readCurrentWindowSize模拟窄窗口。4.3 测试覆盖src/hud/tests/reconcile.test.ts 中新增的cramped-window guard (#2754)用例组验证窗口高度为HUD_TMUX_MIN_LAUNCH_WINDOW_HEIGHT_LINES - 1时不创建 HUD 切分返回skipped_window_too_cramped高度恰好等于阈值时正常创建roomy 边界通过 mock tmux 二进制验证未发生 split-window已有 HUD 窗格时即使窗口窄小也保留现状。五、Catalog 注册 wiki 技能清单条目PR #2747 将wiki 技能的 manifest 条目注册进 catalog使其可以通过标准 manifest 面被发现。相关证据src/catalog/manifest.json 中name: wiki条目生成的公开目录 src/catalog/generated/public-catalog.json 同步包含该条目src/catalog/installable.ts 将wiki列入SETUP_ONLY_INSTALLABLE_SKILLS仅随 setup 安装的技能src/catalog/tests/schema.test.ts 断言wiki是active状态的utility类技能。这意味着 wiki 技能现在与其他技能一样可通过统一的 catalog 清单机制被发现、校验与安装不再游离于清单体系之外。六、版本同步与发布验证全流程0.18.11的发布验证记录了完整的 gate 清单可复用于任何后续版本的发布流程6.1 版本同步范围根 package.json 与package-lock.json升至0.18.11Cargo workspaceomx-api、omx-explore-harness、omx-mux、omx-runtime、omx-runtime-core、omx-sparkshell同步升至0.18.11plugins/oh-my-codex/.codex-plugin/plugin.json 同步至0.18.11。校验命令node dist/scripts/check-version-sync.js --tag v0.18.11 # PASS: package0.18.11 workspace0.18.11 tagv0.18.116.2 本地验证证据全部 PASS步骤命令结果依赖安装npm ciPASS构建npm run buildPASS版本同步node dist/scripts/check-version-sync.js --tag v0.18.11PASSCLI 冒烟node dist/cli/omx.js --helpPASS诊断冒烟node dist/cli/omx.js doctor13 passed / 4 环境警告 / 0 failed打包预检npm pack --dry-runoh-my-codex-0.18.11.tgz包体 3.9 MB解包 24.2 MB3049 个文件打包安装冒烟npm run smoke:packed-installPASS差异检查git diff --checkPASS发布正文生成node dist/scripts/generate-release-body.js ...保留完整 PR 清单、Contributors 与 Full Changelog 行6.3 远程发布门发布后完成dev分支 CI、main 提升 CI、tag 触发的 release workflow、GitHub release 证明与 npm 发布证明。验证证据全文见 release-readiness-0.18.11.md。七、合并 PR 清单与变更一览PR类型变更内容#2746feat(explore)硬弃用omx explore命令面关联 #2744、#2745#2747chore(catalog)添加 wiki 技能 manifest 条目#2750fix(agents)从全局 AGENTS 指引移除残留的omx explore提及#2749#2755fix(hud)窄小现有 tmux 窗口中跳过启动期 HUD 切分#2754#2758fix(doctor)新增 Spark/模型泳道路由诊断#2757发布区间内无遗留的未解决 issue关闭的 issue 均由上表 PR 覆盖。完整变更对比见v0.18.10...v0.18.11。八、升级建议与注意事项还在用omx explore的脚本/Agent 需立即迁移任何非--help调用都会抛错。迁移到常规 Codex 仓库检查工具或omx sparkshell -- command。检查环境残留运行omx doctor若看到 Explore routing 检查警告移除USE_OMX_EXPLORE_CMD环境变量或在config.toml的[shell_environment_policy.set]中显式设置USE_OMX_EXPLORE_CMD 0。Spark 配额不消耗时优先看Spark routing检查重点确认{agentName}.toml的model与model_provider是否与解析出的 Spark 默认一致若 provider 非默认非openai配额不会流转。修复手段通常是omx setup --force重建安装。tmux 用户窗口高度低于 45 行时启动期与首次 prompt 提交都不会再强行切分 HUD 窗格这是预期行为而非故障。升级路径npm/package 布局与0.18.10兼容可直接升级升级后用omx doctor与omx --help快速自检。【免费下载链接】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),仅供参考
返回列表