From ad2087094d84cb9255f08c787f8ffbe0f78fdba0 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 11 Feb 2026 23:10:47 -0500 Subject: [PATCH] support custom api url per model --- packages/opencode/src/provider/models.ts | 2 +- packages/opencode/src/provider/provider.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/provider/models.ts b/packages/opencode/src/provider/models.ts index 07881cbfe..4725d0d39 100644 --- a/packages/opencode/src/provider/models.ts +++ b/packages/opencode/src/provider/models.ts @@ -64,7 +64,7 @@ export namespace ModelsDev { status: z.enum(["alpha", "beta", "deprecated"]).optional(), options: z.record(z.string(), z.any()), headers: z.record(z.string(), z.string()).optional(), - provider: z.object({ npm: z.string() }).optional(), + provider: z.object({ npm: z.string(), api: z.string() }).optional(), variants: z.record(z.string(), z.record(z.string(), z.any())).optional(), }) export type Model = z.infer diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index a02a017e7..d76cc902a 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -629,7 +629,7 @@ export namespace Provider { family: model.family, api: { id: model.id, - url: provider.api!, + url: model.provider?.api ?? provider.api!, npm: model.provider?.npm ?? provider.npm ?? "@ai-sdk/openai-compatible", }, status: model.status ?? "active", @@ -781,7 +781,7 @@ export namespace Provider { existingModel?.api.npm ?? modelsDev[providerID]?.npm ?? "@ai-sdk/openai-compatible", - url: provider?.api ?? existingModel?.api.url ?? modelsDev[providerID]?.api, + url: model.provider?.api ?? provider?.api ?? existingModel?.api.url ?? modelsDev[providerID]?.api, }, status: model.status ?? existingModel?.status ?? "active", name,