diff --git a/src/main/presenter/configPresenter/modelDefaultSettings.ts b/src/main/presenter/configPresenter/modelDefaultSettings.ts index 0a452e7aa..6b0c19b11 100644 --- a/src/main/presenter/configPresenter/modelDefaultSettings.ts +++ b/src/main/presenter/configPresenter/modelDefaultSettings.ts @@ -671,24 +671,26 @@ export const defaultModelsSettings: DefaultModelSetting[] = [ { id: 'gpt-oss-120b', name: 'GPT OSS 120B', - temperature: 0.7, - maxTokens: 131000, - contextLength: 131000, + temperature: 0.6, + maxTokens: 32000, + contextLength: 128000, match: ['gpt-oss-120b'], vision: false, functionCall: true, - reasoning: false + reasoning: true, + reasoningEffort: 'medium' }, { id: 'gpt-oss-20b', name: 'GPT OSS 20B', - temperature: 0.7, - maxTokens: 33000, - contextLength: 131000, + temperature: 0.6, + maxTokens: 16000, + contextLength: 128000, match: ['gpt-oss-20b'], vision: false, functionCall: true, - reasoning: false + reasoning: true, + reasoningEffort: 'medium' }, { id: 'o4-mini-high', diff --git a/src/main/presenter/configPresenter/providerModelSettings.ts b/src/main/presenter/configPresenter/providerModelSettings.ts index b5af6cd05..b0d82dc53 100644 --- a/src/main/presenter/configPresenter/providerModelSettings.ts +++ b/src/main/presenter/configPresenter/providerModelSettings.ts @@ -377,24 +377,26 @@ export const providerModelSettings: Record 0 diff --git a/src/renderer/src/components/ChatConfig.vue b/src/renderer/src/components/ChatConfig.vue index c433907c5..aae03d02b 100644 --- a/src/renderer/src/components/ChatConfig.vue +++ b/src/renderer/src/components/ChatConfig.vue @@ -9,6 +9,13 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/comp import { useLanguageStore } from '@/stores/language' import { Input } from '@/components/ui/input' import { Switch } from '@/components/ui/switch' +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue +} from '@/components/ui/select' // Define props to receive config from parent const props = defineProps<{ @@ -21,6 +28,8 @@ const props = defineProps<{ thinkingBudget?: number modelId?: string providerId?: string + reasoningEffort?: 'minimal' | 'low' | 'medium' | 'high' + verbosity?: 'low' | 'medium' | 'high' }>() const systemPrompt = defineModel('systemPrompt') @@ -30,6 +39,8 @@ const emit = defineEmits<{ 'update:contextLength': [value: number] 'update:maxTokens': [value: number] 'update:thinkingBudget': [value: number | undefined] + 'update:reasoningEffort': [value: 'minimal' | 'low' | 'medium' | 'high'] + 'update:verbosity': [value: 'low' | 'medium' | 'high'] // 'update:artifacts': [value: 0 | 1] }>() @@ -78,6 +89,11 @@ const isGPT5Model = computed(() => { return modelId.startsWith('gpt-5') }) +// 判断模型是否支持 reasoningEffort 参数 +const supportsReasoningEffort = computed(() => { + return props.reasoningEffort !== undefined +}) + // 当前显示的思考预算值 const displayThinkingBudget = computed({ get: () => { @@ -276,6 +292,94 @@ const handleDynamicThinkingToggle = (enabled: boolean) => { + +
+
+ + + + + + + + +

{{ t('settings.model.modelConfig.reasoningEffort.description') }}

+
+
+
+
+ +
+ + +
+
+ + + + + + + + +

{{ t('settings.model.modelConfig.verbosity.description') }}

+
+
+
+
+ +
+ -
+ +
@@ -494,6 +494,10 @@ const isGPT5Model = computed(() => { return modelId.startsWith('gpt-5') }) +const supportsReasoningEffort = computed(() => { + return config.value.reasoningEffort !== undefined +}) + // 是否显示思考预算配置 const showThinkingBudget = computed(() => { const isGemini = props.providerId === 'gemini'