diff --git a/CHANGELOG.md b/CHANGELOG.md index 5054057..cb5ece2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to the "claude-dev" extension will be documented in this fil ## [1.1.1] -- Added the ability to choose other Claude models (+ GPT-4o, Gemini, DeepSeek, and Mistral if you use OpenRouter) +- Added the ability to choose other Claude models (+ GPT-4o, DeepSeek, and Mistral if you use OpenRouter) ## [1.1.0] diff --git a/src/shared/api.ts b/src/shared/api.ts index 40fb728..f03a0c4 100644 --- a/src/shared/api.ts +++ b/src/shared/api.ts @@ -152,18 +152,25 @@ export const openRouterModels = { // inputPrice: 0.06, // outputPrice: 0.06, // }, - "google/gemini-pro-1.5": { - maxTokens: 8192, - supportsImages: true, - inputPrice: 2.5, - outputPrice: 7.5, - }, - "google/gemini-flash-1.5": { - maxTokens: 8192, - supportsImages: true, - inputPrice: 0.25, - outputPrice: 0.75, - }, + // OpenRouter needs to fix mapping gemini 1.5 responses for tool calls properly, they return content with line breaks formatted wrong (too many escapes), and throw errors for being in the wrong order when they're not. They also cannot handle feedback given to a request with multiple tools. Giving feedback to one tool use requests works fine. ("Please ensure that function response turn comes immediately after a function call turn. And the number of function response parts should be equal to number of function call parts of the function call turn.") + // "google/gemini-pro-1.5": { + // maxTokens: 8192, + // supportsImages: false, // "Function Calling is not supported with non-text input" + // inputPrice: 2.5, + // outputPrice: 7.5, + // }, + // "google/gemini-flash-1.5": { + // maxTokens: 8192, + // supportsImages: false, // "Function Calling is not supported with non-text input" + // inputPrice: 0.25, + // outputPrice: 0.75, + // }, + // "google/gemini-pro": { + // maxTokens: 8192, + // supportsImages: false, // "Function Calling is not supported with non-text input" + // inputPrice: 0.125, + // outputPrice: 0.375, + // }, // while deepseek coder can use tools, it may sometimes send tool invocation as a text block "deepseek/deepseek-coder": { maxTokens: 4096, diff --git a/webview-ui/src/components/Announcement.tsx b/webview-ui/src/components/Announcement.tsx index 13acbb1..4e5d759 100644 --- a/webview-ui/src/components/Announcement.tsx +++ b/webview-ui/src/components/Announcement.tsx @@ -32,8 +32,8 @@ const Announcement = ({ version, hideAnnouncement }: AnnouncementProps) => { applications or fix bugs with screenshots
  • - Added a settings option to choose other Claude models (+ GPT-4o, Gemini, DeepSeek, and Mistral if - you use OpenRouter) + Added a settings option to choose other Claude models (+ GPT-4o, DeepSeek, and Mistral if you use + OpenRouter)
  • Improved support for running interactive terminal commands and long-running processes like servers diff --git a/webview-ui/src/components/ApiOptions.tsx b/webview-ui/src/components/ApiOptions.tsx index 43e30aa..f993644 100644 --- a/webview-ui/src/components/ApiOptions.tsx +++ b/webview-ui/src/components/ApiOptions.tsx @@ -66,8 +66,8 @@ const ApiOptions: React.FC = ({ showModelOptions, apiConfigurat API Provider - Anthropic OpenRouter + Anthropic AWS Bedrock diff --git a/webview-ui/src/components/WelcomeView.tsx b/webview-ui/src/components/WelcomeView.tsx index 389b11d..e6852ea 100644 --- a/webview-ui/src/components/WelcomeView.tsx +++ b/webview-ui/src/components/WelcomeView.tsx @@ -4,6 +4,7 @@ import React, { useEffect, useState } from "react" import { validateApiConfiguration } from "../utils/validate" import { vscode } from "../utils/vscode" import ApiOptions from "./ApiOptions" +import { useEffectOnce } from "react-use" interface WelcomeViewProps { apiConfiguration?: ApiConfiguration @@ -23,6 +24,13 @@ const WelcomeView: React.FC = ({ apiConfiguration, setApiConfi setApiErrorMessage(validateApiConfiguration(apiConfiguration)) }, [apiConfiguration]) + useEffectOnce(() => { + setApiConfiguration((prevConfig) => ({ + ...prevConfig, + apiProvider: "openrouter", + })) + }) + return (

    Hi, I'm Claude Dev