feat(provider): 添加独立的 Provider 模块管理模型提供商
实现可扩展的 Provider 系统,支持动态注册自定义提供商: Core 模块 (packages/core/src/provider/): - types.ts: Provider 相关类型定义 - builtin/: 内置提供商 (Anthropic, OpenAI, DeepSeek) - registry.ts: ProviderRegistry 单例类 - config.ts: 配置持久化 (~/.ai-terminal-assistant/providers.json) - utils.ts: 连接测试等工具函数 Server API (packages/server/src/routes/providers.ts): - GET/POST/PUT/DELETE /providers 提供商管理 - POST /providers/:id/test 连接测试 - 自定义模型管理接口 Frontend (packages/ui/): - ProvidersPanel 组件用于管理提供商 - API client 函数和类型定义 主要功能: - 支持动态注册 OpenAI 兼容服务 (Ollama, vLLM 等) - 每个提供商独立的 API Key 配置 - 预设模型列表 + 自定义模型输入 - 连接测试验证
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* Provider Module
|
||||
*
|
||||
* 模型提供商管理模块
|
||||
*/
|
||||
|
||||
// Types
|
||||
export type {
|
||||
BuiltinProviderType,
|
||||
ProviderType,
|
||||
ModelCapabilities,
|
||||
ModelInfo,
|
||||
ProviderInfo,
|
||||
ProviderConfig,
|
||||
CustomProviderDefinition,
|
||||
ConnectionTestResult,
|
||||
ProviderFactory,
|
||||
RegisteredProvider,
|
||||
ProvidersConfigFile,
|
||||
ProviderListItem,
|
||||
ProviderDetail,
|
||||
} from './types.js';
|
||||
|
||||
// Registry
|
||||
export {
|
||||
ProviderRegistry,
|
||||
providerRegistry,
|
||||
getProviderRegistry,
|
||||
} from './registry.js';
|
||||
|
||||
// Builtin providers
|
||||
export {
|
||||
builtinProviders,
|
||||
getBuiltinProviders,
|
||||
getBuiltinProvider,
|
||||
isBuiltinProvider,
|
||||
} from './builtin/index.js';
|
||||
|
||||
// Config utilities
|
||||
export {
|
||||
loadProvidersConfig,
|
||||
saveProvidersConfig,
|
||||
resolveApiKey,
|
||||
getConfigDir,
|
||||
getConfigPath,
|
||||
} from './config.js';
|
||||
|
||||
// Utils
|
||||
export {
|
||||
testOpenAICompatibleConnection,
|
||||
createOpenAICompatibleFactory,
|
||||
isValidProviderId,
|
||||
isValidUrl,
|
||||
} from './utils.js';
|
||||
Reference in New Issue
Block a user