@tombcato/ai-selector-core 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/index.d.ts +354 -13
  2. package/dist/index.js +784 -19
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.umd.js +2 -0
  5. package/dist/index.umd.js.map +1 -0
  6. package/package.json +35 -35
  7. package/dist/api.d.ts +0 -14
  8. package/dist/api.d.ts.map +0 -1
  9. package/dist/api.js +0 -139
  10. package/dist/api.js.map +0 -1
  11. package/dist/config.d.ts +0 -18
  12. package/dist/config.d.ts.map +0 -1
  13. package/dist/config.js +0 -85
  14. package/dist/config.js.map +0 -1
  15. package/dist/i18n.d.ts +0 -53
  16. package/dist/i18n.d.ts.map +0 -1
  17. package/dist/i18n.js +0 -51
  18. package/dist/i18n.js.map +0 -1
  19. package/dist/icons.d.ts +0 -10
  20. package/dist/icons.d.ts.map +0 -1
  21. package/dist/icons.js +0 -22
  22. package/dist/icons.js.map +0 -1
  23. package/dist/index.d.ts.map +0 -1
  24. package/dist/models.d.ts +0 -11
  25. package/dist/models.d.ts.map +0 -1
  26. package/dist/models.js +0 -199
  27. package/dist/models.js.map +0 -1
  28. package/dist/providers.d.ts +0 -42
  29. package/dist/providers.d.ts.map +0 -1
  30. package/dist/providers.js +0 -229
  31. package/dist/providers.js.map +0 -1
  32. package/dist/storage.d.ts +0 -31
  33. package/dist/storage.d.ts.map +0 -1
  34. package/dist/storage.js +0 -65
  35. package/dist/storage.js.map +0 -1
  36. package/dist/strategies.d.ts +0 -54
  37. package/dist/strategies.d.ts.map +0 -1
  38. package/dist/strategies.js +0 -184
  39. package/dist/strategies.js.map +0 -1
  40. package/dist/types.d.ts +0 -122
  41. package/dist/types.d.ts.map +0 -1
  42. package/dist/types.js +0 -6
  43. package/dist/types.js.map +0 -1
  44. package/dist/utils.d.ts +0 -2
  45. package/dist/utils.d.ts.map +0 -1
  46. package/dist/utils.js +0 -4
  47. package/dist/utils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * AI Provider Selector - Provider Definitions
3
- * All supported AI providers metadata
4
- */
5
- import type { Provider } from './types';
6
- export declare const PROVIDER_ID: {
7
- readonly OPENAI: "openai";
8
- readonly ANTHROPIC: "anthropic";
9
- readonly GEMINI: "gemini";
10
- readonly DEEPSEEK: "deepseek";
11
- readonly OPENROUTER: "openrouter";
12
- readonly GROQ: "groq";
13
- readonly MISTRAL: "mistral";
14
- readonly MOONSHOT: "moonshot";
15
- readonly QWEN: "qwen";
16
- readonly ZHIPU: "zhipu";
17
- readonly SILICONFLOW: "siliconflow";
18
- readonly XAI: "xai";
19
- readonly TOGETHER: "together";
20
- readonly FIREWORKS: "fireworks";
21
- readonly DEEPINFRA: "deepinfra";
22
- readonly PERPLEXITY: "perplexity";
23
- readonly COHERE: "cohere";
24
- readonly OLLAMA: "ollama";
25
- readonly DOUBAO: "doubao";
26
- readonly MINIMAX: "minimax";
27
- };
28
- export type ProviderId = typeof PROVIDER_ID[keyof typeof PROVIDER_ID];
29
- export declare const PROVIDERS: Record<string, Provider>;
30
- /**
31
- * Get a provider by ID
32
- */
33
- export declare function getProvider(id: string): Provider | undefined;
34
- /**
35
- * Get all providers as an array
36
- */
37
- export declare function getAllProviders(): Provider[];
38
- /**
39
- * Get providers by API format
40
- */
41
- export declare function getProvidersByFormat(format: Provider['apiFormat']): Provider[];
42
- //# sourceMappingURL=providers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKxC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;CAqBd,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEtE,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAsL9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,EAAE,CAE9E"}
package/dist/providers.js DELETED
@@ -1,229 +0,0 @@
1
- /**
2
- * AI Provider Selector - Provider Definitions
3
- * All supported AI providers metadata
4
- */
5
- const ICON_CDN_BASE = 'https://registry.npmmirror.com/@lobehub/icons-static-svg/1.77.0/files/icons';
6
- // Provider IDs
7
- export const PROVIDER_ID = {
8
- OPENAI: 'openai',
9
- ANTHROPIC: 'anthropic',
10
- GEMINI: 'gemini',
11
- DEEPSEEK: 'deepseek',
12
- OPENROUTER: 'openrouter',
13
- GROQ: 'groq',
14
- MISTRAL: 'mistral',
15
- MOONSHOT: 'moonshot',
16
- QWEN: 'qwen',
17
- ZHIPU: 'zhipu',
18
- SILICONFLOW: 'siliconflow',
19
- XAI: 'xai',
20
- TOGETHER: 'together',
21
- FIREWORKS: 'fireworks',
22
- DEEPINFRA: 'deepinfra',
23
- PERPLEXITY: 'perplexity',
24
- COHERE: 'cohere',
25
- OLLAMA: 'ollama',
26
- DOUBAO: 'doubao',
27
- MINIMAX: 'minimax',
28
- };
29
- export const PROVIDERS = {
30
- [PROVIDER_ID.OPENAI]: {
31
- id: PROVIDER_ID.OPENAI,
32
- name: 'OpenAI',
33
- baseUrl: 'https://api.openai.com/v1',
34
- needsApiKey: true,
35
- apiFormat: 'openai',
36
- supportsModelsApi: true,
37
- icon: `${ICON_CDN_BASE}/openai.svg`,
38
- },
39
- [PROVIDER_ID.ANTHROPIC]: {
40
- id: PROVIDER_ID.ANTHROPIC,
41
- name: 'Anthropic (Claude)',
42
- baseUrl: 'https://api.anthropic.com/v1',
43
- needsApiKey: true,
44
- apiFormat: 'anthropic',
45
- supportsModelsApi: false,
46
- icon: `${ICON_CDN_BASE}/anthropic.svg`,
47
- },
48
- [PROVIDER_ID.GEMINI]: {
49
- id: PROVIDER_ID.GEMINI,
50
- name: 'Google Gemini',
51
- baseUrl: 'https://generativelanguage.googleapis.com/v1beta',
52
- needsApiKey: true,
53
- apiFormat: 'gemini',
54
- supportsModelsApi: true,
55
- icon: `${ICON_CDN_BASE}/gemini.svg`,
56
- },
57
- [PROVIDER_ID.OPENROUTER]: {
58
- id: PROVIDER_ID.OPENROUTER,
59
- name: 'OpenRouter',
60
- baseUrl: 'https://openrouter.ai/api/v1',
61
- needsApiKey: true,
62
- apiFormat: 'openai',
63
- supportsModelsApi: true,
64
- icon: `${ICON_CDN_BASE}/openrouter.svg`,
65
- },
66
- [PROVIDER_ID.DEEPSEEK]: {
67
- id: PROVIDER_ID.DEEPSEEK,
68
- name: 'DeepSeek',
69
- baseUrl: 'https://api.deepseek.com',
70
- needsApiKey: true,
71
- apiFormat: 'openai',
72
- supportsModelsApi: true,
73
- icon: `${ICON_CDN_BASE}/deepseek.svg`,
74
- },
75
- [PROVIDER_ID.MOONSHOT]: {
76
- id: PROVIDER_ID.MOONSHOT,
77
- name: 'Moonshot (Kimi)',
78
- baseUrl: 'https://api.moonshot.cn/v1',
79
- needsApiKey: true,
80
- apiFormat: 'openai',
81
- supportsModelsApi: true,
82
- icon: `${ICON_CDN_BASE}/moonshot.svg`,
83
- },
84
- [PROVIDER_ID.QWEN]: {
85
- id: PROVIDER_ID.QWEN,
86
- name: '通义千问 (Qwen)',
87
- baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
88
- needsApiKey: true,
89
- apiFormat: 'openai',
90
- supportsModelsApi: true,
91
- icon: `${ICON_CDN_BASE}/qwen.svg`,
92
- },
93
- [PROVIDER_ID.ZHIPU]: {
94
- id: PROVIDER_ID.ZHIPU,
95
- name: '智谱 AI (GLM)',
96
- baseUrl: 'https://open.bigmodel.cn/api/paas/v4',
97
- needsApiKey: true,
98
- apiFormat: 'openai',
99
- supportsModelsApi: true,
100
- icon: `${ICON_CDN_BASE}/zhipu.svg`,
101
- },
102
- [PROVIDER_ID.SILICONFLOW]: {
103
- id: PROVIDER_ID.SILICONFLOW,
104
- name: '硅基流动 (siliconflow)',
105
- baseUrl: 'https://api.siliconflow.cn/v1',
106
- needsApiKey: true,
107
- apiFormat: 'openai',
108
- supportsModelsApi: true,
109
- icon: `${ICON_CDN_BASE}/siliconcloud.svg`,
110
- },
111
- [PROVIDER_ID.DOUBAO]: {
112
- id: PROVIDER_ID.DOUBAO,
113
- name: '火山方舟 (Doubao)',
114
- baseUrl: 'https://ark.cn-beijing.volces.com/api/v3',
115
- needsApiKey: true,
116
- apiFormat: 'openai',
117
- supportsModelsApi: true,
118
- icon: `${ICON_CDN_BASE}/doubao.svg`,
119
- },
120
- [PROVIDER_ID.MINIMAX]: {
121
- id: PROVIDER_ID.MINIMAX,
122
- name: 'MiniMax',
123
- baseUrl: 'https://api.minimax.io/v1',
124
- needsApiKey: true,
125
- apiFormat: 'openai',
126
- supportsModelsApi: false,
127
- icon: `${ICON_CDN_BASE}/minimax.svg`,
128
- },
129
- [PROVIDER_ID.XAI]: {
130
- id: PROVIDER_ID.XAI,
131
- name: 'xAI (Grok)',
132
- baseUrl: 'https://api.x.ai/v1',
133
- needsApiKey: true,
134
- apiFormat: 'openai',
135
- supportsModelsApi: true,
136
- icon: `${ICON_CDN_BASE}/grok.svg`,
137
- },
138
- [PROVIDER_ID.GROQ]: {
139
- id: PROVIDER_ID.GROQ,
140
- name: 'Groq',
141
- baseUrl: 'https://api.groq.com/openai/v1',
142
- needsApiKey: true,
143
- apiFormat: 'openai',
144
- supportsModelsApi: true,
145
- icon: `${ICON_CDN_BASE}/groq.svg`,
146
- },
147
- [PROVIDER_ID.MISTRAL]: {
148
- id: PROVIDER_ID.MISTRAL,
149
- name: 'Mistral AI',
150
- baseUrl: 'https://api.mistral.ai/v1',
151
- needsApiKey: true,
152
- apiFormat: 'openai',
153
- supportsModelsApi: true,
154
- icon: `${ICON_CDN_BASE}/mistral.svg`,
155
- },
156
- [PROVIDER_ID.TOGETHER]: {
157
- id: PROVIDER_ID.TOGETHER,
158
- name: 'Together AI',
159
- baseUrl: 'https://api.together.xyz/v1',
160
- needsApiKey: true,
161
- apiFormat: 'openai',
162
- supportsModelsApi: true,
163
- icon: `${ICON_CDN_BASE}/together.svg`,
164
- },
165
- [PROVIDER_ID.FIREWORKS]: {
166
- id: PROVIDER_ID.FIREWORKS,
167
- name: 'Fireworks AI',
168
- baseUrl: 'https://api.fireworks.ai/inference/v1',
169
- needsApiKey: true,
170
- apiFormat: 'openai',
171
- supportsModelsApi: true,
172
- icon: `${ICON_CDN_BASE}/fireworks.svg`,
173
- },
174
- [PROVIDER_ID.DEEPINFRA]: {
175
- id: PROVIDER_ID.DEEPINFRA,
176
- name: 'DeepInfra',
177
- baseUrl: 'https://api.deepinfra.com/v1/openai',
178
- needsApiKey: true,
179
- apiFormat: 'openai',
180
- supportsModelsApi: true,
181
- icon: `${ICON_CDN_BASE}/deepinfra.svg`,
182
- },
183
- [PROVIDER_ID.PERPLEXITY]: {
184
- id: PROVIDER_ID.PERPLEXITY,
185
- name: 'Perplexity',
186
- baseUrl: 'https://api.perplexity.ai',
187
- needsApiKey: true,
188
- apiFormat: 'openai',
189
- supportsModelsApi: false,
190
- icon: `${ICON_CDN_BASE}/perplexity.svg`,
191
- },
192
- [PROVIDER_ID.COHERE]: {
193
- id: PROVIDER_ID.COHERE,
194
- name: 'Cohere',
195
- baseUrl: 'https://api.cohere.com/v2',
196
- needsApiKey: true,
197
- apiFormat: 'cohere',
198
- supportsModelsApi: true,
199
- icon: `${ICON_CDN_BASE}/cohere.svg`,
200
- },
201
- [PROVIDER_ID.OLLAMA]: {
202
- id: PROVIDER_ID.OLLAMA,
203
- name: 'Ollama (Local)',
204
- baseUrl: 'http://localhost:11434/v1',
205
- needsApiKey: false,
206
- apiFormat: 'openai',
207
- supportsModelsApi: true,
208
- icon: `${ICON_CDN_BASE}/ollama.svg`,
209
- },
210
- };
211
- /**
212
- * Get a provider by ID
213
- */
214
- export function getProvider(id) {
215
- return PROVIDERS[id];
216
- }
217
- /**
218
- * Get all providers as an array
219
- */
220
- export function getAllProviders() {
221
- return Object.values(PROVIDERS);
222
- }
223
- /**
224
- * Get providers by API format
225
- */
226
- export function getProvidersByFormat(format) {
227
- return getAllProviders().filter(p => p.apiFormat === format);
228
- }
229
- //# sourceMappingURL=providers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
package/dist/storage.d.ts DELETED
@@ -1,31 +0,0 @@
1
- /**
2
- * AI Provider Selector - Storage Utilities
3
- * Abstraction layer for config persistence
4
- */
5
- import type { AIConfig, StorageAdapter } from './types';
6
- /**
7
- * Default localStorage adapter
8
- */
9
- export declare const localStorageAdapter: StorageAdapter;
10
- /**
11
- * Create a config storage instance
12
- */
13
- export interface StorageOptions {
14
- serialize?: (data: any) => string;
15
- deserialize?: (data: string) => any;
16
- }
17
- export declare function createConfigStorage(adapter?: StorageAdapter, options?: StorageOptions): {
18
- /**
19
- * Save AI config
20
- */
21
- save(config: AIConfig): void;
22
- /**
23
- * Load AI config
24
- */
25
- load(): AIConfig | null;
26
- /**
27
- * Clear AI config
28
- */
29
- clear(): void;
30
- };
31
- //# sourceMappingURL=storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIxD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAajC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAC/B,OAAO,GAAE,cAAoC,EAC7C,OAAO,GAAE,cAAmB;IAMxB;;OAEG;iBACU,QAAQ,GAAG,IAAI;IAS5B;;OAEG;YACK,QAAQ,GAAG,IAAI;IAWvB;;OAEG;aACM,IAAI;EAIpB"}
package/dist/storage.js DELETED
@@ -1,65 +0,0 @@
1
- /**
2
- * AI Provider Selector - Storage Utilities
3
- * Abstraction layer for config persistence
4
- */
5
- const STORAGE_KEY = 'ai_provider_config';
6
- /**
7
- * Default localStorage adapter
8
- */
9
- export const localStorageAdapter = {
10
- get: (key) => {
11
- if (typeof window === 'undefined')
12
- return null;
13
- return localStorage.getItem(key);
14
- },
15
- set: (key, value) => {
16
- if (typeof window === 'undefined')
17
- return;
18
- localStorage.setItem(key, value);
19
- },
20
- remove: (key) => {
21
- if (typeof window === 'undefined')
22
- return;
23
- localStorage.removeItem(key);
24
- },
25
- };
26
- export function createConfigStorage(adapter = localStorageAdapter, options = {}) {
27
- const serialize = options.serialize || JSON.stringify;
28
- const deserialize = options.deserialize || JSON.parse;
29
- return {
30
- /**
31
- * Save AI config
32
- */
33
- save(config) {
34
- try {
35
- const serialized = serialize(config);
36
- adapter.set(STORAGE_KEY, serialized);
37
- }
38
- catch (e) {
39
- console.error('Failed to save config:', e);
40
- }
41
- },
42
- /**
43
- * Load AI config
44
- */
45
- load() {
46
- const raw = adapter.get(STORAGE_KEY);
47
- if (!raw)
48
- return null;
49
- try {
50
- return deserialize(raw);
51
- }
52
- catch (e) {
53
- console.error('Failed to load config:', e);
54
- return null;
55
- }
56
- },
57
- /**
58
- * Clear AI config
59
- */
60
- clear() {
61
- adapter.remove(STORAGE_KEY);
62
- },
63
- };
64
- }
65
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IAC/C,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE;QACjB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAC/C,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QAChC,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;QACpB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAC1C,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;CACJ,CAAC;AAUF,MAAM,UAAU,mBAAmB,CAC/B,UAA0B,mBAAmB,EAC7C,UAA0B,EAAE;IAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;IACtD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;IAEtD,OAAO;QACH;;WAEG;QACH,IAAI,CAAC,MAAgB;YACjB,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QAED;;WAEG;QACH,IAAI;YACA,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,IAAI,CAAC;gBACD,OAAO,WAAW,CAAC,GAAG,CAAa,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAED;;WAEG;QACH,KAAK;YACD,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,54 +0,0 @@
1
- import type { Model } from './types';
2
- export interface ProviderStrategy {
3
- format: string;
4
- getModelsEndpoint?: (baseUrl: string, apiKey: string) => string;
5
- parseModelsResponse?: (data: any) => Model[];
6
- getChatEndpoint: (baseUrl: string, apiKey: string, model: string) => string;
7
- buildChatPayload: (model: string, messages: Array<{
8
- role: string;
9
- content: string;
10
- }>, maxTokens: number) => Record<string, unknown>;
11
- parseChatResponse: (data: any) => string;
12
- buildHeaders: (apiKey: string) => Record<string, string>;
13
- }
14
- export declare const defaultParseModelsResponse: (data: any) => Model[];
15
- export declare const strategyRegistry: Record<string, ProviderStrategy>;
16
- export declare function getStrategy(format: string): ProviderStrategy;
17
- export interface DirectChatOptions {
18
- apiFormat: string;
19
- baseUrl: string;
20
- apiKey: string;
21
- model: string;
22
- messages: Array<{
23
- role: string;
24
- content: string;
25
- }>;
26
- maxTokens?: number;
27
- }
28
- export interface DirectChatResult {
29
- success: boolean;
30
- content?: string;
31
- message?: string;
32
- latencyMs?: number;
33
- }
34
- /**
35
- * 纯前端直连 AI 厂商进行聊天
36
- * 注意: 这会将 API Key 暴露在浏览器中,仅适用于 Demo/测试场景
37
- */
38
- export declare function sendDirectChat(options: DirectChatOptions): Promise<DirectChatResult>;
39
- export interface TestConnectionOptions {
40
- apiFormat: string;
41
- baseUrl: string;
42
- apiKey: string;
43
- model: string;
44
- }
45
- export interface TestConnectionResult {
46
- success: boolean;
47
- latencyMs?: number;
48
- message?: string;
49
- }
50
- /**
51
- * 测试 AI 厂商连接 (通过发送一个简单的聊天请求)
52
- */
53
- export declare function testDirectConnection(options: TestConnectionOptions): Promise<TestConnectionResult>;
54
- //# sourceMappingURL=strategies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../src/strategies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC;IAE7C,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5E,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpI,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;IAEzC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,0BAA0B,GAAI,MAAM,GAAG,KAAG,KAAK,EAmB3D,CAAC;AAsGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAK7D,CAAC;AAEF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE5D;AAMD,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0C1F;AAMD,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAexG"}
@@ -1,184 +0,0 @@
1
- export const defaultParseModelsResponse = (data) => {
2
- if (Array.isArray(data?.data)) {
3
- return data.data
4
- .filter((m) => m.id)
5
- .map((m) => {
6
- const name = m.name ||
7
- (m.id.split('/').pop() ?? '')
8
- .replace(/[-_]/g, ' ')
9
- .replace(/\b\w/g, (c) => c.toUpperCase());
10
- return {
11
- id: m.id,
12
- name,
13
- created: m.created || 0,
14
- };
15
- })
16
- .sort((a, b) => (b.created || 0) - (a.created || 0)); // 最新的排在前面
17
- }
18
- return [];
19
- };
20
- const openaiStrategy = {
21
- format: 'openai',
22
- getModelsEndpoint: (baseUrl) => `${baseUrl}/models`,
23
- getChatEndpoint: (baseUrl) => `${baseUrl}/chat/completions`,
24
- buildHeaders: (apiKey) => ({
25
- 'Content-Type': 'application/json',
26
- 'Authorization': `Bearer ${apiKey}`,
27
- }),
28
- buildChatPayload: (model, messages, maxTokens) => ({
29
- model,
30
- messages,
31
- max_tokens: maxTokens,
32
- }),
33
- parseChatResponse: (data) => {
34
- return data.choices?.[0]?.message?.content || '';
35
- },
36
- };
37
- const anthropicStrategy = {
38
- format: 'anthropic',
39
- getChatEndpoint: (baseUrl) => `${baseUrl}/messages`,
40
- buildHeaders: (apiKey) => ({
41
- 'Content-Type': 'application/json',
42
- 'x-api-key': apiKey,
43
- 'anthropic-version': '2023-06-01',
44
- }),
45
- buildChatPayload: (model, messages, maxTokens) => ({
46
- model,
47
- messages,
48
- max_tokens: maxTokens,
49
- }),
50
- parseChatResponse: (data) => {
51
- return data.content?.[0]?.text || '';
52
- },
53
- };
54
- const geminiStrategy = {
55
- format: 'gemini',
56
- getModelsEndpoint: (baseUrl, apiKey) => `${baseUrl}/models?key=${apiKey}`,
57
- getChatEndpoint: (baseUrl, apiKey, model) => `${baseUrl}/models/${model}:generateContent?key=${apiKey}`,
58
- buildHeaders: () => ({
59
- 'Content-Type': 'application/json',
60
- }),
61
- buildChatPayload: (_model, messages, maxTokens) => {
62
- // 转换 OpenAI 格式的 messages 为 Gemini 格式
63
- const contents = messages.map(m => ({
64
- role: m.role === 'assistant' ? 'model' : 'user',
65
- parts: [{ text: m.content }],
66
- }));
67
- return {
68
- contents,
69
- generationConfig: { maxOutputTokens: maxTokens },
70
- };
71
- },
72
- parseChatResponse: (data) => {
73
- return data.candidates?.[0]?.content?.parts?.[0]?.text || '';
74
- },
75
- // Gemini 返回格式: { models: [{ name: "models/gemini-pro", ... }] }
76
- parseModelsResponse: (data) => {
77
- if (Array.isArray(data.models)) {
78
- return data.models
79
- .filter((m) => m.supportedGenerationMethods?.includes('generateContent'))
80
- .map((m) => ({
81
- id: m.name.replace('models/', ''), // "models/gemini-pro" -> "gemini-pro"
82
- name: m.displayName || m.name.replace('models/', ''),
83
- created: m.created || 0,
84
- }))
85
- .sort((a, b) => (b.created || 0) - (a.created || 0));
86
- }
87
- return [];
88
- },
89
- };
90
- const cohereStrategy = {
91
- format: 'cohere',
92
- getModelsEndpoint: (baseUrl) => `${baseUrl}/models`,
93
- getChatEndpoint: (baseUrl) => `${baseUrl}/chat`,
94
- buildHeaders: (apiKey) => ({
95
- 'Content-Type': 'application/json',
96
- 'Authorization': `Bearer ${apiKey}`,
97
- }),
98
- buildChatPayload: (model, messages, maxTokens) => {
99
- // Cohere 使用不同的格式: message 是当前消息, chat_history 是历史
100
- const lastMessage = messages[messages.length - 1];
101
- const chatHistory = messages.slice(0, -1).map(m => ({
102
- role: m.role === 'assistant' ? 'CHATBOT' : 'USER',
103
- message: m.content,
104
- }));
105
- return {
106
- model,
107
- message: lastMessage.content,
108
- chat_history: chatHistory,
109
- max_tokens: maxTokens,
110
- };
111
- },
112
- parseChatResponse: (data) => {
113
- return data.text || '';
114
- },
115
- };
116
- export const strategyRegistry = {
117
- openai: openaiStrategy,
118
- anthropic: anthropicStrategy,
119
- gemini: geminiStrategy,
120
- cohere: cohereStrategy,
121
- };
122
- export function getStrategy(format) {
123
- return strategyRegistry[format] || openaiStrategy;
124
- }
125
- /**
126
- * 纯前端直连 AI 厂商进行聊天
127
- * 注意: 这会将 API Key 暴露在浏览器中,仅适用于 Demo/测试场景
128
- */
129
- export async function sendDirectChat(options) {
130
- const { apiFormat, baseUrl, apiKey, model, messages, maxTokens = 2048 } = options;
131
- const strategy = getStrategy(apiFormat);
132
- const endpoint = strategy.getChatEndpoint(baseUrl, apiKey, model);
133
- const headers = strategy.buildHeaders(apiKey);
134
- const payload = strategy.buildChatPayload(model, messages, maxTokens);
135
- const startTime = performance.now();
136
- try {
137
- const response = await fetch(endpoint, {
138
- method: 'POST',
139
- headers,
140
- body: JSON.stringify(payload),
141
- });
142
- const latencyMs = Math.round(performance.now() - startTime);
143
- if (!response.ok) {
144
- const errorData = await response.json().catch(() => ({}));
145
- return {
146
- success: false,
147
- message: errorData.error?.message || `HTTP ${response.status}: ${response.statusText}`,
148
- latencyMs,
149
- };
150
- }
151
- const data = await response.json();
152
- const content = strategy.parseChatResponse(data);
153
- return {
154
- success: true,
155
- content,
156
- latencyMs,
157
- };
158
- }
159
- catch (e) {
160
- return {
161
- success: false,
162
- message: e instanceof Error ? e.message : '网络错误',
163
- };
164
- }
165
- }
166
- /**
167
- * 测试 AI 厂商连接 (通过发送一个简单的聊天请求)
168
- */
169
- export async function testDirectConnection(options) {
170
- const result = await sendDirectChat({
171
- apiFormat: options.apiFormat,
172
- baseUrl: options.baseUrl,
173
- apiKey: options.apiKey,
174
- model: options.model,
175
- messages: [{ role: 'user', content: 'Hi' }],
176
- maxTokens: 5, // 最小 token 数,节省成本
177
- });
178
- return {
179
- success: result.success,
180
- latencyMs: result.latencyMs,
181
- message: result.success ? undefined : result.message,
182
- };
183
- }
184
- //# sourceMappingURL=strategies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../src/strategies.ts"],"names":[],"mappings":"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"}