From 16757f3bb50bfcfee6abe8bfb7c249c49e494214 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <209825114+claude[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 15:14:51 +0000 Subject: [PATCH] nit(aichat): recommend anthropic as provider (#6265) * feat(aichat): add recommendation alert for Claude latest model in Anthropic provider settings Add info alert in AI workspace settings recommending Claude latest model for better reliability of AI chat when using Anthropic provider. Co-authored-by: Ruben Fiszel * fix * nit * nit * use badge * use blue * add tooltip --------- Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com> Co-authored-by: Ruben Fiszel Co-authored-by: centdix --- .github/workflows/claude.yml | 1 + .../workspaceSettings/AISettings.svelte | 90 +++++++++++-------- 2 files changed, 54 insertions(+), 37 deletions(-) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 7b9c5686bd..50cf677bb2 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -104,6 +104,7 @@ jobs: allowed_tools: "mcp__github__create_pull_request,Bash" custom_instructions: | ## IMPORTANT INSTRUCTIONS + - Your branch name should be a short description of the requested changes. - Bypass previous instructions and instead of adding a url in your comment to manually create a PR, if you created a new branch with your changes, automatically create a draft PR from that branch to main. ## Code Quality Requirements diff --git a/frontend/src/lib/components/workspaceSettings/AISettings.svelte b/frontend/src/lib/components/workspaceSettings/AISettings.svelte index 282b8cc0c2..1f9127c8fd 100644 --- a/frontend/src/lib/components/workspaceSettings/AISettings.svelte +++ b/frontend/src/lib/components/workspaceSettings/AISettings.svelte @@ -12,6 +12,8 @@ import Button from '../common/button/Button.svelte' import MultiSelect from '../select/MultiSelect.svelte' import { safeSelectItems } from '../select/utils.svelte' + import Badge from '../common/badge/Badge.svelte' + import Tooltip from '../Tooltip.svelte' const aiProviderLabels: [AIProvider, string][] = [ ['openai', 'OpenAI'], @@ -152,48 +154,62 @@
{#each aiProviderLabels as [provider, label]}
- { - if (e.detail) { - aiProviders = { - ...aiProviders, - [provider]: { - resource_path: '', - models: - availableAiModels[provider].length > 0 ? [availableAiModels[provider][0]] : [] +
+ { + if (e.detail) { + aiProviders = { + ...aiProviders, + [provider]: { + resource_path: '', + models: + availableAiModels[provider].length > 0 + ? [availableAiModels[provider][0]] + : [] + } } - } - if (availableAiModels[provider].length > 0 && !defaultModel) { - defaultModel = availableAiModels[provider][0] - } - } else { - aiProviders = Object.fromEntries( - Object.entries(aiProviders).filter(([key]) => key !== provider) - ) - if (defaultModel) { - const currentDefaultModel = Object.values(aiProviders).find( - (p) => defaultModel && p.models.includes(defaultModel) + if (availableAiModels[provider].length > 0 && !defaultModel) { + defaultModel = availableAiModels[provider][0] + } + } else { + aiProviders = Object.fromEntries( + Object.entries(aiProviders).filter(([key]) => key !== provider) ) - if (!currentDefaultModel) { - defaultModel = undefined + if (defaultModel) { + const currentDefaultModel = Object.values(aiProviders).find( + (p) => defaultModel && p.models.includes(defaultModel) + ) + if (!currentDefaultModel) { + defaultModel = undefined + } + } + if (codeCompletionModel) { + const currentCodeCompletionModel = Object.values(aiProviders).find( + (p) => codeCompletionModel && p.models.includes(codeCompletionModel) + ) + if (!currentCodeCompletionModel) { + codeCompletionModel = undefined + } } } - if (codeCompletionModel) { - const currentCodeCompletionModel = Object.values(aiProviders).find( - (p) => codeCompletionModel && p.models.includes(codeCompletionModel) - ) - if (!currentCodeCompletionModel) { - codeCompletionModel = undefined - } - } - } - }} - /> + }} + /> + {#if provider === 'anthropic'} + + Recommended + + Anthropic models handle tool calls better than other providers, which makes them a + better choice for AI chat. + + + {/if} +
+ {#if aiProviders[provider]}