diff --git a/apps/desktop/src/components/editor/AiAssistant.vue b/apps/desktop/src/components/editor/AiAssistant.vue index 10ccfa65e1..8f18b1601c 100644 --- a/apps/desktop/src/components/editor/AiAssistant.vue +++ b/apps/desktop/src/components/editor/AiAssistant.vue @@ -738,7 +738,7 @@ const messageRenderer = createAiMessageRenderer({ markdown: formatInlineText });
diff --git a/apps/desktop/src/lib/ai.ts b/apps/desktop/src/lib/ai.ts index 0a647b3a8e..87dcd4a373 100644 --- a/apps/desktop/src/lib/ai.ts +++ b/apps/desktop/src/lib/ai.ts @@ -94,6 +94,7 @@ export async function runAiStream( const sid = sessionId || uuid(); const params = actionParams(input.action); + const maxTokens = input.config.enableThinking ? Math.max(params.maxTokens, 8192) : params.maxTokens; await api.aiStream( sid, @@ -101,7 +102,7 @@ export async function runAiStream( config: input.config, systemPrompt, messages, - maxTokens: params.maxTokens, + maxTokens, temperature: params.temperature, }, (chunk) => { diff --git a/crates/dbx-core/src/ai.rs b/crates/dbx-core/src/ai.rs index 3bea21dd25..adf1d8d20a 100644 --- a/crates/dbx-core/src/ai.rs +++ b/crates/dbx-core/src/ai.rs @@ -504,7 +504,8 @@ pub async fn stream( ) -> Result<(), String> { validate_config(&request.config)?; - let client = build_ai_http_client(&request.config, 120)?; + let stream_timeout = if request.config.enable_thinking { 600 } else { 120 }; + let client = build_ai_http_client(&request.config, stream_timeout)?; match request.config.provider { AiProvider::Claude => stream_claude(&client, session_id, request, cancelled, &on_chunk).await,