mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-07 08:26:51 +00:00
fix: Reimplement settings variable for openRouter base url, it should be seperate from Ollama.
- Mimic the way codebaseIndexOpenRouterSpecificProvider is done, but for the base url setting
This commit is contained in:
parent
289553fa4a
commit
8694b5bdf8
8 changed files with 25 additions and 11 deletions
|
|
@ -49,6 +49,7 @@ export const codebaseIndexConfigSchema = z.object({
|
|||
codebaseIndexBedrockRegion: z.string().optional(),
|
||||
codebaseIndexBedrockProfile: z.string().optional(),
|
||||
// OpenRouter specific fields
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl: z.string().optional(),
|
||||
codebaseIndexOpenRouterSpecificProvider: z.string().optional(),
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -205,7 +205,6 @@ const claudeCodeSchema = apiModelIdProviderModelSchema.extend({})
|
|||
const openRouterSchema = baseProviderSettingsSchema.extend({
|
||||
openRouterApiKey: z.string().optional(),
|
||||
openRouterModelId: z.string().optional(),
|
||||
openRouterBaseUrl: z.string().optional(),
|
||||
openRouterSpecificProvider: z.string().optional(),
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -2046,6 +2046,7 @@ export class ClineProvider
|
|||
codebaseIndexBedrockRegion: codebaseIndexConfig?.codebaseIndexBedrockRegion,
|
||||
codebaseIndexBedrockProfile: codebaseIndexConfig?.codebaseIndexBedrockProfile,
|
||||
codebaseIndexOpenRouterSpecificProvider: codebaseIndexConfig?.codebaseIndexOpenRouterSpecificProvider,
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl: codebaseIndexConfig?.codebaseIndexOpenRouterEmbedderBaseUrl,
|
||||
},
|
||||
// Only set mdmCompliant if there's an actual MDM policy
|
||||
// undefined means no MDM policy, true means compliant, false means non-compliant
|
||||
|
|
@ -2292,6 +2293,8 @@ export class ClineProvider
|
|||
codebaseIndexSearchMinScore: stateValues.codebaseIndexConfig?.codebaseIndexSearchMinScore,
|
||||
codebaseIndexBedrockRegion: stateValues.codebaseIndexConfig?.codebaseIndexBedrockRegion,
|
||||
codebaseIndexBedrockProfile: stateValues.codebaseIndexConfig?.codebaseIndexBedrockProfile,
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl:
|
||||
stateValues.codebaseIndexConfig?.codebaseIndexOpenRouterEmbedderBaseUrl,
|
||||
codebaseIndexOpenRouterSpecificProvider:
|
||||
stateValues.codebaseIndexConfig?.codebaseIndexOpenRouterSpecificProvider,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2451,6 +2451,7 @@ export const webviewMessageHandler = async (
|
|||
codebaseIndexSearchMaxResults: settings.codebaseIndexSearchMaxResults,
|
||||
codebaseIndexSearchMinScore: settings.codebaseIndexSearchMinScore,
|
||||
codebaseIndexOpenRouterSpecificProvider: settings.codebaseIndexOpenRouterSpecificProvider,
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl: settings.codebaseIndexOpenRouterEmbedderBaseUrl,
|
||||
}
|
||||
|
||||
// Save global state first
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ export class CodeIndexConfigManager {
|
|||
const bedrockRegion = codebaseIndexConfig.codebaseIndexBedrockRegion ?? "us-east-1"
|
||||
const bedrockProfile = codebaseIndexConfig.codebaseIndexBedrockProfile ?? ""
|
||||
const openRouterApiKey = this.contextProxy?.getSecret("codebaseIndexOpenRouterApiKey") ?? ""
|
||||
const openRouterEmbedderBaseUrl = codebaseIndexConfig.codebaseIndexOpenRouterEmbedderBaseUrl ?? ""
|
||||
const openRouterSpecificProvider = codebaseIndexConfig.codebaseIndexOpenRouterSpecificProvider ?? ""
|
||||
|
||||
// Update instance variables with configuration
|
||||
|
|
@ -144,7 +145,7 @@ export class CodeIndexConfigManager {
|
|||
this.openRouterOptions = openRouterApiKey
|
||||
? {
|
||||
apiKey: openRouterApiKey,
|
||||
openRouterBaseUrl: codebaseIndexEmbedderBaseUrl,
|
||||
openRouterBaseUrl: openRouterEmbedderBaseUrl,
|
||||
specificProvider: openRouterSpecificProvider || undefined,
|
||||
}
|
||||
: undefined
|
||||
|
|
@ -359,8 +360,8 @@ export class CodeIndexConfigManager {
|
|||
const currentBedrockRegion = this.bedrockOptions?.region ?? ""
|
||||
const currentBedrockProfile = this.bedrockOptions?.profile ?? ""
|
||||
const currentOpenRouterApiKey = this.openRouterOptions?.apiKey ?? ""
|
||||
const currentOpenRouterSpecificProvider = this.openRouterOptions?.specificProvider ?? ""
|
||||
const currentOpenRouterBaseUrl = this.openRouterOptions?.openRouterBaseUrl ?? ""
|
||||
const currentOpenRouterSpecificProvider = this.openRouterOptions?.specificProvider ?? ""
|
||||
const currentQdrantUrl = this.qdrantUrl ?? ""
|
||||
const currentQdrantApiKey = this.qdrantApiKey ?? ""
|
||||
|
||||
|
|
|
|||
|
|
@ -255,6 +255,7 @@ export interface WebviewMessage {
|
|||
codebaseIndexBedrockProfile?: string
|
||||
codebaseIndexSearchMaxResults?: number
|
||||
codebaseIndexSearchMinScore?: number
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl?: string
|
||||
codebaseIndexOpenRouterSpecificProvider?: string // OpenRouter provider routing
|
||||
|
||||
// Secret settings
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ interface LocalCodeIndexSettings {
|
|||
codebaseIndexMistralApiKey?: string
|
||||
codebaseIndexVercelAiGatewayApiKey?: string
|
||||
codebaseIndexOpenRouterApiKey?: string
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl?: string
|
||||
codebaseIndexOpenRouterSpecificProvider?: string
|
||||
}
|
||||
|
||||
|
|
@ -228,6 +229,7 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
|
|||
codebaseIndexMistralApiKey: "",
|
||||
codebaseIndexVercelAiGatewayApiKey: "",
|
||||
codebaseIndexOpenRouterApiKey: "",
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl: "",
|
||||
codebaseIndexOpenRouterSpecificProvider: "",
|
||||
})
|
||||
|
||||
|
|
@ -267,6 +269,8 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
|
|||
codebaseIndexMistralApiKey: "",
|
||||
codebaseIndexVercelAiGatewayApiKey: "",
|
||||
codebaseIndexOpenRouterApiKey: "",
|
||||
codebaseIndexOpenRouterEmbedderBaseUrl:
|
||||
codebaseIndexConfig.codebaseIndexOpenRouterEmbedderBaseUrl || "",
|
||||
codebaseIndexOpenRouterSpecificProvider:
|
||||
codebaseIndexConfig.codebaseIndexOpenRouterSpecificProvider || "",
|
||||
}
|
||||
|
|
@ -1327,28 +1331,32 @@ export const CodeIndexPopover: React.FC<CodeIndexPopoverProps> = ({
|
|||
{t("settings:codeIndex.openRouterBaseUrlLabel")}
|
||||
</label>
|
||||
<VSCodeTextField
|
||||
value={currentSettings.codebaseIndexEmbedderBaseUrl || ""}
|
||||
value={currentSettings.codebaseIndexOpenRouterEmbedderBaseUrl || ""}
|
||||
onInput={(e: any) =>
|
||||
updateSetting("codebaseIndexEmbedderBaseUrl", e.target.value)
|
||||
updateSetting(
|
||||
"codebaseIndexOpenRouterEmbedderBaseUrl",
|
||||
e.target.value,
|
||||
)
|
||||
}
|
||||
onBlur={(e: any) => {
|
||||
// Set default OpenRouter URL if field is empty
|
||||
if (!e.target.value.trim()) {
|
||||
e.target.value = DEFAULT_OPENROUTER_URL
|
||||
updateSetting(
|
||||
"codebaseIndexEmbedderBaseUrl",
|
||||
"codebaseIndexOpenRouterEmbedderBaseUrl",
|
||||
DEFAULT_OPENROUTER_URL,
|
||||
)
|
||||
}
|
||||
}}
|
||||
placeholder={t("settings:codeIndex.openRouterUrlPlaceholder")}
|
||||
placeholder={t("settings:codeIndex.openRouterBaseUrlPlaceholder")}
|
||||
className={cn("w-full", {
|
||||
"border-red-500": formErrors.codebaseIndexEmbedderBaseUrl,
|
||||
"border-red-500":
|
||||
formErrors.codebaseIndexOpenRouterEmbedderBaseUrl,
|
||||
})}
|
||||
/>
|
||||
{formErrors.codebaseIndexEmbedderBaseUrl && (
|
||||
{formErrors.codebaseIndexOpenRouterEmbedderBaseUrl && (
|
||||
<p className="text-xs text-vscode-errorForeground mt-1 mb-0">
|
||||
{formErrors.codebaseIndexEmbedderBaseUrl}
|
||||
{formErrors.codebaseIndexOpenRouterEmbedderBaseUrl}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@
|
|||
"openRouterProviderRoutingLabel": "OpenRouter Provider Routing",
|
||||
"openRouterProviderRoutingDescription": "OpenRouter routes requests to the best available providers for your embedding model. By default, requests are load balanced across the top providers to maximize uptime. However, you can choose a specific provider to use for this model.",
|
||||
"openRouterBaseUrlLabel": "OpenRouter Base URL",
|
||||
"openRouterUrlPlaceholder": "https://openrouter.ai/api/v1",
|
||||
"openRouterBaseUrlPlaceholder": "https://openrouter.ai/api/v1",
|
||||
"openaiCompatibleProvider": "OpenAI Compatible",
|
||||
"openAiKeyLabel": "OpenAI API Key",
|
||||
"openAiKeyPlaceholder": "Enter your OpenAI API key",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue