110b1e3d2d
* refactor(keyword-detector): split constants into domain-specific modules * feat(shared): add requiresAnyModel and isAnyFallbackModelAvailable * feat(config): add hephaestus to agent schemas * feat(agents): add Hephaestus autonomous deep worker * feat(cli): update model-fallback for hephaestus support * feat(plugin): add hephaestus to config handler with ordering * test(delegate-task): update tests for hephaestus agent * docs: update AGENTS.md files for hephaestus * docs: add hephaestus to READMEs * chore: regenerate config schema * fix(delegate-task): bypass requiresModel check when user provides explicit config * docs(hephaestus): add 4-part context structure for explore/librarian prompts * docs: fix review comments from cubic (non-breaking changes) - Move Hephaestus from Primary Agents to Subagents (uses own fallback chain) - Fix Hephaestus fallback chain documentation (claude-opus-4-5 → gemini-3-pro) - Add settings.local.json to claude-code-hooks config sources - Fix delegate_task parameters in ultrawork prompt (agent→subagent_type, background→run_in_background, add load_skills) - Update line counts in AGENTS.md (index.ts: 788, manager.ts: 1440) * docs: fix additional documentation inconsistencies from oracle review - Fix delegate_task parameters in Background Agents example (docs/features.md) - Fix Hephaestus fallback chain in root AGENTS.md to match model-requirements.ts * docs: clarify Hephaestus has no fallback (requires gpt-5.2-codex only) Hephaestus uses requiresModel constraint - it only activates when gpt-5.2-codex is available. The fallback chain in code is unreachable, so documentation should not mention fallbacks. * fix(hephaestus): remove unreachable fallback chain entries Hephaestus has requiresModel: gpt-5.2-codex which means the agent only activates when that specific model is available. The fallback entries (claude-opus-4-5, gemini-3-pro) were unreachable and misleading. --------- Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com>
1486 lines
34 KiB
Plaintext
1486 lines
34 KiB
Plaintext
// Bun Snapshot v1, https://bun.sh/docs/test/snapshots
|
|
|
|
exports[`generateModelConfig no providers available returns ULTIMATE_FALLBACK for all agents and categories when no providers 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"hephaestus": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"momus": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"oracle": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"prometheus": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"deep": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"quick": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"writing": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig single native provider uses Claude models when only Claude is available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"librarian": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"oracle": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"writing": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig single native provider uses Claude models with isMax20 flag 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"librarian": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"oracle": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"writing": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig single native provider uses OpenAI models when only OpenAI is available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "openai/gpt-5.2",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/gpt-5-nano",
|
|
},
|
|
"hephaestus": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"momus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "openai/gpt-5.2",
|
|
},
|
|
"oracle": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
},
|
|
"categories": {
|
|
"deep": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"writing": {
|
|
"model": "openai/gpt-5.2",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig single native provider uses OpenAI models with isMax20 flag 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "openai/gpt-5.2",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/gpt-5-nano",
|
|
},
|
|
"hephaestus": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"momus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "openai/gpt-5.2",
|
|
},
|
|
"oracle": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
},
|
|
"categories": {
|
|
"deep": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"writing": {
|
|
"model": "openai/gpt-5.2",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig single native provider uses Gemini models when only Gemini is available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/gpt-5-nano",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"prometheus": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"quick": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig single native provider uses Gemini models with isMax20 flag 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/gpt-5-nano",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"prometheus": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"quick": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig all native providers uses preferred models from fallback chains when all natives available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig all native providers uses preferred models with isMax20 flag when all natives available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig fallback providers uses OpenCode Zen models when only OpenCode Zen is available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/kimi-k2.5-free",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "opencode/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "opencode/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "opencode/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "opencode/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "opencode/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "opencode/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "opencode/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "opencode/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "opencode/claude-sonnet-4-5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "opencode/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "opencode/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "opencode/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig fallback providers uses OpenCode Zen models with isMax20 flag 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/kimi-k2.5-free",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "opencode/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "opencode/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "opencode/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "opencode/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "opencode/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "opencode/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "opencode/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "opencode/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "opencode/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "opencode/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "opencode/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "opencode/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig fallback providers uses GitHub Copilot models when only Copilot is available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"explore": {
|
|
"model": "github-copilot/gpt-5-mini",
|
|
},
|
|
"hephaestus": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"metis": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "github-copilot/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "github-copilot/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "github-copilot/claude-haiku-4.5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig fallback providers uses GitHub Copilot models with isMax20 flag 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"explore": {
|
|
"model": "github-copilot/gpt-5-mini",
|
|
},
|
|
"hephaestus": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"metis": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "github-copilot/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "github-copilot/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "github-copilot/claude-haiku-4.5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig fallback providers uses ZAI model for librarian when only ZAI is available 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/gpt-5-nano",
|
|
},
|
|
"librarian": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"metis": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"momus": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "zai-coding-plan/glm-4.6v",
|
|
},
|
|
"oracle": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"prometheus": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"sisyphus": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
},
|
|
"categories": {
|
|
"quick": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"writing": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig fallback providers uses ZAI model for librarian with isMax20 flag 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/gpt-5-nano",
|
|
},
|
|
"librarian": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"metis": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"momus": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "zai-coding-plan/glm-4.6v",
|
|
},
|
|
"oracle": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"prometheus": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"sisyphus": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
},
|
|
"categories": {
|
|
"quick": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"writing": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig mixed provider scenarios uses Claude + OpenCode Zen combination 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/kimi-k2.5-free",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "opencode/glm-4.7-free",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "opencode/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "opencode/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "opencode/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "opencode/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "opencode/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "opencode/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "opencode/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig mixed provider scenarios uses OpenAI + Copilot combination 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"explore": {
|
|
"model": "github-copilot/gpt-5-mini",
|
|
},
|
|
"hephaestus": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"metis": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "github-copilot/claude-haiku-4.5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig mixed provider scenarios uses Claude + ZAI combination (librarian uses ZAI) 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"librarian": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "zai-coding-plan/glm-4.6v",
|
|
},
|
|
"oracle": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"writing": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig mixed provider scenarios uses Gemini + Claude combination (explore uses Gemini) 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"librarian": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig mixed provider scenarios uses all fallback providers together 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/kimi-k2.5-free",
|
|
},
|
|
"explore": {
|
|
"model": "opencode/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"metis": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "github-copilot/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "github-copilot/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "github-copilot/claude-opus-4.5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "github-copilot/claude-haiku-4.5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "github-copilot/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "github-copilot/claude-sonnet-4.5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "github-copilot/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "github-copilot/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig mixed provider scenarios uses all providers together 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/kimi-k2.5-free",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|
|
|
|
exports[`generateModelConfig mixed provider scenarios uses all providers with isMax20 flag 1`] = `
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
|
"agents": {
|
|
"atlas": {
|
|
"model": "opencode/kimi-k2.5-free",
|
|
},
|
|
"explore": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"hephaestus": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"librarian": {
|
|
"model": "zai-coding-plan/glm-4.7",
|
|
},
|
|
"metis": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"momus": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "medium",
|
|
},
|
|
"multimodal-looker": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
"oracle": {
|
|
"model": "openai/gpt-5.2",
|
|
"variant": "high",
|
|
},
|
|
"prometheus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"sisyphus": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
},
|
|
"categories": {
|
|
"artistry": {
|
|
"model": "google/gemini-3-pro",
|
|
"variant": "max",
|
|
},
|
|
"deep": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "medium",
|
|
},
|
|
"quick": {
|
|
"model": "anthropic/claude-haiku-4-5",
|
|
},
|
|
"ultrabrain": {
|
|
"model": "openai/gpt-5.2-codex",
|
|
"variant": "xhigh",
|
|
},
|
|
"unspecified-high": {
|
|
"model": "anthropic/claude-opus-4-5",
|
|
"variant": "max",
|
|
},
|
|
"unspecified-low": {
|
|
"model": "anthropic/claude-sonnet-4-5",
|
|
},
|
|
"visual-engineering": {
|
|
"model": "google/gemini-3-pro",
|
|
},
|
|
"writing": {
|
|
"model": "google/gemini-3-flash",
|
|
},
|
|
},
|
|
}
|
|
`;
|