Просмотр исходного кода

Requesty models behind api key (#2813)

* Don't fetch Requesty models on startup, only when opening settings

* Provide api key when fetching models
Daniel Trugman 8 месяцев назад
Родитель
Сommit
b955dbc1fc
2 измененных файлов с 9 добавлено и 17 удалено
  1. 8 2
      src/api/providers/requesty.ts
  2. 1 15
      src/core/webview/webviewMessageHandler.ts

+ 8 - 2
src/api/providers/requesty.ts

@@ -58,11 +58,17 @@ export class RequestyHandler extends OpenAiHandler {
 	}
 }
 
-export async function getRequestyModels() {
+export async function getRequestyModels(apiKey?: string) {
 	const models: Record<string, ModelInfo> = {}
 
 	try {
-		const response = await axios.get("https://router.requesty.ai/v1/models")
+		const headers: Record<string, string> = {}
+		if (apiKey) {
+			headers["Authorization"] = `Bearer ${apiKey}`
+		}
+
+		const url = "https://router.requesty.ai/v1/models"
+		const response = await axios.get(url, { headers })
 		const rawModels = response.data.data
 
 		for (const rawModel of rawModels) {

+ 1 - 15
src/core/webview/webviewMessageHandler.ts

@@ -152,20 +152,6 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We
 				}
 			})
 
-			getRequestyModels().then(async (requestyModels) => {
-				if (Object.keys(requestyModels).length > 0) {
-					await provider.writeModelsToCache(GlobalFileNames.requestyModels, requestyModels)
-					await provider.postMessageToWebview({ type: "requestyModels", requestyModels })
-
-					const { apiConfiguration } = await provider.getState()
-
-					if (apiConfiguration.requestyModelId) {
-						await updateGlobalState("requestyModelInfo", requestyModels[apiConfiguration.requestyModelId])
-						await provider.postStateToWebview()
-					}
-				}
-			})
-
 			provider.providerSettingsManager
 				.listConfig()
 				.then(async (listApiConfig) => {
@@ -413,7 +399,7 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We
 
 			break
 		case "refreshRequestyModels":
-			const requestyModels = await getRequestyModels()
+			const requestyModels = await getRequestyModels(message.values?.apiKey)
 
 			if (Object.keys(requestyModels).length > 0) {
 				await provider.writeModelsToCache(GlobalFileNames.requestyModels, requestyModels)