diff --git a/webview-ui/src/components/settings/ApiOptions.tsx b/webview-ui/src/components/settings/ApiOptions.tsx
index a93945c..cbf12c5 100644
--- a/webview-ui/src/components/settings/ApiOptions.tsx
+++ b/webview-ui/src/components/settings/ApiOptions.tsx
@@ -31,6 +31,7 @@ import { ExtensionMessage } from "../../../../src/shared/ExtensionMessage"
import { useExtensionState } from "../../context/ExtensionStateContext"
import { vscode } from "../../utils/vscode"
import VSCodeButtonLink from "../common/VSCodeButtonLink"
+import OpenRouterModelPicker from "./OpenRouterModelPicker"
interface ApiOptionsProps {
showModelOptions: boolean
@@ -529,6 +530,8 @@ const ApiOptions = ({ showModelOptions, apiErrorMessage }: ApiOptionsProps) => {
)}
+ {selectedProvider === "openrouter" && showModelOptions && }
+
{selectedProvider !== "openrouter" &&
selectedProvider !== "openai" &&
selectedProvider !== "ollama" &&
diff --git a/webview-ui/src/components/settings/OpenRouterModelPicker.tsx b/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
index 1d73ad6..13fd6f9 100644
--- a/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
+++ b/webview-ui/src/components/settings/OpenRouterModelPicker.tsx
@@ -2,6 +2,8 @@ import { VSCodeDropdown, VSCodeOption } from "@vscode/webview-ui-toolkit/react"
import React, { useMemo } from "react"
import { useExtensionState } from "../../context/ExtensionStateContext"
import { ModelInfoView, normalizeApiConfiguration } from "./ApiOptions"
+import { useMount } from "react-use"
+import { vscode } from "../../utils/vscode"
interface OpenRouterModelPickerProps {}
@@ -10,14 +12,21 @@ const OpenRouterModelPicker: React.FC = () => {
const handleModelChange = (event: any) => {
const newModelId = event.target.value
- // get info
- setApiConfiguration({ ...apiConfiguration, openRouterModelId: newModelId })
+ setApiConfiguration({
+ ...apiConfiguration,
+ openRouterModelId: newModelId,
+ openRouterModelInfo: openRouterModels[newModelId],
+ })
}
const { selectedModelId, selectedModelInfo } = useMemo(() => {
return normalizeApiConfiguration(apiConfiguration)
}, [apiConfiguration])
+ useMount(() => {
+ vscode.postMessage({ type: "refreshOpenRouterModels" })
+ })
+
return (