From 0f3126736c814fa2c34b6aae611b999ab0084b1d Mon Sep 17 00:00:00 2001 From: Ivan Gonzalez Date: Thu, 22 Jan 2026 21:48:17 -0600 Subject: [PATCH] support responses api for openai-compatible providers --- packages/opencode/src/provider/provider.ts | 6 ++++++ .../src/responses/openai-responses-language-model.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index fdd4ccdfb619..c75d151ad697 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -1033,6 +1033,12 @@ export namespace Provider { name: model.providerID, ...options, }) + if (model.api.npm.includes("@ai-sdk/openai-compatible") && model.options["responsesApiSupported"] === true) { + log.debug(`using responses api for ${model.id}`) + // the copilot openai compatible override is the only who exposes the responses api + // not even upstream @ai-sk/openai-compatible does + loaded.languageModel = createGitHubCopilotOpenAICompatible({name: model.providerID, ...options}).responses + } s.sdk.set(key, loaded) return loaded as SDK } diff --git a/packages/opencode/src/provider/sdk/openai-compatible/src/responses/openai-responses-language-model.ts b/packages/opencode/src/provider/sdk/openai-compatible/src/responses/openai-responses-language-model.ts index 0990b7e0077c..7510c0ca37e6 100644 --- a/packages/opencode/src/provider/sdk/openai-compatible/src/responses/openai-responses-language-model.ts +++ b/packages/opencode/src/provider/sdk/openai-compatible/src/responses/openai-responses-language-model.ts @@ -194,7 +194,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV2 { } const openaiOptions = await parseProviderOptions({ - provider: "openai", + provider: this.config.provider.replace(".responses", ""), providerOptions, schema: openaiResponsesProviderOptionsSchema, })