Merge branch 'feat/aisdk-package' of https://github.com/CherryHQ/cherry-studio into feat/aisdk-package

This commit is contained in:
suyao 2025-07-08 13:40:39 +08:00
commit 8317ad55e7
No known key found for this signature in database
4 changed files with 14 additions and 11 deletions

View File

@ -22,12 +22,13 @@ export const webSearchPlugin = (config: WebSearchPluginConfig = DEFAULT_WEB_SEAR
transformParams: async (params: any, context: AiRequestContext) => {
const { providerId } = context
// console.log('providerId', providerId)
switch (providerId) {
case 'openai': {
if (config.openai) {
if (!params.tools) params.tools = {}
params.tools.web_search_preview = openai.tools.webSearchPreview(config.openai)
// console.log('params.tools', params.tools)
}
break
}
@ -59,6 +60,14 @@ export const webSearchPlugin = (config: WebSearchPluginConfig = DEFAULT_WEB_SEAR
}
break
}
// default: {
// if (!params.providerOptions) params.providerOptions = {}
// params.providerOptions['aihubmix'] = {
// web_search: anthropic.tools.webSearch_20250305()
// }
// console.log('params.providerOptions', params.providerOptions)
// break
// }
}
return params

View File

@ -20,6 +20,7 @@ import {
import { createPromptToolUsePlugin, webSearchPlugin } from '@cherrystudio/ai-core/core/plugins/built-in'
import { isDedicatedImageGenerationModel } from '@renderer/config/models'
import { createVertexProvider, isVertexAIConfigured, isVertexProvider } from '@renderer/hooks/useVertexAI'
import { getProviderByModel } from '@renderer/services/AssistantService'
import type { GenerateImageParams, Model, Provider } from '@renderer/types'
import { formatApiHost } from '@renderer/utils/api'
import { cloneDeep } from 'lodash'
@ -29,9 +30,8 @@ import LegacyAiProvider from './index'
import { AiSdkMiddlewareConfig, buildAiSdkMiddlewares } from './middleware/aisdk/AiSdkMiddlewareBuilder'
import { CompletionsResult } from './middleware/schemas'
import reasoningTimePlugin from './plugins/reasoningTimePlugin'
import { getAiSdkProviderId } from './provider/factory'
import { getProviderByModel } from '@renderer/services/AssistantService'
import { createAihubmixProvider } from './provider/aihubmix'
import { getAiSdkProviderId } from './provider/factory'
function getActualProvider(model: Model): Provider {
const provider = getProviderByModel(model)

View File

@ -1,4 +1,3 @@
import { getDefaultModel, getProviderByModel } from '@renderer/services/AssistantService'
import { Assistant, Model, Provider } from '@renderer/types'
import { getAiSdkProviderId } from '../provider/factory'

View File

@ -26,13 +26,7 @@ import { isEmpty, takeRight } from 'lodash'
import AiProvider from '../aiCore'
import AiProviderNew from '../aiCore/index_new'
import {
getAssistantProvider,
getDefaultModel,
getProviderByModel,
getTopNamingModel,
getTranslateModel
} from './AssistantService'
import { getDefaultModel, getProviderByModel, getTopNamingModel, getTranslateModel } from './AssistantService'
import { getDefaultAssistant } from './AssistantService'
// // TODO考虑拆开
@ -323,6 +317,7 @@ export async function fetchChatCompletion({
provider: provider,
enableReasoning: capabilities.enableReasoning,
enableTool: assistant.settings?.toolUseMode === 'prompt',
enableWebSearch: capabilities.enableWebSearch,
mcpTools
}