diff --git a/packages/types/src/provider-settings.ts b/packages/types/src/provider-settings.ts index fe04ad9185..3c3757188f 100644 --- a/packages/types/src/provider-settings.ts +++ b/packages/types/src/provider-settings.ts @@ -99,6 +99,7 @@ const anthropicSchema = apiModelIdProviderModelSchema.extend({ apiKey: z.string().optional(), anthropicBaseUrl: z.string().optional(), anthropicUseAuthToken: z.boolean().optional(), + anthropicBeta1MContext: z.boolean().optional(), // Enable 'context-1m-2025-08-07' beta for 1M context window }) const claudeCodeSchema = apiModelIdProviderModelSchema.extend({ diff --git a/packages/types/src/providers/anthropic.ts b/packages/types/src/providers/anthropic.ts index 0c3323cffe..2cb38537a4 100644 --- a/packages/types/src/providers/anthropic.ts +++ b/packages/types/src/providers/anthropic.ts @@ -8,15 +8,25 @@ export const anthropicDefaultModelId: AnthropicModelId = "claude-sonnet-4-202505 export const anthropicModels = { "claude-sonnet-4-20250514": { maxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false. - contextWindow: 200_000, + contextWindow: 200_000, // Default 200K, extendable to 1M with beta flag 'context-1m-2025-08-07' supportsImages: true, supportsComputerUse: true, supportsPromptCache: true, - inputPrice: 3.0, // $3 per million input tokens - outputPrice: 15.0, // $15 per million output tokens + inputPrice: 3.0, // $3 per million input tokens (≤200K context) + outputPrice: 15.0, // $15 per million output tokens (≤200K context) cacheWritesPrice: 3.75, // $3.75 per million tokens cacheReadsPrice: 0.3, // $0.30 per million tokens supportsReasoningBudget: true, + // Tiered pricing for extended context (requires beta flag 'context-1m-2025-08-07') + tiers: [ + { + contextWindow: 1_000_000, // 1M tokens with beta flag + inputPrice: 6.0, // $6 per million input tokens (>200K context) + outputPrice: 22.5, // $22.50 per million output tokens (>200K context) + cacheWritesPrice: 7.5, // $7.50 per million tokens (>200K context) + cacheReadsPrice: 0.6, // $0.60 per million tokens (>200K context) + }, + ], }, "claude-opus-4-1-20250805": { maxTokens: 8192, diff --git a/src/api/providers/anthropic.ts b/src/api/providers/anthropic.ts index f456586762..cb48492b60 100644 --- a/src/api/providers/anthropic.ts +++ b/src/api/providers/anthropic.ts @@ -45,6 +45,11 @@ export class AnthropicHandler extends BaseProvider implements SingleCompletionHa const cacheControl: CacheControlEphemeral = { type: "ephemeral" } let { id: modelId, betas = [], maxTokens, temperature, reasoning: thinking } = this.getModel() + // Add 1M context beta flag if enabled for Claude Sonnet 4 + if (modelId === "claude-sonnet-4-20250514" && this.options.anthropicBeta1MContext) { + betas.push("context-1m-2025-08-07") + } + switch (modelId) { case "claude-sonnet-4-20250514": case "claude-opus-4-1-20250805": @@ -236,7 +241,23 @@ export class AnthropicHandler extends BaseProvider implements SingleCompletionHa getModel() { const modelId = this.options.apiModelId let id = modelId && modelId in anthropicModels ? (modelId as AnthropicModelId) : anthropicDefaultModelId - const info: ModelInfo = anthropicModels[id] + let info: ModelInfo = anthropicModels[id] + + // If 1M context beta is enabled for Claude Sonnet 4, update the model info + if (id === "claude-sonnet-4-20250514" && this.options.anthropicBeta1MContext) { + // Use the tier pricing for 1M context + const tier = info.tiers?.[0] + if (tier) { + info = { + ...info, + contextWindow: tier.contextWindow, + inputPrice: tier.inputPrice, + outputPrice: tier.outputPrice, + cacheWritesPrice: tier.cacheWritesPrice, + cacheReadsPrice: tier.cacheReadsPrice, + } + } + } const params = getModelParams({ format: "anthropic", diff --git a/webview-ui/src/components/settings/ModelInfoView.tsx b/webview-ui/src/components/settings/ModelInfoView.tsx index 8078b03acd..2ba732effa 100644 --- a/webview-ui/src/components/settings/ModelInfoView.tsx +++ b/webview-ui/src/components/settings/ModelInfoView.tsx @@ -41,6 +41,12 @@ export const ModelInfoView = ({ supportsLabel={t("settings:modelInfo.supportsPromptCache")} doesNotSupportLabel={t("settings:modelInfo.noPromptCache")} />, + typeof modelInfo?.contextWindow === "number" && modelInfo.contextWindow > 0 && ( + <> + {t("settings:modelInfo.contextWindow")}{" "} + {modelInfo.contextWindow?.toLocaleString()} tokens + + ), typeof modelInfo?.maxTokens === "number" && modelInfo.maxTokens > 0 && ( <> {t("settings:modelInfo.maxOutput")}:{" "} diff --git a/webview-ui/src/components/settings/providers/Anthropic.tsx b/webview-ui/src/components/settings/providers/Anthropic.tsx index f340e73f72..ede2b90208 100644 --- a/webview-ui/src/components/settings/providers/Anthropic.tsx +++ b/webview-ui/src/components/settings/providers/Anthropic.tsx @@ -6,6 +6,7 @@ import type { ProviderSettings } from "@roo-code/types" import { useAppTranslation } from "@src/i18n/TranslationContext" import { VSCodeButtonLink } from "@src/components/common/VSCodeButtonLink" +import { useSelectedModel } from "@src/components/ui/hooks/useSelectedModel" import { inputEventTransform, noTransform } from "../transforms" @@ -16,9 +17,13 @@ type AnthropicProps = { export const Anthropic = ({ apiConfiguration, setApiConfigurationField }: AnthropicProps) => { const { t } = useAppTranslation() + const selectedModel = useSelectedModel(apiConfiguration) const [anthropicBaseUrlSelected, setAnthropicBaseUrlSelected] = useState(!!apiConfiguration?.anthropicBaseUrl) + // Check if the current model supports 1M context beta + const supports1MContextBeta = selectedModel?.id === "claude-sonnet-4-20250514" + const handleInputChange = useCallback( ( field: K, @@ -79,6 +84,20 @@ export const Anthropic = ({ apiConfiguration, setApiConfigurationField }: Anthro )} + {supports1MContextBeta && ( +
+ { + setApiConfigurationField("anthropicBeta1MContext", checked) + }}> + {t("settings:providers.anthropic1MContextBetaLabel")} + +
+ {t("settings:providers.anthropic1MContextBetaDescription")} +
+
+ )} ) } diff --git a/webview-ui/src/components/ui/hooks/useSelectedModel.ts b/webview-ui/src/components/ui/hooks/useSelectedModel.ts index c67ec796b6..b13823a7d2 100644 --- a/webview-ui/src/components/ui/hooks/useSelectedModel.ts +++ b/webview-ui/src/components/ui/hooks/useSelectedModel.ts @@ -291,8 +291,41 @@ function getSelectedModel({ default: { provider satisfies "anthropic" | "gemini-cli" | "human-relay" | "fake-ai" const id = apiConfiguration.apiModelId ?? anthropicDefaultModelId - const info = anthropicModels[id as keyof typeof anthropicModels] - return { id, info } + const baseInfo = anthropicModels[id as keyof typeof anthropicModels] + + // Apply 1M context beta tier pricing for Claude Sonnet 4 + if ( + provider === "anthropic" && + id === "claude-sonnet-4-20250514" && + apiConfiguration.anthropicBeta1MContext && + baseInfo + ) { + // Type assertion since we know claude-sonnet-4-20250514 has tiers + const modelWithTiers = baseInfo as typeof baseInfo & { + tiers?: Array<{ + contextWindow: number + inputPrice?: number + outputPrice?: number + cacheWritesPrice?: number + cacheReadsPrice?: number + }> + } + const tier = modelWithTiers.tiers?.[0] + if (tier) { + // Create a new ModelInfo object with updated values + const info: ModelInfo = { + ...baseInfo, + contextWindow: tier.contextWindow, + inputPrice: tier.inputPrice ?? baseInfo.inputPrice, + outputPrice: tier.outputPrice ?? baseInfo.outputPrice, + cacheWritesPrice: tier.cacheWritesPrice ?? baseInfo.cacheWritesPrice, + cacheReadsPrice: tier.cacheReadsPrice ?? baseInfo.cacheReadsPrice, + } + return { id, info } + } + } + + return { id, info: baseInfo } } } } diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index 0212002329..02839a3372 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Clau API d'Anthropic", "getAnthropicApiKey": "Obtenir clau API d'Anthropic", "anthropicUseAuthToken": "Passar la clau API d'Anthropic com a capçalera d'autorització en lloc de X-Api-Key", + "anthropic1MContextBetaLabel": "Activa la finestra de context d'1M (Beta)", + "anthropic1MContextBetaDescription": "Amplia la finestra de context a 1 milió de tokens per a Claude Sonnet 4", "cerebrasApiKey": "Clau API de Cerebras", "getCerebrasApiKey": "Obtenir clau API de Cerebras", "chutesApiKey": "Clau API de Chutes", @@ -727,6 +729,7 @@ "noComputerUse": "No suporta ús de l'ordinador", "supportsPromptCache": "Suporta emmagatzematge en caché de prompts", "noPromptCache": "No suporta emmagatzematge en caché de prompts", + "contextWindow": "Finestra de context:", "maxOutput": "Sortida màxima", "inputPrice": "Preu d'entrada", "outputPrice": "Preu de sortida", diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index c0a7c75096..204d559dfc 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -261,6 +261,8 @@ "anthropicApiKey": "Anthropic API-Schlüssel", "getAnthropicApiKey": "Anthropic API-Schlüssel erhalten", "anthropicUseAuthToken": "Anthropic API-Schlüssel als Authorization-Header anstelle von X-Api-Key übergeben", + "anthropic1MContextBetaLabel": "1M Kontextfenster aktivieren (Beta)", + "anthropic1MContextBetaDescription": "Erweitert das Kontextfenster für Claude Sonnet 4 auf 1 Million Token", "cerebrasApiKey": "Cerebras API-Schlüssel", "getCerebrasApiKey": "Cerebras API-Schlüssel erhalten", "chutesApiKey": "Chutes API-Schlüssel", @@ -727,6 +729,7 @@ "noComputerUse": "Unterstützt keine Computernutzung", "supportsPromptCache": "Unterstützt Prompt-Cache", "noPromptCache": "Unterstützt keinen Prompt-Cache", + "contextWindow": "Kontextfenster:", "maxOutput": "Maximale Ausgabe", "inputPrice": "Eingabepreis", "outputPrice": "Ausgabepreis", diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index 74e2e35239..b57a0d7166 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -258,6 +258,8 @@ "anthropicApiKey": "Anthropic API Key", "getAnthropicApiKey": "Get Anthropic API Key", "anthropicUseAuthToken": "Pass Anthropic API Key as Authorization header instead of X-Api-Key", + "anthropic1MContextBetaLabel": "Enable 1M context window (Beta)", + "anthropic1MContextBetaDescription": "Extends context window to 1 million tokens for Claude Sonnet 4", "cerebrasApiKey": "Cerebras API Key", "getCerebrasApiKey": "Get Cerebras API Key", "chutesApiKey": "Chutes API Key", @@ -726,6 +728,7 @@ "noComputerUse": "Does not support computer use", "supportsPromptCache": "Supports prompt caching", "noPromptCache": "Does not support prompt caching", + "contextWindow": "Context Window:", "maxOutput": "Max output", "inputPrice": "Input price", "outputPrice": "Output price", diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 02f4956dfe..afcff6dfa5 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Clave API de Anthropic", "getAnthropicApiKey": "Obtener clave API de Anthropic", "anthropicUseAuthToken": "Pasar la clave API de Anthropic como encabezado de autorización en lugar de X-Api-Key", + "anthropic1MContextBetaLabel": "Habilitar ventana de contexto de 1M (Beta)", + "anthropic1MContextBetaDescription": "Amplía la ventana de contexto a 1 millón de tokens para Claude Sonnet 4", "cerebrasApiKey": "Clave API de Cerebras", "getCerebrasApiKey": "Obtener clave API de Cerebras", "chutesApiKey": "Clave API de Chutes", @@ -727,6 +729,7 @@ "noComputerUse": "No soporta uso del ordenador", "supportsPromptCache": "Soporta caché de prompts", "noPromptCache": "No soporta caché de prompts", + "contextWindow": "Ventana de contexto", "maxOutput": "Salida máxima", "inputPrice": "Precio de entrada", "outputPrice": "Precio de salida", diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index 790f5f0a5e..2772460344 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Clé API Anthropic", "getAnthropicApiKey": "Obtenir la clé API Anthropic", "anthropicUseAuthToken": "Passer la clé API Anthropic comme en-tête d'autorisation au lieu de X-Api-Key", + "anthropic1MContextBetaLabel": "Activer la fenêtre de contexte de 1M (Bêta)", + "anthropic1MContextBetaDescription": "Étend la fenêtre de contexte à 1 million de tokens pour Claude Sonnet 4", "cerebrasApiKey": "Clé API Cerebras", "getCerebrasApiKey": "Obtenir la clé API Cerebras", "chutesApiKey": "Clé API Chutes", @@ -727,6 +729,7 @@ "noComputerUse": "Ne prend pas en charge l'utilisation de l'ordinateur", "supportsPromptCache": "Prend en charge la mise en cache des prompts", "noPromptCache": "Ne prend pas en charge la mise en cache des prompts", + "contextWindow": "Fenêtre de contexte :", "maxOutput": "Sortie maximale", "inputPrice": "Prix d'entrée", "outputPrice": "Prix de sortie", diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 23ee616ac2..3c76392ffd 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic API कुंजी", "getAnthropicApiKey": "Anthropic API कुंजी प्राप्त करें", "anthropicUseAuthToken": "X-Api-Key के बजाय Anthropic API कुंजी को Authorization हेडर के रूप में पास करें", + "anthropic1MContextBetaLabel": "1M संदर्भ विंडो सक्षम करें (बीटा)", + "anthropic1MContextBetaDescription": "Claude Sonnet 4 के लिए संदर्भ विंडो को 1 मिलियन टोकन तक बढ़ाता है", "cerebrasApiKey": "Cerebras API कुंजी", "getCerebrasApiKey": "Cerebras API कुंजी प्राप्त करें", "chutesApiKey": "Chutes API कुंजी", @@ -728,6 +730,7 @@ "noComputerUse": "कंप्यूटर उपयोग का समर्थन नहीं करता है", "supportsPromptCache": "प्रॉम्प्ट कैशिंग का समर्थन करता है", "noPromptCache": "प्रॉम्प्ट कैशिंग का समर्थन नहीं करता है", + "contextWindow": "संदर्भ विंडो:", "maxOutput": "अधिकतम आउटपुट", "inputPrice": "इनपुट मूल्य", "outputPrice": "आउटपुट मूल्य", diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index d32c3d6605..cf3dc1d42f 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -263,6 +263,8 @@ "anthropicApiKey": "Anthropic API Key", "getAnthropicApiKey": "Dapatkan Anthropic API Key", "anthropicUseAuthToken": "Kirim Anthropic API Key sebagai Authorization header alih-alih X-Api-Key", + "anthropic1MContextBetaLabel": "Aktifkan jendela konteks 1M (Beta)", + "anthropic1MContextBetaDescription": "Memperluas jendela konteks menjadi 1 juta token untuk Claude Sonnet 4", "cerebrasApiKey": "Cerebras API Key", "getCerebrasApiKey": "Dapatkan Cerebras API Key", "chutesApiKey": "Chutes API Key", @@ -757,6 +759,7 @@ "noComputerUse": "Tidak mendukung computer use", "supportsPromptCache": "Mendukung prompt caching", "noPromptCache": "Tidak mendukung prompt caching", + "contextWindow": "Jendela Konteks:", "maxOutput": "Output maksimum", "inputPrice": "Harga input", "outputPrice": "Harga output", diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index 2d8cb156a0..40a15c3e60 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Chiave API Anthropic", "getAnthropicApiKey": "Ottieni chiave API Anthropic", "anthropicUseAuthToken": "Passa la chiave API Anthropic come header di autorizzazione invece di X-Api-Key", + "anthropic1MContextBetaLabel": "Abilita finestra di contesto da 1M (Beta)", + "anthropic1MContextBetaDescription": "Estende la finestra di contesto a 1 milione di token per Claude Sonnet 4", "cerebrasApiKey": "Chiave API Cerebras", "getCerebrasApiKey": "Ottieni chiave API Cerebras", "chutesApiKey": "Chiave API Chutes", @@ -728,6 +730,7 @@ "noComputerUse": "Non supporta uso del computer", "supportsPromptCache": "Supporta cache dei prompt", "noPromptCache": "Non supporta cache dei prompt", + "contextWindow": "Finestra di contesto:", "maxOutput": "Output massimo", "inputPrice": "Prezzo input", "outputPrice": "Prezzo output", diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index b2dedba90c..7009c5d48b 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic APIキー", "getAnthropicApiKey": "Anthropic APIキーを取得", "anthropicUseAuthToken": "Anthropic APIキーをX-Api-Keyの代わりにAuthorizationヘッダーとして渡す", + "anthropic1MContextBetaLabel": "1Mコンテキストウィンドウを有効にする(ベータ版)", + "anthropic1MContextBetaDescription": "Claude Sonnet 4のコンテキストウィンドウを100万トークンに拡張します", "cerebrasApiKey": "Cerebras APIキー", "getCerebrasApiKey": "Cerebras APIキーを取得", "chutesApiKey": "Chutes APIキー", @@ -728,6 +730,7 @@ "noComputerUse": "コンピュータ使用をサポートしていません", "supportsPromptCache": "プロンプトキャッシュをサポート", "noPromptCache": "プロンプトキャッシュをサポートしていません", + "contextWindow": "コンテキストウィンドウ:", "maxOutput": "最大出力", "inputPrice": "入力価格", "outputPrice": "出力価格", diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 623a92ccd0..fc27e6a0fe 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic API 키", "getAnthropicApiKey": "Anthropic API 키 받기", "anthropicUseAuthToken": "X-Api-Key 대신 Authorization 헤더로 Anthropic API 키 전달", + "anthropic1MContextBetaLabel": "1M 컨텍스트 창 활성화 (베타)", + "anthropic1MContextBetaDescription": "Claude Sonnet 4의 컨텍스트 창을 100만 토큰으로 확장", "cerebrasApiKey": "Cerebras API 키", "getCerebrasApiKey": "Cerebras API 키 가져오기", "chutesApiKey": "Chutes API 키", @@ -728,6 +730,7 @@ "noComputerUse": "컴퓨터 사용 지원 안 함", "supportsPromptCache": "프롬프트 캐시 지원", "noPromptCache": "프롬프트 캐시 지원 안 함", + "contextWindow": "컨텍스트 창:", "maxOutput": "최대 출력", "inputPrice": "입력 가격", "outputPrice": "출력 가격", diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index c180fef89f..2dc201851f 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic API-sleutel", "getAnthropicApiKey": "Anthropic API-sleutel ophalen", "anthropicUseAuthToken": "Anthropic API-sleutel als Authorization-header doorgeven in plaats van X-Api-Key", + "anthropic1MContextBetaLabel": "1M contextvenster inschakelen (bèta)", + "anthropic1MContextBetaDescription": "Breidt het contextvenster uit tot 1 miljoen tokens voor Claude Sonnet 4", "cerebrasApiKey": "Cerebras API-sleutel", "getCerebrasApiKey": "Cerebras API-sleutel verkrijgen", "chutesApiKey": "Chutes API-sleutel", @@ -728,6 +730,7 @@ "noComputerUse": "Ondersteunt geen computergebruik", "supportsPromptCache": "Ondersteunt prompt caching", "noPromptCache": "Ondersteunt geen prompt caching", + "contextWindow": "Contextvenster:", "maxOutput": "Maximale output", "inputPrice": "Invoerprijs", "outputPrice": "Uitvoerprijs", diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index 83a46189f9..80324260a3 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Klucz API Anthropic", "getAnthropicApiKey": "Uzyskaj klucz API Anthropic", "anthropicUseAuthToken": "Przekaż klucz API Anthropic jako nagłówek Authorization zamiast X-Api-Key", + "anthropic1MContextBetaLabel": "Włącz okno kontekstowe 1M (Beta)", + "anthropic1MContextBetaDescription": "Rozszerza okno kontekstowe do 1 miliona tokenów dla Claude Sonnet 4", "cerebrasApiKey": "Klucz API Cerebras", "getCerebrasApiKey": "Pobierz klucz API Cerebras", "chutesApiKey": "Klucz API Chutes", @@ -728,6 +730,7 @@ "noComputerUse": "Nie obsługuje użycia komputera", "supportsPromptCache": "Obsługuje buforowanie podpowiedzi", "noPromptCache": "Nie obsługuje buforowania podpowiedzi", + "contextWindow": "Okno kontekstowe:", "maxOutput": "Maksymalne wyjście", "inputPrice": "Cena wejścia", "outputPrice": "Cena wyjścia", diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index a6bd7fb861..76146be742 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Chave de API Anthropic", "getAnthropicApiKey": "Obter chave de API Anthropic", "anthropicUseAuthToken": "Passar a chave de API Anthropic como cabeçalho Authorization em vez de X-Api-Key", + "anthropic1MContextBetaLabel": "Ativar janela de contexto de 1M (Beta)", + "anthropic1MContextBetaDescription": "Estende a janela de contexto para 1 milhão de tokens para o Claude Sonnet 4", "cerebrasApiKey": "Chave de API Cerebras", "getCerebrasApiKey": "Obter chave de API Cerebras", "chutesApiKey": "Chave de API Chutes", @@ -728,6 +730,7 @@ "noComputerUse": "Não suporta uso do computador", "supportsPromptCache": "Suporta cache de prompts", "noPromptCache": "Não suporta cache de prompts", + "contextWindow": "Janela de Contexto:", "maxOutput": "Saída máxima", "inputPrice": "Preço de entrada", "outputPrice": "Preço de saída", diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index 2cd5470173..26b4f56b54 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic API-ключ", "getAnthropicApiKey": "Получить Anthropic API-ключ", "anthropicUseAuthToken": "Передавать Anthropic API-ключ как Authorization-заголовок вместо X-Api-Key", + "anthropic1MContextBetaLabel": "Включить контекстное окно 1M (бета)", + "anthropic1MContextBetaDescription": "Расширяет контекстное окно до 1 миллиона токенов для Claude Sonnet 4", "cerebrasApiKey": "Cerebras API-ключ", "getCerebrasApiKey": "Получить Cerebras API-ключ", "chutesApiKey": "Chutes API-ключ", @@ -728,6 +730,7 @@ "noComputerUse": "Не поддерживает использование компьютера", "supportsPromptCache": "Поддерживает кэширование подсказок", "noPromptCache": "Не поддерживает кэширование подсказок", + "contextWindow": "Контекстное окно:", "maxOutput": "Максимум вывода", "inputPrice": "Цена за вход", "outputPrice": "Цена за вывод", diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index 96a5b743a6..561695e9cc 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic API Anahtarı", "getAnthropicApiKey": "Anthropic API Anahtarı Al", "anthropicUseAuthToken": "Anthropic API Anahtarını X-Api-Key yerine Authorization başlığı olarak geçir", + "anthropic1MContextBetaLabel": "1M bağlam penceresini etkinleştir (Beta)", + "anthropic1MContextBetaDescription": "Claude Sonnet 4 için bağlam penceresini 1 milyon token'a genişletir", "cerebrasApiKey": "Cerebras API Anahtarı", "getCerebrasApiKey": "Cerebras API Anahtarını Al", "chutesApiKey": "Chutes API Anahtarı", @@ -728,6 +730,7 @@ "noComputerUse": "Bilgisayar kullanımını desteklemez", "supportsPromptCache": "İstem önbelleğini destekler", "noPromptCache": "İstem önbelleğini desteklemez", + "contextWindow": "Bağlam Penceresi:", "maxOutput": "Maksimum çıktı", "inputPrice": "Giriş fiyatı", "outputPrice": "Çıkış fiyatı", diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index 1b7df514a9..1709022211 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Khóa API Anthropic", "getAnthropicApiKey": "Lấy khóa API Anthropic", "anthropicUseAuthToken": "Truyền khóa API Anthropic dưới dạng tiêu đề Authorization thay vì X-Api-Key", + "anthropic1MContextBetaLabel": "Bật cửa sổ ngữ cảnh 1M (Beta)", + "anthropic1MContextBetaDescription": "Mở rộng cửa sổ ngữ cảnh lên 1 triệu token cho Claude Sonnet 4", "cerebrasApiKey": "Khóa API Cerebras", "getCerebrasApiKey": "Lấy khóa API Cerebras", "chutesApiKey": "Khóa API Chutes", @@ -728,6 +730,7 @@ "noComputerUse": "Không hỗ trợ sử dụng máy tính", "supportsPromptCache": "Hỗ trợ bộ nhớ đệm lời nhắc", "noPromptCache": "Không hỗ trợ bộ nhớ đệm lời nhắc", + "contextWindow": "Cửa sổ ngữ cảnh:", "maxOutput": "Đầu ra tối đa", "inputPrice": "Giá đầu vào", "outputPrice": "Giá đầu ra", diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index 3ebcfb850c..5d0afff83c 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic API 密钥", "getAnthropicApiKey": "获取 Anthropic API 密钥", "anthropicUseAuthToken": "将 Anthropic API 密钥作为 Authorization 标头传递,而不是 X-Api-Key", + "anthropic1MContextBetaLabel": "启用 1M 上下文窗口 (Beta)", + "anthropic1MContextBetaDescription": "为 Claude Sonnet 4 将上下文窗口扩展至 100 万个 token", "cerebrasApiKey": "Cerebras API 密钥", "getCerebrasApiKey": "获取 Cerebras API 密钥", "chutesApiKey": "Chutes API 密钥", @@ -728,6 +730,7 @@ "noComputerUse": "不支持计算机功能调用", "supportsPromptCache": "支持提示缓存", "noPromptCache": "不支持提示缓存", + "contextWindow": "上下文窗口:", "maxOutput": "最大输出", "inputPrice": "输入价格", "outputPrice": "输出价格", diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index f188a96d51..2b7ae60fa5 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -259,6 +259,8 @@ "anthropicApiKey": "Anthropic API 金鑰", "getAnthropicApiKey": "取得 Anthropic API 金鑰", "anthropicUseAuthToken": "將 Anthropic API 金鑰作為 Authorization 標頭傳遞,而非使用 X-Api-Key", + "anthropic1MContextBetaLabel": "啟用 1M 上下文視窗 (Beta)", + "anthropic1MContextBetaDescription": "為 Claude Sonnet 4 將上下文視窗擴展至 100 萬個 token", "cerebrasApiKey": "Cerebras API 金鑰", "getCerebrasApiKey": "取得 Cerebras API 金鑰", "chutesApiKey": "Chutes API 金鑰", @@ -728,6 +730,7 @@ "noComputerUse": "不支援電腦使用", "supportsPromptCache": "支援提示快取", "noPromptCache": "不支援提示快取", + "contextWindow": "上下文視窗:", "maxOutput": "最大輸出", "inputPrice": "輸入價格", "outputPrice": "輸出價格",