oh-my-opencode(简称OMO)Slash 命令速查一页纸

这是一份面向日常使用OMO的 Slash 命令总览:先用表格快速选命令,再看每个命令的详细说明与背后机制。

先理解:为什么要有 Slash Commands?

Slash Commands 不是“快捷别名”,而是把常见工作流打包成可重复执行的协议。

知其然:你输入一个命令,系统按预设模板执行任务。

知其所以然:每个命令都在约束 agent 的行为边界(目标、步骤、停止条件、恢复方式),减少“发挥不稳定”。

何时优先用命令:你想要确定性流程(例如持续续跑、按计划执行、结构化重构),而不是一次性自由发挥。

一图看懂:我该用哪个命令?

Slash Commands(会话内)

命令

主要作用

什么时候用

/init-deep

初始化分层 AGENTS.md 知识库

新项目接入、上下文分散、希望给 agent 建立目录级规则时

/ralph-loop

启动持续续跑循环直到完成

任务必须“做完才停”,你要强制连续推进时

/ulw-loop

Ralph Loop + ultrawork 模式

同样要续跑,但希望更激进探索/并行执行时

/cancel-ralph

取消当前 Ralph/ULW Loop

当前 loop 方向不对、任务要中止或改策略时

/refactor

智能重构(LSP + AST + 验证)

跨文件重构、需要结构化重命名和安全验证时

/start-work

从计划进入执行阶段(Atlas)

已有 Prometheus 计划,要按计划稳定落地时

/stop-continuation

停止所有续跑机制

需要立即停止 loop / todo continuation / boulder 续跑时

/handoff

生成可交接上下文

换 session、换人接力、准备下一轮执行前

选择决策(30 秒版)

你已经有 plan 吗?

有:/start-work

没有:看 2

你要“必须做完才停”吗?

是:/ralph-loop 或 /ulw-loop

否:看 3

你要做的是结构化重构吗?

是:/refactor

否:看 4

你要沉淀项目分层规则吗?

是:/init-deep

否:看 5

你在收尾或切会话吗?

停自动续跑:/stop-continuation

做交接摘要:/handoff

取消当前 loop:/cancel-ralph

Slash Commands 详细说明

/init-deep

Who(谁来用):项目维护者、需要长期稳定上下文的协作者。

When(何时用):新项目接入、规则分散、希望沉淀目录级约束时。

What(输入是什么):[--create-new] [--max-depth=N];--create-new 先读后重建,--max-depth 控制层级深度。示例:/init-deep --create-new --max-depth=2。

How(执行方式):先并行探索项目结构,再决定哪些目录需要生成 AGENTS.md,不是全量盲铺。

Output(成功输出):目标目录生成或更新分层 AGENTS.md。

Done(完成判定):目标层级存在对应 AGENTS.md,内容与当前目录职责一致。

Failure & Recovery(失败与恢复):结果过噪时调小 --max-depth 重跑;误覆盖时从 Git 历史恢复。

Impact & Boundary(副作用与边界):会改写知识库文件;它是“规则初始化”,不是执行任务命令。

/ralph-loop

Who(谁来用):需要“任务必须做完才停”的执行者。

When(何时用):长任务、易中断任务、要求自动续跑时。

What(输入是什么):"task" [--completion-promise=TEXT] [--max-iterations=N]。示例:/ralph-loop "Implement JWT auth with refresh token rotation" --completion-promise=AUTH_DONE --max-iterations=50。

How(执行方式):session idle 且未命中完成 promise 时,系统注入 continuation prompt 自动推进。

Output(成功输出):任务进入持续续跑状态并按迭代推进。

Done(完成判定):检测到 TEXT 且 TEXT 命中 --completion-promise。

Failure & Recovery(失败与恢复):方向偏离用 /cancel-ralph 停止后重启;次数耗尽则调大 --max-iterations 重启。

Impact & Boundary(副作用与边界):只管理 Ralph/ULW loop,不是全局停续跑命令。

Config(默认配置):ralph_loop.default_max_iterations = 100(可在配置中修改默认迭代上限)。

/ulw-loop

Who(谁来用):复杂任务下需要更高强度推进的人。

When(何时用):你既要续跑,又希望更激进探索和并行执行时。

What(输入是什么):与 /ralph-loop 相同:"task" [--completion-promise=TEXT] [--max-iterations=N]。示例:/ulw-loop "Refactor payment module and remove duplicated validation" --max-iterations=80。

How(执行方式):沿用 Ralph loop 核心机制,并附加 ultrawork 风格提示。

Output(成功输出):任务进入带 ultrawork 风格的自动续跑状态。

Done(完成判定):与 /ralph-loop 一致,以 promise 命中为完成。

Failure & Recovery(失败与恢复):偏航时先 /cancel-ralph,再改为更具体任务描述或切回 /ralph-loop。

Impact & Boundary(副作用与边界):机制与 Ralph 相同,差异主要在执行风格,不是另一套状态机。

/cancel-ralph

Who(谁来用):当前 loop 的操作者。

When(何时用):目标变化、策略切换、需要人工接管时。

What(输入是什么):无参数。示例:/cancel-ralph。

How(执行方式):清除当前 Ralph/ULW loop 状态。

Output(成功输出):Ralph/ULW 自动续跑停止。

Done(完成判定):session 不再触发 Ralph/ULW continuation。

Failure & Recovery(失败与恢复):若仍自动推进,检查是否由其他续跑机制触发,再用 /stop-continuation 全停。

Impact & Boundary(副作用与边界):只影响 Ralph/ULW;不影响 todo continuation 和 boulder。

/refactor

Who(谁来用):进行结构化重构的开发者(非一两行小改)。

When(何时用):模块拆分、批量重命名、跨文件逻辑整理时。

What(输入是什么): [--scope=] [--strategy=]。示例:/refactor "extract validation logic into shared module" --scope=module --strategy=safe。

How(执行方式):按分析 → 规划 → 执行 → 验证分阶段推进,结合 LSP/AST 能力控制风险。

Output(成功输出):目标范围内完成结构化改动并同步必要验证。

Done(完成判定):目标重构达成,引用与语义检查通过。

Failure & Recovery(失败与恢复):风险过高时降级为 --strategy=safe;改动面过大时收缩到 --scope=file 或 module 重跑。

Impact & Boundary(副作用与边界):可能跨文件修改;不适合作为普通小修快捷命令。

/start-work

Who(谁来用):已有可执行计划、准备落地的人。

When(何时用):完成规划后,需要进入稳定执行阶段时。

What(输入是什么):[plan-name](可选)。示例:/start-work user-service-repo-pattern。

How(执行方式):读取 .sisyphus/plans/ 与 boulder 状态,绑定计划后进入执行。

Output(成功输出):任务按计划进入执行轨道。

Done(完成判定):成功绑定到目标计划并开始推进。

Failure & Recovery(失败与恢复):无可用计划时先补计划;计划不匹配时显式传入 [plan-name] 重试。

Impact & Boundary(副作用与边界):它是“执行入口”,不是“规划入口”。

/stop-continuation

Who(谁来用):需要立即人工接管节奏的操作者。

When(何时用):系统持续催跑,但你要全局停机重置节奏时。

What(输入是什么):无参数。示例:/stop-continuation。

How(执行方式):统一关闭 ralph loop、todo continuation、boulder 等续跑机制。

Output(成功输出):所有自动续跑停止。

Done(完成判定):后续不再出现自动 continuation 注入。

Failure & Recovery(失败与恢复):若仍自动推进,排查是否有新触发再次启动续跑流程。

Impact & Boundary(副作用与边界):全局作用,影响范围大于 /cancel-ralph。

/handoff

Who(谁来用):需要跨会话或跨人交接的执行者。

When(何时用):收工交接、切换 session、换人接力前。

What(输入是什么):[goal](可选,用于限定下一步目标)。示例:/handoff "Continue with integration tests and release checklist"。

How(执行方式):提取原始诉求、已完成、待办、关键文件与约束,生成结构化摘要。

Output(成功输出):可直接用于下一轮执行的交接上下文。

Done(完成判定):新会话无需补背景即可按摘要继续推进。

Failure & Recovery(失败与恢复):摘要不聚焦时补充 [goal] 后重新生成。

Impact & Boundary(副作用与边界):主要影响上下文传递,不直接改动业务代码。

常见误用与修正

误用:没有 plan 也直接 /start-work。

修正:先做 plan,再 /start-work;或先用普通任务推进。

误用:短平快任务也开 loop。

修正:仅在“必须持续推进直到完成”时用 /ralph-loop 或 /ulw-loop。

误用:把 /stop-continuation 当作 /cancel-ralph 的同义词。

修正:前者停全部续跑机制,后者只针对 Ralph/ULW loop。

误用:把 /refactor 当普通“改一两行”。

修正:小改动直接做;结构化重构再用 /refactor。

Custom Commands(补充)

自定义 Slash 命令可从以下位置加载:

.opencode/command/*.md(项目)

~/.config/opencode/command/*.md(用户)

.claude/commands/*.md(Claude Code 兼容)

~/.claude/commands/*.md(Claude Code 用户)