summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/provider/provider.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts
index 2a01bbc44..614d4ec14 100644
--- a/packages/opencode/src/provider/provider.ts
+++ b/packages/opencode/src/provider/provider.ts
@@ -457,6 +457,29 @@ export namespace Provider {
},
}
},
+ "cloudflare-workers-ai": async (input) => {
+ const accountId = Env.get("CLOUDFLARE_ACCOUNT_ID")
+ if (!accountId) return { autoload: false }
+
+ const apiKey = await iife(async () => {
+ const envToken = Env.get("CLOUDFLARE_API_KEY")
+ if (envToken) return envToken
+ const auth = await Auth.get(input.id)
+ if (auth?.type === "api") return auth.key
+ return undefined
+ })
+
+ return {
+ autoload: !!apiKey,
+ options: {
+ apiKey,
+ baseURL: `https://api.cloudflare.com/client/v4/accounts/${accountId}/ai/v1`,
+ },
+ async getModel(sdk: any, modelID: string) {
+ return sdk.languageModel(modelID)
+ },
+ }
+ },
"cloudflare-ai-gateway": async (input) => {
const accountId = Env.get("CLOUDFLARE_ACCOUNT_ID")
const gateway = Env.get("CLOUDFLARE_GATEWAY_ID")