feat: Add agents and agents settings

This commit is contained in:
Petr Mironychev
2026-05-26 12:30:11 +02:00
parent 51ebe3e523
commit 97236c6069
70 changed files with 4308 additions and 296 deletions

View File

@@ -139,14 +139,9 @@ PluginLLMCore::ProviderCapabilities GoogleAIProvider::capabilities() const
| PluginLLMCore::ProviderCapability::ModelListing;
}
PluginLLMCore::RequestID GoogleAIProvider::sendRequest(
LLMQore::RequestID GoogleAIProvider::sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint)
{
// Gemini takes the model from the URL path and streaming from the
// action suffix (:streamGenerateContent vs :generateContent), and
// rejects unknown top-level body fields. The shared call-site seeds
// payload with {model, stream}; consume them here into client state
// before they hit the wire.
QJsonObject cleaned = payload;
if (cleaned.contains("model")) {
m_client->setModel(cleaned["model"].toString());

View File

@@ -28,7 +28,7 @@ public:
PluginLLMCore::ProviderID providerID() const override;
PluginLLMCore::ProviderCapabilities capabilities() const override;
PluginLLMCore::RequestID sendRequest(
LLMQore::RequestID sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint) override;
::LLMQore::BaseClient *client() const override;

View File

@@ -105,7 +105,7 @@ void LMStudioProvider::prepareRequest(
}
}
PluginLLMCore::RequestID LMStudioProvider::sendRequest(
LLMQore::RequestID LMStudioProvider::sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint)
{
return PluginLLMCore::Provider::sendRequest(

View File

@@ -30,7 +30,7 @@ public:
::LLMQore::BaseClient *client() const override;
QString apiKey() const override;
PluginLLMCore::RequestID sendRequest(
LLMQore::RequestID sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint) override;
private:

View File

@@ -118,7 +118,7 @@ QFuture<QList<QString>> LMStudioResponsesProvider::getInstalledModels(const QStr
return m_client->listModels();
}
PluginLLMCore::RequestID LMStudioResponsesProvider::sendRequest(
LLMQore::RequestID LMStudioResponsesProvider::sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint)
{
return PluginLLMCore::Provider::sendRequest(

View File

@@ -30,7 +30,7 @@ public:
::LLMQore::BaseClient *client() const override;
QString apiKey() const override;
PluginLLMCore::RequestID sendRequest(
LLMQore::RequestID sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint) override;
private:

View File

@@ -97,7 +97,7 @@ QFuture<QList<QString>> OllamaCompatProvider::getInstalledModels(const QString &
return m_client->listModels();
}
PluginLLMCore::RequestID OllamaCompatProvider::sendRequest(
LLMQore::RequestID OllamaCompatProvider::sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint)
{
const QString effectiveEndpoint

View File

@@ -30,7 +30,7 @@ public:
::LLMQore::BaseClient *client() const override;
QString apiKey() const override;
PluginLLMCore::RequestID sendRequest(
LLMQore::RequestID sendRequest(
const QUrl &url, const QJsonObject &payload, const QString &endpoint) override;
private: