config(fallback): use opencode/glm-4.7-free as default fallback model

🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode)
This commit is contained in:
YeonGyu-Kim
2026-01-05 22:32:28 +09:00
parent b8b8d14b1c
commit ae6495dc17
2 changed files with 16 additions and 16 deletions

View File

@@ -276,22 +276,22 @@ export function generateOmoConfig(installConfig: InstallConfig): Record<string,
const agents: Record<string, Record<string, unknown>> = {} const agents: Record<string, Record<string, unknown>> = {}
if (!installConfig.hasClaude) { if (!installConfig.hasClaude) {
agents["Sisyphus"] = { model: "opencode/big-pickle" } agents["Sisyphus"] = { model: "opencode/glm-4.7-free" }
} }
agents["librarian"] = { model: "opencode/glm-4.7-free" }
if (installConfig.hasGemini) { if (installConfig.hasGemini) {
agents["librarian"] = { model: "google/gemini-3-flash" }
agents["explore"] = { model: "google/gemini-3-flash" } agents["explore"] = { model: "google/gemini-3-flash" }
} else if (installConfig.hasClaude && installConfig.isMax20) { } else if (installConfig.hasClaude && installConfig.isMax20) {
agents["explore"] = { model: "anthropic/claude-haiku-4-5" } agents["explore"] = { model: "anthropic/claude-haiku-4-5" }
} else { } else {
agents["librarian"] = { model: "opencode/big-pickle" } agents["explore"] = { model: "opencode/glm-4.7-free" }
agents["explore"] = { model: "opencode/big-pickle" }
} }
if (!installConfig.hasChatGPT) { if (!installConfig.hasChatGPT) {
agents["oracle"] = { agents["oracle"] = {
model: installConfig.hasClaude ? "anthropic/claude-opus-4-5" : "opencode/big-pickle", model: installConfig.hasClaude ? "anthropic/claude-opus-4-5" : "opencode/glm-4.7-free",
} }
} }
@@ -300,7 +300,7 @@ export function generateOmoConfig(installConfig: InstallConfig): Record<string,
agents["document-writer"] = { model: "google/gemini-3-flash" } agents["document-writer"] = { model: "google/gemini-3-flash" }
agents["multimodal-looker"] = { model: "google/gemini-3-flash" } agents["multimodal-looker"] = { model: "google/gemini-3-flash" }
} else { } else {
const fallbackModel = installConfig.hasClaude ? "anthropic/claude-opus-4-5" : "opencode/big-pickle" const fallbackModel = installConfig.hasClaude ? "anthropic/claude-opus-4-5" : "opencode/glm-4.7-free"
agents["frontend-ui-ux-engineer"] = { model: fallbackModel } agents["frontend-ui-ux-engineer"] = { model: fallbackModel }
agents["document-writer"] = { model: fallbackModel } agents["document-writer"] = { model: fallbackModel }
agents["multimodal-looker"] = { model: fallbackModel } agents["multimodal-looker"] = { model: fallbackModel }
@@ -698,17 +698,17 @@ export function detectCurrentConfig(): DetectedConfig {
const agents = omoConfig.agents ?? {} const agents = omoConfig.agents ?? {}
if (agents["Sisyphus"]?.model === "opencode/big-pickle") { if (agents["Sisyphus"]?.model === "opencode/glm-4.7-free") {
result.hasClaude = false result.hasClaude = false
result.isMax20 = false result.isMax20 = false
} else if (agents["librarian"]?.model === "opencode/big-pickle") { } else if (agents["librarian"]?.model === "opencode/glm-4.7-free") {
result.hasClaude = true result.hasClaude = true
result.isMax20 = false result.isMax20 = false
} }
if (agents["oracle"]?.model?.startsWith("anthropic/")) { if (agents["oracle"]?.model?.startsWith("anthropic/")) {
result.hasChatGPT = false result.hasChatGPT = false
} else if (agents["oracle"]?.model === "opencode/big-pickle") { } else if (agents["oracle"]?.model === "opencode/glm-4.7-free") {
result.hasChatGPT = false result.hasChatGPT = false
} }

View File

@@ -48,10 +48,10 @@ function formatConfigSummary(config: InstallConfig): string {
lines.push(color.bold(color.white("Agent Configuration"))) lines.push(color.bold(color.white("Agent Configuration")))
lines.push("") lines.push("")
const sisyphusModel = config.hasClaude ? "claude-opus-4-5" : "big-pickle" const sisyphusModel = config.hasClaude ? "claude-opus-4-5" : "glm-4.7-free"
const oracleModel = config.hasChatGPT ? "gpt-5.2" : (config.hasClaude ? "claude-opus-4-5" : "big-pickle") const oracleModel = config.hasChatGPT ? "gpt-5.2" : (config.hasClaude ? "claude-opus-4-5" : "glm-4.7-free")
const librarianModel = config.hasClaude && config.isMax20 ? "claude-sonnet-4-5" : "big-pickle" const librarianModel = "glm-4.7-free"
const frontendModel = config.hasGemini ? "gemini-3-pro-high" : (config.hasClaude ? "claude-opus-4-5" : "big-pickle") const frontendModel = config.hasGemini ? "gemini-3-pro-high" : (config.hasClaude ? "claude-opus-4-5" : "glm-4.7-free")
lines.push(` ${SYMBOLS.bullet} Sisyphus ${SYMBOLS.arrow} ${color.cyan(sisyphusModel)}`) lines.push(` ${SYMBOLS.bullet} Sisyphus ${SYMBOLS.arrow} ${color.cyan(sisyphusModel)}`)
lines.push(` ${SYMBOLS.bullet} Oracle ${SYMBOLS.arrow} ${color.cyan(oracleModel)}`) lines.push(` ${SYMBOLS.bullet} Oracle ${SYMBOLS.arrow} ${color.cyan(oracleModel)}`)
@@ -163,7 +163,7 @@ async function runTuiMode(detected: DetectedConfig): Promise<InstallConfig | nul
const claude = await p.select({ const claude = await p.select({
message: "Do you have a Claude Pro/Max subscription?", message: "Do you have a Claude Pro/Max subscription?",
options: [ options: [
{ value: "no" as const, label: "No", hint: "Will use opencode/big-pickle as fallback" }, { value: "no" as const, label: "No", hint: "Will use opencode/glm-4.7-free as fallback" },
{ value: "yes" as const, label: "Yes (standard)", hint: "Claude Opus 4.5 for orchestration" }, { value: "yes" as const, label: "Yes (standard)", hint: "Claude Opus 4.5 for orchestration" },
{ value: "max20" as const, label: "Yes (max20 mode)", hint: "Full power with Claude Sonnet 4.5 for Librarian" }, { value: "max20" as const, label: "Yes (max20 mode)", hint: "Full power with Claude Sonnet 4.5 for Librarian" },
], ],
@@ -310,7 +310,7 @@ async function runNonTuiInstall(args: InstallArgs): Promise<number> {
printBox(formatConfigSummary(config), isUpdate ? "Updated Configuration" : "Installation Complete") printBox(formatConfigSummary(config), isUpdate ? "Updated Configuration" : "Installation Complete")
if (!config.hasClaude && !config.hasChatGPT && !config.hasGemini) { if (!config.hasClaude && !config.hasChatGPT && !config.hasGemini) {
printWarning("No model providers configured. Using opencode/big-pickle as fallback.") printWarning("No model providers configured. Using opencode/glm-4.7-free as fallback.")
} }
if ((config.hasClaude || config.hasChatGPT || config.hasGemini) && !args.skipAuth) { if ((config.hasClaude || config.hasChatGPT || config.hasGemini) && !args.skipAuth) {
@@ -439,7 +439,7 @@ export async function install(args: InstallArgs): Promise<number> {
s.stop(`Config written to ${color.cyan(omoResult.configPath)}`) s.stop(`Config written to ${color.cyan(omoResult.configPath)}`)
if (!config.hasClaude && !config.hasChatGPT && !config.hasGemini) { if (!config.hasClaude && !config.hasChatGPT && !config.hasGemini) {
p.log.warn("No model providers configured. Using opencode/big-pickle as fallback.") p.log.warn("No model providers configured. Using opencode/glm-4.7-free as fallback.")
} }
p.note(formatConfigSummary(config), isUpdate ? "Updated Configuration" : "Installation Complete") p.note(formatConfigSummary(config), isUpdate ? "Updated Configuration" : "Installation Complete")