+
Context Window: {formatTokenCount(model.contextWindow)}
+
Input Price: {formatCurrency(model.inputPrice)} / 1M Tokens
+
Output Price: {formatCurrency(model.outputPrice)} / 1M Tokens
+ {model.reasoningEffort && (
+
Reasoning Effort: {toSentenceCase(model.reasoningEffort)}
+ )}
+
+ )}
+ >
+ )}
+ />
+ ) : null
+}
diff --git a/webview-ui/src/features/deep-research/Providers.tsx b/webview-ui/src/features/deep-research/Providers.tsx
new file mode 100644
index 00000000000..61134ae1008
--- /dev/null
+++ b/webview-ui/src/features/deep-research/Providers.tsx
@@ -0,0 +1,68 @@
+import { useCallback, useState } from "react"
+import { Check, ChevronsUpDown } from "lucide-react"
+
+import { cn } from "@/lib/utils"
+import {
+ Button,
+ Command,
+ CommandEmpty,
+ CommandGroup,
+ CommandInput,
+ CommandItem,
+ CommandList,
+ Popover,
+ PopoverContent,
+ PopoverTrigger,
+} from "@/components/ui"
+
+import { useProvider } from "./useProvider"
+
+export function Providers() {
+ const [open, setOpen] = useState(false)
+ const { provider, providers, setProvider } = useProvider()
+
+ const onSelect = useCallback(
+ (value: string) => {
+ const provider = providers.find(({ profileId }) => profileId === value)
+
+ if (provider) {
+ setProvider(provider)
+ setOpen(false)
+ }
+ },
+ [providers, setProvider, setOpen],
+ )
+
+ return (
+