feat: add OpenAI provider settings

This commit is contained in:
Petr Mironychev 2025-01-19 00:50:23 +01:00
parent 289a19ac1a
commit 61fded34ea
4 changed files with 16 additions and 1 deletions

View File

@ -214,7 +214,7 @@ QList<QString> OpenAIProvider::validateRequest(const QJsonObject &request, LLMCo
QString OpenAIProvider::apiKey() const
{
return Settings::providerSettings().openAiCompatApiKey();
return Settings::providerSettings().openAiApiKey();
}
void OpenAIProvider::prepareNetworkRequest(QNetworkRequest &networkRequest) const

View File

@ -69,6 +69,14 @@ ProviderSettings::ProviderSettings()
claudeApiKey.setDefaultValue("");
claudeApiKey.setAutoApply(true);
openAiApiKey.setSettingsKey(Constants::OPEN_AI_API_KEY);
openAiApiKey.setLabelText(Tr::tr("OpenAI API Key:"));
openAiApiKey.setDisplayStyle(Utils::StringAspect::LineEditDisplay);
openAiApiKey.setPlaceHolderText(Tr::tr("Enter your API key here"));
openAiApiKey.setHistoryCompleter(Constants::OPEN_AI_API_KEY_HISTORY);
openAiApiKey.setDefaultValue("");
openAiApiKey.setAutoApply(true);
resetToDefaults.m_buttonText = Tr::tr("Reset Page to Defaults");
readSettings();
@ -83,6 +91,8 @@ ProviderSettings::ProviderSettings()
Space{8},
Group{title(Tr::tr("OpenRouter Settings")), Column{openRouterApiKey}},
Space{8},
Group{title(Tr::tr("OpenAI Settings")), Column{openAiApiKey}},
Space{8},
Group{title(Tr::tr("OpenAI Compatible Settings")), Column{openAiCompatApiKey}},
Space{8},
Group{title(Tr::tr("Claude Settings")), Column{claudeApiKey}},
@ -101,6 +111,7 @@ void ProviderSettings::setupConnections()
openAiCompatApiKey.writeSettings();
});
connect(&claudeApiKey, &ButtonAspect::changed, this, [this]() { claudeApiKey.writeSettings(); });
connect(&openAiApiKey, &ButtonAspect::changed, this, [this]() { openAiApiKey.writeSettings(); });
}
void ProviderSettings::resetSettingsToDefaults()
@ -116,6 +127,7 @@ void ProviderSettings::resetSettingsToDefaults()
resetAspect(openRouterApiKey);
resetAspect(openAiCompatApiKey);
resetAspect(claudeApiKey);
resetAspect(openAiApiKey);
}
}

View File

@ -36,6 +36,7 @@ public:
Utils::StringAspect openRouterApiKey{this};
Utils::StringAspect openAiCompatApiKey{this};
Utils::StringAspect claudeApiKey{this};
Utils::StringAspect openAiApiKey{this};
private:
void setupConnections();

View File

@ -89,6 +89,8 @@ const char OPEN_AI_COMPAT_API_KEY[] = "QodeAssist.openAiCompatApiKey";
const char OPEN_AI_COMPAT_API_KEY_HISTORY[] = "QodeAssist.openAiCompatApiKeyHistory";
const char CLAUDE_API_KEY[] = "QodeAssist.claudeApiKey";
const char CLAUDE_API_KEY_HISTORY[] = "QodeAssist.claudeApiKeyHistory";
const char OPEN_AI_API_KEY[] = "QodeAssist.openAiApiKey";
const char OPEN_AI_API_KEY_HISTORY[] = "QodeAssist.openAiApiKeyHistory";
// context settings
const char CC_READ_FULL_FILE[] = "QodeAssist.ccReadFullFile";