diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 89de1e03..70df7d7c 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -291,7 +291,7 @@ export async function handler( async function authenticate(modelInfo: ModelInfo, providerInfo: ProviderInfo) { const apiKey = opts.parseApiKey(input.request.headers) - if (!apiKey) { + if (!apiKey || apiKey === "public") { if (modelInfo.allowAnonymous) return throw new AuthError("Missing API key.") } diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index f8e6d0f7..d2957e3b 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -53,7 +53,7 @@ export namespace Provider { return { autoload: Object.keys(input.models).length > 0, - options: {}, + options: hasKey ? {} : { apiKey: "public" }, } }, openai: async () => { @@ -582,6 +582,9 @@ export namespace Provider { if (providerID === "github-copilot") { priority = priority.filter((m) => m !== "claude-haiku-4.5") } + if (providerID === "opencode" || providerID === "local") { + priority = ["gpt-5-nano"] + } for (const item of priority) { for (const model of Object.keys(provider.info.models)) { if (model.includes(item)) return getModel(providerID, model)