feat(docs): update README with OpenWebUI support details
This commit is contained in:
@@ -7,12 +7,13 @@ import type { AIProviderConfig } from '../types/index.js';
|
||||
import { ClaudeProvider, type ClaudeConfig } from '../providers/claude.js';
|
||||
import { OpenAIProvider, type OpenAIConfig } from '../providers/openai.js';
|
||||
import { GeminiProvider, type GeminiConfig } from '../providers/gemini.js';
|
||||
import { OpenWebUIProvider, type OpenWebUIConfig } from '../providers/openwebui.js';
|
||||
import { BaseAIProvider } from '../providers/base.js';
|
||||
|
||||
/**
|
||||
* Supported AI provider types
|
||||
*/
|
||||
export type ProviderType = 'claude' | 'openai' | 'gemini';
|
||||
export type ProviderType = 'claude' | 'openai' | 'gemini' | 'openwebui';
|
||||
|
||||
/**
|
||||
* Configuration map for different provider types
|
||||
@@ -21,6 +22,7 @@ export interface ProviderConfigMap {
|
||||
claude: ClaudeConfig;
|
||||
openai: OpenAIConfig;
|
||||
gemini: GeminiConfig;
|
||||
openwebui: OpenWebUIConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -40,6 +42,8 @@ export function createProvider<T extends ProviderType>(
|
||||
return new OpenAIProvider(config as OpenAIConfig);
|
||||
case 'gemini':
|
||||
return new GeminiProvider(config as GeminiConfig);
|
||||
case 'openwebui':
|
||||
return new OpenWebUIProvider(config as OpenWebUIConfig);
|
||||
default:
|
||||
throw new Error(`Unsupported provider type: ${type}`);
|
||||
}
|
||||
@@ -93,6 +97,13 @@ export function createGeminiProvider(
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an OpenWebUI provider instance
|
||||
*/
|
||||
export function createOpenWebUIProvider(config: OpenWebUIConfig): OpenWebUIProvider {
|
||||
return new OpenWebUIProvider(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provider registry for dynamic provider creation
|
||||
*/
|
||||
@@ -143,4 +154,15 @@ export class ProviderRegistry {
|
||||
// Pre-register built-in providers
|
||||
ProviderRegistry.register('claude', ClaudeProvider);
|
||||
ProviderRegistry.register('openai', OpenAIProvider);
|
||||
ProviderRegistry.register('gemini', GeminiProvider);
|
||||
ProviderRegistry.register('gemini', GeminiProvider);
|
||||
ProviderRegistry.register('openwebui', OpenWebUIProvider);
|
||||
|
||||
/**
|
||||
* Registry of all available providers
|
||||
*/
|
||||
export const PROVIDER_REGISTRY = {
|
||||
claude: ClaudeProvider,
|
||||
openai: OpenAIProvider,
|
||||
gemini: GeminiProvider,
|
||||
openwebui: OpenWebUIProvider
|
||||
} as const;
|
||||
Reference in New Issue
Block a user