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:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user