+
- Response
+ Advisor Response
-
+
)
case "user_feedback":
diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx
index 213fcdf6d5..2588bd10b9 100644
--- a/webview-ui/src/components/settings/ApiOptions.tsx
+++ b/webview-ui/src/components/settings/ApiOptions.tsx
@@ -48,6 +48,7 @@ interface ApiOptionsProps {
apiErrorMessage?: string
modelIdErrorMessage?: string
advisorModelIdErrorMessage?: string
+ showAdvisorModelSettings?: boolean
}
const TabPanel = ({ children, isSelected }: { children: React.ReactNode; isSelected: boolean }) => {
@@ -86,14 +87,20 @@ const TabButton = ({
)
}
-const ApiOptions = ({ showModelOptions, apiErrorMessage, modelIdErrorMessage, advisorModelIdErrorMessage }: ApiOptionsProps) => {
+const ApiOptions = ({
+ showModelOptions,
+ apiErrorMessage,
+ modelIdErrorMessage,
+ advisorModelIdErrorMessage,
+ showAdvisorModelSettings,
+}: ApiOptionsProps) => {
const { apiConfiguration, setApiConfiguration, uriScheme } = useExtensionState()
const [ollamaModels, setOllamaModels] = useState
([])
const [lmStudioModels, setLmStudioModels] = useState([])
const [anthropicBaseUrlSelected, setAnthropicBaseUrlSelected] = useState(!!apiConfiguration?.anthropicBaseUrl)
const [azureApiVersionSelected, setAzureApiVersionSelected] = useState(!!apiConfiguration?.azureApiVersion)
const [isDescriptionExpanded, setIsDescriptionExpanded] = useState(false)
- const [selectedTab, setSelectedTab] = useState("base")
+ const [selectedTab, setSelectedTab] = useState(showAdvisorModelSettings ? "advisor" : "base")
const handleInputChange = (field: keyof ApiConfiguration) => (event: any) => {
setApiConfiguration({
@@ -846,8 +853,8 @@ const ApiOptions = ({ showModelOptions, apiErrorMessage, modelIdErrorMessage, ad
marginBottom: "10px",
color: "var(--vscode-foreground)",
}}>
- The Cline model can consult this smarter, more powerful model for help on planning out a task, fixing
- a hard bug, and other complex problems.
+ The Cline model can consult this more powerful model for advice when running into roadblocks, such as
+ an error it cannot resolve.
{selectedProvider === "anthropic" && (
diff --git a/webview-ui/src/components/settings/OpenRouterModelPicker.tsx b/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
index b8cb4992e7..f687e4171b 100644
--- a/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
+++ b/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
@@ -238,17 +238,31 @@ const OpenRouterModelPicker: React.FC = ({ modelType
marginTop: 0,
color: "var(--vscode-descriptionForeground)",
}}>
- The extension automatically fetches the latest list of models available on{" "}
-
- OpenRouter.
-
- If you're unsure which model to choose, Cline works best with{" "}
- handleModelChange("anthropic/claude-3.5-sonnet:beta")}>
- anthropic/claude-3.5-sonnet:beta.
-
- You can also try searching "free" for no-cost options currently available.
+ {modelType === "base" ? (
+ <>
+ The extension automatically fetches the latest list of models available on{" "}
+
+ OpenRouter.
+
+ If you're unsure which model to choose, Cline works best with{" "}
+ handleModelChange("anthropic/claude-3.5-sonnet:beta")}>
+ anthropic/claude-3.5-sonnet:beta.
+
+ You can also try searching "free" for no-cost options currently available.
+ >
+ ) : (
+ <>
+ It's recommended using a higher-reasoning model such as{" "}
+ handleModelChange("openai/o1-preview")}>
+ openai/o1-preview
+
+ for the best results.
+ >
+ )}
)}
diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx
index 91e9d136c8..921f311c56 100644
--- a/webview-ui/src/components/settings/SettingsView.tsx
+++ b/webview-ui/src/components/settings/SettingsView.tsx
@@ -8,10 +8,11 @@ import ApiOptions from "./ApiOptions"
const IS_DEV = false // FIXME: use flags when packaging
type SettingsViewProps = {
+ showAdvisorModelSettings: boolean
onDone: () => void
}
-const SettingsView = ({ onDone }: SettingsViewProps) => {
+const SettingsView = ({ showAdvisorModelSettings, onDone }: SettingsViewProps) => {
const { apiConfiguration, version, customInstructions, setCustomInstructions, openRouterModels } = useExtensionState()
const [apiErrorMessage, setApiErrorMessage] = useState(undefined)
const [modelIdErrorMessage, setModelIdErrorMessage] = useState(undefined)
@@ -93,6 +94,7 @@ const SettingsView = ({ onDone }: SettingsViewProps) => {