fix(AiProvider): remove unnecessary middleware removal logic for… (#8437)

* refactor(AiProvider): remove unnecessary middleware removal logic for improved clarity

* feat(PPIOAPIClient): add compatibility type check for OpenAIAPIClient
This commit is contained in:
SuYao 2025-07-24 18:59:32 +08:00 committed by GitHub
parent cd68736263
commit e85ea61063
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 7 deletions

View File

@ -1,6 +1,6 @@
import { loggerService } from '@logger'
import { isSupportedModel } from '@renderer/config/models'
import { Provider } from '@renderer/types'
import { Model, Provider } from '@renderer/types'
import OpenAI from 'openai'
import { OpenAIAPIClient } from '../openai/OpenAIApiClient'
@ -11,6 +11,11 @@ export class PPIOAPIClient extends OpenAIAPIClient {
super(provider)
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
override getClientCompatibilityType(_model?: Model): string[] {
return ['OpenAIAPIClient']
}
override async listModels(): Promise<OpenAI.Models.Model[]> {
try {
const sdk = await this.getSdkInstance()

View File

@ -79,12 +79,6 @@ export default class AiProvider {
} else {
// Existing logic for other models
logger.silly('Builder Params', params)
if (!params.enableReasoning) {
// 这里注释掉不会影响正常的关闭思考,可忽略不计的性能下降
// builder.remove(ThinkingTagExtractionMiddlewareName)
builder.remove(ThinkChunkMiddlewareName)
logger.silly('ThinkChunkMiddleware is removed')
}
// 使用兼容性类型检查避免typescript类型收窄和装饰器模式的问题
const clientTypes = client.getClientCompatibilityType(model)
const isOpenAICompatible =