mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-24 16:02:55 +08:00
feat(gateway): add Alibaba as supported AI SDK provider
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@kilocode/kilo-gateway": minor
|
||||
---
|
||||
|
||||
Add Alibaba as a supported AI SDK provider for routing Qwen model requests via the native `@ai-sdk/alibaba` adapter.
|
||||
@@ -201,6 +201,7 @@
|
||||
"name": "@kilocode/kilo-gateway",
|
||||
"version": "7.2.14",
|
||||
"dependencies": {
|
||||
"@ai-sdk/alibaba": "1.0.17",
|
||||
"@ai-sdk/anthropic": "3.0.71",
|
||||
"@ai-sdk/openai": "3.0.48",
|
||||
"@ai-sdk/openai-compatible": "2.0.37",
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"dependencies": {
|
||||
"@kilocode/plugin": "workspace:*",
|
||||
"@kilocode/sdk": "workspace:*",
|
||||
"@ai-sdk/alibaba": "1.0.17",
|
||||
"@ai-sdk/anthropic": "3.0.71",
|
||||
"@ai-sdk/openai": "3.0.48",
|
||||
"@ai-sdk/openai-compatible": "2.0.37",
|
||||
|
||||
@@ -72,4 +72,4 @@ export const ENV_FEATURE = "KILOCODE_FEATURE"
|
||||
|
||||
export const PROMPTS = ["codex", "gemini", "beast", "anthropic", "trinity", "anthropic_without_todo"] as const
|
||||
|
||||
export const AI_SDK_PROVIDERS = ["anthropic", "openai", "openai-compatible", "openrouter"] as const
|
||||
export const AI_SDK_PROVIDERS = ["alibaba", "anthropic", "openai", "openai-compatible", "openrouter"] as const
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { createOpenRouter } from "@openrouter/ai-sdk-provider"
|
||||
import { createAlibaba } from "@ai-sdk/alibaba"
|
||||
import { createAnthropic } from "@ai-sdk/anthropic"
|
||||
import { createOpenAI } from "@ai-sdk/openai"
|
||||
import { createOpenAICompatible } from "@ai-sdk/openai-compatible"
|
||||
@@ -76,6 +77,7 @@ export function createKilo(options: KiloProviderOptions = {}): KiloProvider {
|
||||
}
|
||||
|
||||
const openrouter = createOpenRouter(sdkOptions)
|
||||
const alibaba = createAlibaba(sdkOptions)
|
||||
const anthropic = createAnthropic(sdkOptions)
|
||||
const openai = createOpenAI(sdkOptions)
|
||||
const openaiCompatible = createOpenAICompatible({ ...sdkOptions, name: "openaiCompatible" })
|
||||
@@ -93,6 +95,9 @@ export function createKilo(options: KiloProviderOptions = {}): KiloProvider {
|
||||
imageModel(modelId) {
|
||||
return openrouter.imageModel(modelId)
|
||||
},
|
||||
alibaba(modelId) {
|
||||
return alibaba(modelId)
|
||||
},
|
||||
anthropic(modelId) {
|
||||
return anthropic(modelId)
|
||||
},
|
||||
|
||||
@@ -160,6 +160,7 @@ export interface ProviderInfo {
|
||||
}
|
||||
|
||||
export type KiloProvider = Provider & {
|
||||
alibaba(modelId: string): LanguageModel
|
||||
anthropic(modelId: string): LanguageModel
|
||||
openai(modelId: string): LanguageModel
|
||||
openaiCompatible(modelId: string): LanguageModel
|
||||
|
||||
@@ -147,6 +147,7 @@ export function kiloCustomLoaders(dep: CustomDep): Record<string, CustomLoader>
|
||||
options,
|
||||
async getModel(sdk: KiloProvider, modelID: string) {
|
||||
const provider = input.models[modelID]?.ai_sdk_provider
|
||||
if (provider === "alibaba") return sdk.alibaba(modelID)
|
||||
if (provider === "anthropic") return sdk.anthropic(modelID)
|
||||
if (provider === "openai") return sdk.openai(modelID)
|
||||
if (provider === "openai-compatible") return sdk.openaiCompatible(modelID)
|
||||
|
||||
@@ -1960,7 +1960,7 @@ export type Model = {
|
||||
recommendedIndex?: number
|
||||
prompt?: "codex" | "gemini" | "beast" | "anthropic" | "trinity" | "anthropic_without_todo"
|
||||
isFree?: boolean
|
||||
ai_sdk_provider?: "anthropic" | "openai" | "openai-compatible" | "openrouter"
|
||||
ai_sdk_provider?: "alibaba" | "anthropic" | "openai" | "openai-compatible" | "openrouter"
|
||||
}
|
||||
|
||||
export type Provider = {
|
||||
|
||||
+1957
-431
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user