OmX 0.15.0 版本解析插件化交付、Visual Ralph 与显式启动策略的全面落地【免费下载链接】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-codex0.15.0 是 OmXOh My codeX在dev发布线路上的一次小版本minor release准备核心目标是让 OmX 在 Codex CLI、Codex App、插件、原生 agent、tmux 与 Rust 支撑的执行表面上更容易安装、发布与运维。本文以 docs/release-notes-0.15.0.md 为主线结合仓库源码与 docs/qa/release-readiness-0.15.0.md 的验证证据逐项拆解本次版本的第一方插件打包、显式启动策略、Visual Ralph 技能、setup 安装模式选择、原生 agent/模型路由与运行期加固读者可据此了解 0.15.0 的变更边界、操作方式与底层实现。版本背景与基线说明0.15.0是当前dev发布线路上的一次 minor release 准备覆盖范围包括第一方插件交付first-party plugin delivery、Codex App 兼容、Visual Ralph、setup 安装模式选择、原生 agent/模型路由、hook/runtime 加固、Windows/tmux 问题可靠性、CI 挂起保护、Rust 兼容性以及发布就绪配套产物。值得注意的是基线range选择v0.14.4虽然存在但它位于当前dev祖先线之外不是该候选版本可达的有效比较基线。因此版本对比与就绪证据以v0.14.3作为已验证的可达基线0.14.4的 release notes/readiness 文件仅作为历史配套产物保留。这一结论在 docs/qa/release-readiness-0.15.0.md 中通过git merge-base --is-ancestor v0.14.4 HEAD返回退出码1得到验证。核心亮点总览0.15.0 的主要变更点可以归纳为以下七个方面第一方 Codex 插件打包成为发布面的一部分包括plugins/oh-my-codex目录、插件描述符、marketplace 元数据、包布局测试与镜像同步检查。Codex App 兼容路径消除仅依赖 tmux 的运行时假设并保留带插件前缀的 skill 路由。Visual Ralph 成为一等工作流技能具备路由、生成的文档与回归覆盖。Setup 支持插件 vs 遗留legacy安装模式清晰报告清理/备份保持 hooks/runtime 资源对齐且不覆盖本地选择。启动行为默认显式、可由操作者控制默认启动路径仍是 detached-tmux可用omx --direct或OMX_LAUNCH_POLICYdirect或tmux/detached-tmux强制指定启动模式。原生 agent 与模型路由契约在定义、生成模型表、setup 刷新路径与运行时指导中强制一致。Hook/runtime 加固覆盖 Stop-hook 可解析性、通知 fallback watcher、派生 watcher、陈旧 tmux socket、team worker 身份与 CI 静默保护。第一方插件交付plugins/oh-my-codex发布面0.15.0 首次将第一方 Codex 插件打包纳入发布面。仓库中的 plugins/oh-my-codex 目录即为交付载体其结构包含hooks/codex-native-hook.mjs与hooks/hooks.json插件作用域的 Codex hooks刻意镜像 setup 管理的生命周期见 src/scripts/sync-plugin-mirror.ts 附近注释。skills/与根目录skills/对应的 24 个可安装技能目录包括visual-ralph、team、ralplan、autoresearch、hud等。镜像同步逻辑由 src/scripts/sync-plugin-mirror.ts 实现它将根目录skills/下的 canonical skill 目录镜像到plugins/oh-my-codex/skills/mirrored skills/${skillName} - plugins/oh-my-codex/skills/${skillName}并同步插件元数据name、version、skills、mcpServers、apps、hooks字段。同时该脚本执行三类一致性检查canonical_skill_missingcatalog manifest 中声明的技能必须在skills/skillName/SKILL.md存在canonical_skill_catalog_out_of_sync插件技能目录中存在未列入 catalog 的技能或根目录存在不可安装的 skill 目录installableMissingFromSetupcatalog 中可安装的技能必须同时进入 plugin/setup 可安装技能集合。验证入口为npm run verify:plugin-bundle与npm run sync:plugin:check在就绪文档中均记录为 PASS且两者都验证了 29 个 canonical skill 目录与插件元数据。兼容性方面已有遗留技能安装无需用户迁移插件模式安装应使用随包附带的第一方插件在发布 owner 发布包/版本后本准备步骤不执行 release tag 或 npm 发布。显式启动策略--direct与OMX_LAUNCH_POLICY0.15.0 的一个关键行为变化是启动行为显式化且可由操作者控制。默认启动路径仍是 detached-tmux但用户现在可以通过命令行参数或环境变量强制指定启动模式# 直接启动不经 OMX tmux/HUD 管理 omx --direct # 等价的环境变量形式 OMX_LAUNCH_POLICYdirect omx # 强制使用 OMX 管理的 detached tmux 启动 OMX_LAUNCH_POLICYtmux omx # 或 OMX_LAUNCH_POLICYdetached-tmux omx # 恢复默认行为detached tmux 可用时使用否则 direct OMX_LAUNCH_POLICYauto omxCLI 帮助文本src/cli/index.ts给出了完整的取值语义取值含义auto默认策略支持 detached tmux 时使用否则 directdirect不经 OMX tmux/HUD 管理运行tmux强制 OMX 管理的 detached tmux 启动detached-tmux同上强制 OMX 管理的 detached tmux 启动优先级规则CLI 标志--direct/--tmux覆盖OMX_LAUNCH_POLICY--之前的最后一个标志生效。未设置或为空的OMX_LAUNCH_POLICY回到 auto/默认行为本版本刻意不使用配置文件承载启动策略。底层解析与决议逻辑从源码结构看启动策略的解析分为两层src/cli/index.tssplitLeaderLaunchPolicyArgs遍历 leader 启动参数将--direct映射为direct、--tmux映射为detached-tmux遇到--后进入透传模式不再解析保证后续参数原样传给 Codex。resolveEnvLaunchPolicyOverride读取OMX_LAUNCH_POLICY并归一化小写auto与空值返回未定义走默认direct、tmux、detached-tmux分别映射非法值会打印一次性警告并回退到 auto/default。resolveCodexLaunchPolicy综合显式策略、TMUX环境变量已处于 tmux 内则用inside-tmux、平台与 TTY 状态决议最终策略——显式direct直接生效detached-tmux在 tmux 可用时生效否则回退directWindows 原生环境直接directstdin/stdout 非 TTY 时也回退direct。在真实启动流程中src/cli/index.ts决议出的launchPolicy direct时会启用通知 fallback authorityenableNotifyFallbackAuthority即 direct 模式下通知兜底通道自动开启这是非 tmux 环境下保证通知可靠性的配套设计。对应行为有专门的测试覆盖见 src/cli/tests/launch-fallback.test.ts。Visual Ralph一等可视化前端工作流技能Visual Ralph 在 0.15.0 中成为一等工作流技能具备路由、生成文档与回归覆盖。其 SKILL 定义位于 skills/visual-ralph/SKILL.md插件镜像见 plugins/oh-my-codex/skills/visual-ralph/SKILL.md回归测试见 src/hooks/tests/visual-ralph-skill.test.ts。适用场景用户希望针对视觉目标构建或重排 web/App UI需要以实测方式measured implementation实现实时 URL 或生成的栅格 mockup并进行像素级迭代结果必须沉淀为仓库原生的可复用 tokens/组件而不只是一张匹配的截图。它不适用于需要持久DESIGN.mdbrief 的场景用$design、非视觉后端工作、可直接交给$ralph的纯对比修复以及确定性的 SVG/代码原生资产。工作流循环核心循环为description / URL - approved reference - $ralph implementation - Visual Ralph verdict pixel diff - reusable design system。具体分七步ground 仓库检查包管理器/脚本、前端框架与路由、样式/token 约定、截图工具与可复用组件。建立 reference实时 URL 需记录源 URL 与权限/范围、viewport、路由/状态、seed/登录假设、基线截图路径或捕获命令、可见控件一致性说明与排除项后端/API/auth、个性化数据、爬取、第三方 widget。生成概念图时使用$imagegen的ui-mockup分类在 OMX runtime 中先排队续接检查点omx imagegen continuation session-id --artifact slug-or-filename \ --generated-dir $CODEX_HOME/generated_images/session \ --work-dir .omx/artifacts/visual-ralph/slug批准的 reference 需复制到.omx/artifacts/visual-ralph/slug/reference.png不能只留在$CODEX_HOME/generated_images下。批准门禁生成或 URL 捕获后必须停下先批准一张 reference 图/状态或针对性的重生成/捕获调整批准前不得实现或调用$ralph批准后该图即为视觉事实来源重大 pivot 需用户明确请求。交接给$ralph传递批准的 reference/基线、URL 与权限说明、viewport/内容状态、交互一致性及排除项、用户描述、前端上下文、截图命令/viewport 与完成清单。每次编辑前先出 verdict每次迭代先捕获当前截图含 viewport/状态运行 Visual Ralph verdict必要时借助vision将其 JSON 视为权威。若score 90把differences[]与suggestions[]转成下一轮编辑计划并先重跑再编辑。verdict 必需键score、verdict、category_match、differences[]、suggestions[]、reasoning。次级 diff 证据pixel diff/pixelmatch 叠加图只用于定位热点并翻译成编辑永远不能替代 verdict最终 reference、截图与 diff 产物需归档以便审计。可复用设计系统把匹配结果编码进仓库已有的 CSS 变量、主题 token、配置、组件变体、stories 或DESIGN.md更新捕获颜色、间距、排版/字重、圆角、阴影/抬升与重要变体/状态扩展现有模式而非新增平行层。完成条件与停止条件不得宣布完成除非批准的 reference/基线与复现命令viewport、路由、状态、输出路径已保存最终 verdict 90次级 diff 证据已记录存在可复用 tokens/组件等价 build/lint/test 验证通过未发生未经批准的 pivot剩余差异已文档化。在批准门禁处停止或在证据无法满足条件时报告具体 blocker。交接模板handoff template在 skills/visual-ralph/SKILL.md 中给出了完整的$ralph提示词结构。Setup 安装模式plugin vs legacy0.15.0 让 setup 能保留 plugin-vs-legacy 安装模式、清晰报告清理/备份并保持 hooks/runtime 资产对齐且不覆盖本地选择。相关实现集中在 src/cli/setup.ts。模式选项与 CLI 入口CLI 帮助src/cli/index.ts暴露了三个入口omx setup --plugin # 使用 Codex 插件交付并移除遗留 OMX 管理的 user/project 组件 omx setup --legacy # 使用遗留交付覆盖持久化的插件模式 omx setup --install-mode legacy|plugin # 显式安装模式--legacy/--plugin 是别名DEFAULT_SETUP_INSTALL_MODE为legacysrc/cli/setup.ts而交互提示src/cli/setup.ts给出两个选项1) legacy默认——在解析出的用户 skill 根目录安装/更新 OMX skills2) plugin——依赖 Codex 插件发现并清理匹配的遗留 OMX 管理的 setup 产物。模式决议优先级从代码结构可推断显式 CLI 请求source: cli 持久化偏好source: persisted 交互提示source: prompt 默认值source: default持久化判断逻辑见 src/cli/setup.ts 附近的resolveInstallMode。plugin 模式下的行为差异原生 agent 角色以 setup 所有的 Codex agent TOML 文件安装在 plugin 模式下使agent_type路由可用见 src/cli/setup.ts 与Native agent role refresh complete ... plugin mode still installs role TOML so agent_type routing works。插件模式会检测遗留 skill 重叠legacy overlap notice提示用户确认后再归档/移除~/.agents/skills避免 Codex 同时发现两个根导致技能重复src/cli/setup.ts。清理动作移除遗留 skill 目录、遗留 prompt shim、遗留 OMX 管理的 prompt 文件都支持--dry-run预演与清晰的过程报告如Would archive and remove ...与Archived and removed ...。本地选择不被覆盖legacy 清理会跳过那些已安装的 SKILL.md 与 OMX 管理内容不一致、或目录内容不是未修改 OMX 安装回执的目录src/cli/setup.ts。遗留共享 MCP registry 默认被忽略需显式--mcp compat才同步src/cli/setup.ts。原生 agent 与模型路由契约0.15.0 在定义、生成模型表、setup 刷新路径与运行时指导中强制原生 agent 与模型路由契约。验证命令npm run verify:native-agents在就绪文档中记录为 PASS验证了 20 个可安装原生 agent 与 33 个 setup prompt 资产。兼容性说明明确现有模型覆盖model overrides保持语义不变生成的默认值继续在各自 lane 上优先使用gpt-5.5、gpt-5.4-mini与gpt-5.3-codex-spark。验证脚本 src/scripts/verify-native-agents.ts 会逐 agent 检查model_reasoning_effort等字段与model_class指导是否一致src/scripts/verify-native-agents.ts确保生成的模型表与 agent 定义之间无漂移。Hook/runtime 加固与平台可靠性0.15.0 的加固面覆盖多个执行表面Stop-hook 可解析性Stop 类 hook 的解析健壮性得到修复。通知 fallback watcher 与派生 watcherdirect 启动模式下通知兜底通道enableNotifyFallbackAuthority与派生 watcher 行为加固对应测试见 src/hooks/tests/notify-fallback-watcher.test.ts。陈旧 tmux socket会话管理中对陈旧 tmux socket 的处理加固。team worker 身份team worker 的身份标识与 tmux 会话隔离得到修复src/team/tests/tmux-session.test.ts 覆盖。CI 静默保护CI 长时间无输出的挂起保护。Windows/tmux question 处理Windows 下的 question 渲染与 tmux 问题处理有针对性测试src/question/tests/renderer.test.ts。Rust 1.73 兼容的 explore harnessRust 工具链兼容性修复。验证证据与发布就绪结论完整验证证据记录在 docs/qa/release-readiness-0.15.0.md。关键门禁摘要门禁命令结果TypeScript 构建npm run buildPASSLintnpm run lintPASS553 文件无修复No-unused typechecknpm run check:no-unusedPASS原生 agent 生成检查npm run verify:native-agentsPASS20 agents / 33 prompt assets插件 bundle / 镜像检查npm run verify:plugin-bundlePASS29 个 canonical skill 目录插件镜像同步检查npm run sync:plugin:checkPASS编译后 CI 测试npm run test:ci:compiledREVIEWED4082 个测试中 4075 通过剩余 7 个在聚焦修复后全部通过全套件的 tmux/会话隔离仍以远程 CI 为最终裁决Explore 测试npm run test:explorePASSRust 30/30编译后 48/48Explore harness 构建npm run build:explorecargo build -p omx-explore-harness --releasePASSSparkshell 测试npm run test:sparkshellPASS33 12 5Packed install smokenpm run smoke:packed-installPASSRust workspace 测试cargo test --workspacePASSomx-explore-harness、omx-mux、omx-runtime、omx-runtime-core、omx-sparkshell已知限制与跳过的检查外部 push、GitHub PR 创建、GitHub CI、release tag 创建、npm 发布与 GitHub release 发布均有意排除在本次 prep 范围之外手动跨 OS 检查尚未运行Windows/tmux 覆盖目前依赖自动化回归套件。就绪文档还记录了两个值得注意的修复npm pack --json可能包含 prepacksync-plugin-mirror日志行导致 packed-install smoke 解析失败已修复以及 macOS/private/var与/var路径别名、detached HUP 测试在负载下的等待加固、direct 启动时 tmux 缺失噪声抑制、生成根级oh-my-codex-0.15.0.tgztarball 移除等 Ralph 跟进项。最终结论Verdict本地 release prep 已解除阻塞但外部发布动作仍有意不执行——在 GitHub CI 变绿且维护者有意执行 tag/publish 流程之前不要对v0.15.0打 tag 或发布。升级与兼容性要点已有 legacy skill 安装无需用户迁移No user migration is required。插件模式安装应在发布 owner 发布包/版本后使用随包附带的第一方插件。现有模型覆盖语义不变生成默认值继续优先使用gpt-5.5、gpt-5.4-mini、gpt-5.3-codex-spark。本准备步骤不执行release tag 与 npm 发布。启动策略变更影响面脚本或 CI 中原本依赖默认 detached-tmux 启动的用户可通过OMX_LAUNCH_POLICY显式声明避免环境差异导致的行为漂移在 Windows 原生环境或非 TTY 场景下默认即 direct无需额外配置。综上0.15.0 是一次以易安装、易发布、易运维为目标的整合性小版本第一方插件交付把 skill 镜像与元数据同步纳入发布门禁显式启动策略让 tmux/direct 的选择从隐性环境依赖变成可声明的契约Visual Ralph 补齐了可视化前端工作的实测迭代闭环而 setup 安装模式与原生 agent/模型路由的强制校验则进一步收敛了多执行表面的行为一致性。【免费下载链接】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),仅供参考
