znlgis 博客

GIS开发与技术分享

第九章:命令、模型回退与配置参考

本章是一份速查手册:把前面分散在各章里的命令、配置项、模型回退链、Claude Code 兼容层集中起来,便于你查工具时直接翻到本章。


9.1 命令速查表

OmO 提供 9 个内置斜杠命令(slash command):

命令 用途
/init-deep 在项目里生成层级化 AGENTS.md 知识库
/ralph-loop 启动自指型开发循环,跑到完成为止
/ulw-loop 同上,但内部强制 ultrawork 模式
/cancel-ralph 取消活动中的 Ralph Loop
/refactor 智能重构:LSP + AST-Grep + 架构分析 + TDD 验证
/start-work 从 Prometheus 计划开始 Sisyphus 工作会话(启动 Atlas)
/stop-continuation 停掉本会话所有的持续机制(Ralph、todo、boulder)
/handoff 生成结构化的会话交接文档
/git-master ... git-master Skill 的入口(commit / rebase / 历史考古)

9.1.1 /init-deep

/init-deep [--create-new] [--max-depth=N]

在项目根、src/src/components/ 等关键目录生成 AGENTS.md,给 Agent 提供”这个目录是干嘛的”的上下文:

project/
├── AGENTS.md
├── src/
│   ├── AGENTS.md
│   └── components/
│       └── AGENTS.md

directory-agents-injector Hook 会在你 read 任意文件时把这条路径上的 AGENTS.md 全注入。

9.1.2 /ralph-loop

/ralph-loop "Build a REST API with authentication"
/ralph-loop "Refactor the payment module" --max-iterations=50

行为:

  • Agent 持续工作至检测到 <promise>DONE</promise>
  • 中途若停下未完成 → 自动续;
  • 终止条件:完成 / 达到 max-iterations(默 100)/ /cancel-ralph

配置:

{
  "ralph_loop": {
    "enabled": true,
    "default_max_iterations": 100
  }
}

9.1.3 /ulw-loop

/ralph-loop 的”火力全开”版本:所有 ulw 关键词带来的并行/激进特性默认开启。

9.1.4 /refactor

/refactor <target> [--scope=<file|module|project>] [--strategy=<safe|aggressive>]

特性:

  • LSP 驱动的重命名 / 跳转;
  • AST-grep 模式匹配;
  • 改之前做架构分析;
  • 改之后做 TDD 验证;
  • 自动生成代码地图。

9.1.5 /start-work

/start-work [plan-name]

流程:

有 boulder.json → RESUME(续作)
没有 → INIT(找最新 plan,初始化 boulder.json,切到 Atlas)

9.1.6 /stop-continuation

停掉所有持续机制:Ralph Loop、todo continuation、boulder。当你想暂停 Agent 的”自动推进”。

9.1.7 /handoff

生成结构化交接文档:当前状态、已做、未做、相关路径,方便在新会话里无缝接上。

9.1.8 自定义命令位置

按优先级(高→低):

  • .opencode/command/*.md(项目,OpenCode 原生)
  • ~/.config/opencode/command/*.md(用户,OpenCode 原生)
  • .claude/commands/*.md(项目,Claude Code 兼容)
  • ~/.config/opencode/commands/*.md(用户,Claude Code 兼容)

9.2 CLI 子命令速查

OmO 的 CLI 名字仍然是 oh-my-opencode

命令 用途
bunx oh-my-opencode install [flags] 交互/非交互安装
bunx oh-my-opencode doctor 健康检查、模型解析诊断
bunx oh-my-opencode refresh-model-capabilities 刷新本地模型能力缓存
bunx oh-my-opencode mcp oauth login <name> 预先 OAuth 登录某个 Skill MCP

9.3 配置文件位置

类型 位置
OpenCode 主配置 ~/.config/opencode/opencode.json
OmO 全局配置(新名) ~/.config/opencode/oh-my-openagent.json
OmO 全局配置(旧名兼容) ~/.config/opencode/oh-my-opencode.json
OmO 项目配置(新) .opencode/oh-my-openagent.json
OmO 项目配置(旧) .opencode/oh-my-opencode.json

.jsonc 后缀也支持,含 JSON 注释。

支持 $schema 字段做 IDE 智能提示:

{
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-openagent.schema.json"
}

9.4 配置项参考

9.4.1 顶层结构

{
  "$schema": "...",
  "agents": { ... },
  "categories": { ... },
  "disabled_skills": [],
  "disabled_hooks": [],
  "claude_code": { ... },
  "tmux": { ... },
  "browser_automation_engine": { ... },
  "model_capabilities": { ... },
  "ralph_loop": { ... },
  "sisyphus_agent": { ... },
  "experimental": { ... }
}

9.4.2 agents

每个 Agent 一个 key,常见字段:

{
  "agents": {
    "sisyphus": {
      "model": "kimi-for-coding/k2p5",
      "variant": "max",
      "ultrawork": { "model": "anthropic/claude-opus-4-7", "variant": "max" },
      "fallback_models": [
        "opencode/glm-5",
        { "model": "openai/gpt-5.4", "variant": "high" },
        { "model": "anthropic/claude-sonnet-4-6", "thinking": { "type": "enabled", "budgetTokens": 64000 } }
      ],
      "prompt_append": "file:///path/to/extra-context.md",
      "disabled": false
    }
  }
}

disabled: true 可关闭某个内置 Agent。

9.4.3 categories

参见第六章 6.3 节。

9.4.4 claude_code(兼容层开关)

{
  "claude_code": {
    "mcp": false,
    "commands": false,
    "skills": false,
    "agents": false,
    "hooks": false,
    "plugins": false,

    "plugins_override": {
      "claude-mem@thedotmack": false
    }
  }
}
Toggle 关掉的对象
mcp .mcp.json 文件(保留内置 MCP)
commands Claude Code 命令目录加载
skills Claude Code Skill 目录加载
agents Claude Code Agent 目录加载(保留内置 Agent)
hooks settings.json 中的命令式 Hook
plugins Claude Code 插件市场

9.4.5 tmux

{
  "tmux": {
    "enabled": true,
    "layout": "main-vertical"
  }
}

9.4.6 browser_automation_engine

{
  "browser_automation_engine": {
    "provider": "playwright" // 或 "agent-browser"
  }
}

9.4.7 sisyphus_agent

{
  "sisyphus_agent": {
    "disabled": false,        // 启用 Atlas 编排(默认 false 表示 Sisyphus 默认不强制走 Atlas)
    "planner_enabled": true,  // 启用 Prometheus
    "replace_plan": true      // 用 Prometheus 替换默认 plan agent
  }
}

9.4.8 disabled_hooks

{
  "disabled_hooks": ["comment-checker", "agent-usage-reminder"]
}

9.4.9 文件型提示词

{
  "agents": {
    "sisyphus": { "prompt": "file:///path/to/custom-prompt.md" },
    "oracle":   { "prompt_append": "file:///path/to/extra-context.md" }
  },
  "categories": {
    "deep": { "prompt_append": "file:///path/to/deep-append.md" }
  }
}

支持 ~ 与相对路径。


9.5 模型回退总表

下面是核心 Agent / Category 的运行时回退顺序(来自 src/shared/model-requirements.ts,节选):

9.5.1 Agent

Sisyphus
  claude-opus-4-7(max) → kimi-k2.5(opencode-go) → kimi/k2p5 → kimi-k2.5(其他)
  → gpt-5.4(medium) → glm-5 → big-pickle

Hephaestus
  gpt-5.4 (medium) only

Oracle
  gpt-5.4 (high) → gemini-3.1-pro (high) → claude-opus-4-7 (max) → glm-5

Atlas
  claude-sonnet-4-6 → kimi-k2.5(opencode-go) → gpt-5.4 (medium) → minimax-m2.7

Explore
  grok-code-fast-1 → minimax-m2.7-highspeed → minimax-m2.7
  → claude-haiku-4-5 → gpt-5.4-nano

Librarian
  gpt-5.4-mini-fast → minimax-m2.7-highspeed → minimax-m2.7
  → claude-haiku-4-5 → gpt-5.4-nano

Multimodal-Looker
  gpt-5.4 (medium) → kimi-k2.5 → glm-4.6v → gpt-5-nano

Prometheus
  claude-opus-4-7 (max) → gpt-5.4 (high) → glm-5 → gemini-3.1-pro

Metis
  claude-opus-4-7 (max) → gpt-5.4 (high) → glm-5 → kimi/k2p5

Momus
  gpt-5.4 (xhigh) → claude-opus-4-7 (max) → gemini-3.1-pro (high) → glm-5

Sisyphus-Junior(通用 fallback)
  claude-sonnet-4-6 → kimi-k2.5 → gpt-5.4 (medium) → minimax-m2.7 → big-pickle

9.5.2 Category

visual-engineering
  gemini-3.1-pro → glm-5 → claude-opus-4-7 → glm-5 → k2p5

ultrabrain
  gpt-5.4 (xhigh) → gemini-3.1-pro → claude-opus-4-7 → glm-5

deep
  gpt-5.4 (medium) → claude-opus-4-7 → gemini-3.1-pro

artistry
  gemini-3.1-pro → claude-opus-4-7 → gpt-5.4

quick
  gpt-5.4-mini → claude-haiku-4-5 → gemini-3-flash → minimax-m2.7 → gpt-5-nano

unspecified-low
  claude-sonnet-4-6 → gpt-5.3-codex → kimi-k2.5 → gemini-3-flash → minimax-m2.7

unspecified-high
  claude-opus-4-7 (max) → gpt-5.4 → glm-5 → k2p5 → kimi-k2.5

writing
  gemini-3-flash / k2p5 → kimi-k2.5 → claude-sonnet-4-6 → minimax-m2.7

9.5.3 触发 fallback 的事件

runtime-fallback Hook 会在以下情况按链条降级:

  • 可重试 API 错误:429(限流)、503、529;
  • 提供商 Key 缺失(例:ANTHROPIC_API_KEY 未设置);
  • 自动重试信号(timeout_seconds > 0)。

降级后的失败模型会进入冷却(默认数十分钟),冷却期内不再选它。


9.6 模型家族 / 提供商总表

9.6.1 Claude-like

模型 提供商
claude-opus-4-7 anthropic / github-copilot / opencode
claude-sonnet-4-6 同上
claude-haiku-4-5 anthropic / opencode
kimi-k2.5 kimi-for-coding / opencode-go / opencode / moonshotai 等
kimi-k2.5 free opencode
glm-5 zai-coding-plan / opencode
big-pickle (glm-4.6) opencode

9.6.2 GPT 系列

模型 提供商
gpt-5.3-codex openai / github-copilot / opencode
gpt-5.4 同上
gpt-5.4-mini 同上
gpt-5-nano opencode

9.6.3 Gemini & MiniMax

模型 提供商
gemini-3.1-pro google / github-copilot / opencode / antigravity
gemini-3-flash 同上
gemini-2.5-pro / gemini-2.5-flash google / antigravity
minimax-m2.7 opencode-go / opencode
minimax-m2.7-highspeed 同上

9.6.4 Grok / Spark / Antigravity Claude

模型 提供商
grok-code-fast-1 github-copilot / xai
gpt-5.3-codex-spark openai(不推荐用于 OmO,压缩太狠)
antigravity-claude-sonnet-4-6 / opus-4-5-thinking google antigravity

9.6.5 多模态视觉

模型 提供商
glm-4.6v zai-coding-plan
gpt-5.4 (multimodal) openai
antigravity-gemini-3-pro google antigravity

9.7 Claude Code 兼容层

类型 位置
Commands ~/.config/opencode/commands/.claude/commands/
Skills ~/.config/opencode/skills/*/SKILL.md.claude/skills/*/SKILL.md
Agents ~/.config/opencode/agents/*.md.claude/agents/*.md
MCPs ~/.claude.json~/.config/opencode/.mcp.json.mcp.json.claude/.mcp.json
Hooks ~/.claude/settings.json./.claude/settings.json./.claude/settings.local.json

MCP 支持环境变量 ${VAR} 展开。


9.8 Rules(规则)系统

.claude/rules/*.md / .mdc 内的规则可以按条件注入:

---
globs: ["*.ts", "src/**/*.js"]
description: "TypeScript/JavaScript coding rules"
---

- Use PascalCase for interface names
- Use camelCase for function names

字段:

  • globs:匹配模式;
  • alwaysApply: true:无条件注入;
  • 没有匹配到的文件不会被注入对应规则。

rules-injector Hook 会从文件向项目根逐层搜索 .claude/rules/,并加上 ~/.claude/rules/


9.9 实验性特性

{
  "experimental": {
    "task_system": true   // 启用 task_create / task_update / task_list / task_get
  }
}

启用后:

  • 任务以 JSON 文件存在 .sisyphus/tasks/
  • 字段含 subject / status / blocks / blockedBy / owner / metadata / threadID 等;
  • blockedBy 自动并行;
  • tasks-todowrite-disabler Hook 会同时禁掉 TodoWrite 工具,避免冲突。

9.10 与 OpenCode 主配置的关系

OpenCode 的 ~/.config/opencode/opencode.json 决定:

  • 是否加载 OmO 插件(在 plugin 数组里写 "oh-my-openagent");
  • Provider 列表与默认模型;
  • 自定义模型映射(也可以放到 oh-my-openagent.jsonagents 字段,OmO 会合并)。

最简范例:

{
  "plugin": ["oh-my-openagent"]
}

加上 OmO 配置:

{
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-openagent.schema.json",
  "agents": {
    "sisyphus":  { "model": "anthropic/claude-opus-4-7", "variant": "max" },
    "librarian": { "model": "google/gemini-3-flash" }
  }
}

9.11 重命名兼容(旧 vs 新)

OmO 当前处于”oh-my-opencode → oh-my-openagent”过渡期:

  • npm 包 / 二进制:仍叫 oh-my-opencode
  • 插件入口:优先 oh-my-openagent,旧 oh-my-opencode加载并打 warning
  • 配置文件:oh-my-openagent.json[c]oh-my-opencode.json[c] 都被识别;
  • 检测:bunx oh-my-opencode doctor 会列出所有 legacy 名字使用情况。

迁移建议:

  1. opencode.json 中把 "oh-my-opencode" 改成 "oh-my-openagent"
  2. 配置文件改名为 oh-my-openagent.json / .jsonc
  3. 重启 OpenCode;
  4. bunx oh-my-opencode doctor 验证。

9.12 一份”我建议的最小配置”

如果你想快速搭一份”以 Claude Pro/Max 为主、加少量个性化”的配置:

// ~/.config/opencode/opencode.json
{
  "plugin": ["oh-my-openagent"]
}
// ~/.config/opencode/oh-my-openagent.json
{
  "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-openagent.schema.json",
  "tmux": { "enabled": true, "layout": "main-vertical" },
  "model_capabilities": {
    "enabled": true,
    "auto_refresh_on_start": true,
    "refresh_timeout_ms": 5000
  }
}

剩下交给安装脚本和默认值。需要哪一项再单独 override,避免一开始就配得太复杂。

下一章我们用一组实战案例把所有内容串起来,并补上故障排除手册。