Poprawki
Some checks failed
Build Linux App / build (push) Failing after 1m12s

This commit is contained in:
Kazimierz Ciołek
2026-07-07 22:03:36 +02:00
parent 6dd7213eb0
commit ebb7426c67
14 changed files with 886 additions and 82 deletions

View File

@@ -7,7 +7,7 @@ import 'package:path_provider/path_provider.dart';
/// Which backend answers chat requests. Embeddings (knowledge base) always
/// stay on the local Nomic server regardless of this choice.
enum AiProvider { local, ollama, lmstudio, anthropic, openai, gemini }
enum AiProvider { local, ollama, lmstudio, anthropic, openai, gemini, openrouter }
extension AiProviderX on AiProvider {
String get label => switch (this) {
@@ -17,6 +17,7 @@ extension AiProviderX on AiProvider {
AiProvider.anthropic => 'Anthropic (Claude)',
AiProvider.openai => 'OpenAI (GPT)',
AiProvider.gemini => 'Google (Gemini)',
AiProvider.openrouter => 'OpenRouter',
};
String get defaultModel => switch (this) {
@@ -26,6 +27,9 @@ extension AiProviderX on AiProvider {
AiProvider.anthropic => 'claude-opus-4-8',
AiProvider.openai => 'gpt-5.1',
AiProvider.gemini => 'gemini-2.5-flash',
// OpenRouter routes to any model — IDs like "anthropic/claude-opus-4.8",
// "openai/gpt-4o", "meta-llama/llama-3.3-70b-instruct".
AiProvider.openrouter => 'openai/gpt-4o',
};
/// Self-hosted OpenAI-compatible servers reachable over a base URL.
@@ -39,7 +43,10 @@ extension AiProviderX on AiProvider {
};
bool get needsApiKey => switch (this) {
AiProvider.anthropic || AiProvider.openai || AiProvider.gemini => true,
AiProvider.anthropic ||
AiProvider.openai ||
AiProvider.gemini ||
AiProvider.openrouter => true,
_ => false,
};
}