OmX 0.21 中 $ralph 被移除后如何迁移到 $ultragoal
发布时间:2026/9/12 3:26:07 锦皓数字建站

OmX 0.21 中 $ralph 被移除后如何迁移到 $ultragoal【免费下载链接】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-codexOmX 0.21.02026-08-22 发布一次性移除了 25 个已废弃的 skill并让它们通过统一的 sunset-stub 解析器以硬错误形式快速失败$ralph是其中之一。如果你从 0.20.x 升级到 0.21 后继续输入$ralph 任务会话不会再执行原来的 loop-until-done 流程而是直接报错并给出替代名称。本文说明如何把原来依赖$ralph的工作流迁移到$ultragoal确认移除现象、替换调用方式、跑通一条 ultragoal 计划并验证状态。0.21 中 $ralph 的实际移除方式迁移前先确认你看到的确实是 0.21 的移除行为而不是配置问题。根据 sunset-stub 实现调用已移除 skill 时OmX 会输出一条包含 removed 和替代名称的固定错误信息。ralph对应条目为Skill $ralph has been removed. Use $ultragoal instead. The omx ralph CLI and ralph persistence runtime are unaffected.这条消息同时包含两条关键事实$ralph这个 prompt 令牌已被移除替代项是$ultragoalomx ralphCLI 和 ralph 持久化运行时不受影响。这与 workflow-retirement 契约一致退役一个 prompt 令牌不会退役同名的 CLI、磁盘上已存在的状态、HUD 投影或取消清理路径。也就是说你已有的.omx/state/{scope}/ralph-state.json等 ralph 状态文件仍是可读、可被omx ralphCLI 管理的兼容资产不需要为迁移而删除或改写。skills/ralph/SKILL.md 是一张 sunset 存根卡它给出的迁移说明只有一行Migration: replace$ralphwith$ultragoal.也就是说迁移动作本身没有中间步骤原来交给$ralph的任务文本现在作为 brief 交给$ultragoal。行为映射Ralph 的单目标循环对应 ultragoal 的什么在决定直接换令牌是否足够之前需要理解两者行为上的对应关系。skills/ralph/SKILL.md对这一点有明确定义Ralphs loop-until-done behavior is a degenerate single-goal ultragoal run.即 Ralph 的循环直到完成是 ultragoal 单目标运行的退化形态。$ultragoal覆盖 Ralph 提供的全部持久化承诺durable 的 Codex goal 交接、.omx/ultragoal目录下的 ledger 检查点、实现与测试、build/lint/typecheck 证据以及跨 story 的恢复能力。单目标的 ultragoal 运行复用同一套持久化和 verified-completion 保证所以单任务循环场景不需要任何特殊处理按下面的标准流程创建单 story 计划即可。迁移后的操作路径以下命令来自 docs/ultragoal.md 与 skills/ultragoal/SKILL.md。前置条件ultragoal 叠加在 Codex goal mode 之上Codex 侧以模型工具形式暴露get_goal/create_goal/update_goal文档以 Codex CLI 0.128.0 暴露goalsfeature 为基准shell 命令不直接改动 Codex 线程内的隐藏 goal 状态。1. 创建计划替代原来的 $ralph 启动原来的$ralph 任务改为$ultragoal并创建一个带 brief 的持久计划。brief 就是原来传给 Ralph 的任务描述omx ultragoal create-goals --brief Ship the feature in three safe milestones也可以用文件喂入适合较长的任务描述omx ultragoal create-goals --brief-file docs/my-brief.md cat docs/my-brief.md | omx ultragoal create-goals --from-stdin创建成功后计划落盘到.omx/ultragoal/下三个文件构成完整状态brief.md— 原始任务 briefgoals.json— 有序计划含状态、重试次数、证据和当前激活的 goal idledger.jsonl— 只追加的检查点与 steering 事件审计日志plan_created、goal_started、goal_completed等。默认新建计划使用aggregate Codex goal mode整个 ultragoal 运行对应一个 Codex 目标G001/G002 等只是 OMX 侧的 story 状态。只有明确想要每个 story 一个 Codex 线程时才加--codex-goal-mode per-story可选分支迁移场景默认不需要。2. 执行循环替代 Ralph 的 loop-until-doneRalph 的循环行为对应重复执行直到状态报告全部完成omx ultragoal complete-goalscomplete-goals会把下一个待处理 story 标记为in_progress追加 ledger 条目并打印一段 goal-tool 交接说明。之后按交接指引操作调用get_goal仅当线程没有激活目标时才用打印的 payload 调create_goal若 aggregate 目标已激活则继续下一个 story不重复创建。每完成一个中间 story用新鲜get_goal快照做 checkpoint快照中 objective 须与codexObjective一致且状态仍为activeomx ultragoal checkpoint --goal-id G001-example --status complete --evidence npm test passed; docs updated --codex-goal-json ./get-goal.json失败或受阻时记录证据稍后重试omx ultragoal checkpoint --goal-id G001-example --status failed --evidence blocked on missing credential omx ultragoal complete-goals --retry-failed失败目标会作为持久化的重试/阻塞证据保留在.omx/ultragoal中不会丢失。3. 验证完成状态判断标准与 Ralph 时代的循环结束不同ultragoal 要求可核对的状态omx ultragoal status或--json形式报告所有 goal 完成即计划执行完毕。执行循环的终止条件就是重复直到 status 报告全部 complete.omx/ultragoal/ledger.jsonl中应有对应 story 的goal_completed等事件作为审计依据最后一个 story 在普通模式下完成前还需要通过目标性验证实现完成证据 验证命令证据若启用--strict则必须通过更完整的 final gateai-slop-cleaner、cleaner 后复验、架构不变量审计、独立$code-review。普通模式下这些评审 lane 是 advisory 的。注意omx status的口径持久的 failed ultragoal 计划报告为FAILED而不是ACTIVEomx cancel只取消活跃的 mode-state 条目。另外不要仅凭测试通过或ledger 有记录就认定 goal 完成——文档明确要求 agent 必须对照文件、命令、测试、PR 状态等具体证据审计 objective。升级时的两个兼容性边界0.20.x 遗留状态。如果你是从 0.20.x 升级上来的0.21.0 release notes 的升级说明指出被移除 skill 的调用现在会以包含替代名称的硬错误失败旧的 0.20.x 状态投影应通过omx doctor --repair-state退役归档到.omx/archive/。这与 ralph 状态文件本身无关——ralph-state.json属于 ralph 运行时兼容资产不受该清理影响但同目录下的陈旧 0.20 状态投影属于要清理的对象。同一 Codex 线程内连续运行。ultragoal 有意不替你调用 Codex 的/goal clearshell 与 hook 无法清除隐藏的线程 goal 状态。完成一次 ultragoal 运行后如果要在同一线程里再开一次运行需要先在 Codex UI 中手动/goal clear否则get_goal可能仍报告上一个已完成的 aggregate 目标导致下一次create_goal被阻塞或行为混乱。这条对迁移用户尤其重要如果你升级前有 Ralph 会话遗留的线程目标按 docs/ultragoal.md 的 blocked 处理路径用omx ultragoal checkpoint --goal-id id --status blocked --evidence ... --codex-goal-json get-goal-json记录非终态阻塞再从一个没有冲突目标的 Codex goal 上下文中继续。迁移检查清单输入$ralph ...后看到 has been removed. Use $ultragoal instead 硬错误——确认处于 0.21 移除行为而非旧版残留。把原任务描述作为 brief 执行omx ultragoal create-goals --brief 任务确认.omx/ultragoal/下生成brief.md、goals.json、ledger.jsonl。用omx ultragoal complete-goals推进按交接说明处理get_goal/create_goal逐 story checkpoint。omx ultragoal status报告全部 goal 完成、ledger 中有对应事件——迁移后的流程即完整替代了原$ralph的循环直到完成。同一线程再次运行前手动/goal clear。如果现有流程里还引用了其他 0.21 移除的令牌如$ultrawork/$swarm→$team、$review/$security-review→$code-review、$help→$omx-setup错误信息里同样会直接给出替代名称可按同一模式处理。完整的令牌生命周期策略见 workflow-retirement 文档ultragoal 的动态 steeringomx ultragoal steer等进阶能力见 docs/ultragoal.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),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。