@aalis/plugin-llm-openai 0.13.0 → 0.14.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsC,KAAK,MAAM,EAA8B,MAAM,aAAa,CAAC;;;;;;;AA6pB1G,wBASG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsC,KAAK,MAAM,EAA8B,MAAM,aAAa,CAAC;;;;;;;AAuxB1G,wBASG"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { LLMCapabilities, llm } from '@aalis/api-llm';
2
2
  import { config, definePlugin, lifecycle, logger, provide } from '@aalis/core';
3
- import { missingConfigError } from '@aalis/schema-config';
3
+ import { configError, defineConfig, missingConfigError, parseConfig } from '@aalis/schema-config';
4
4
  import { prepareLLMMessages, toLLMRole } from '@aalis/schema-message';
5
+ import { truncateChars } from '@aalis/util-text-normalize';
5
6
  // ===== 插件元数据 =====
6
7
  /** 已知的内容审查错误关键词 */
7
8
  const CONTENT_FILTER_PATTERNS = [
@@ -11,20 +12,106 @@ const CONTENT_FILTER_PATTERNS = [
11
12
  'sensitive content',
12
13
  'risk control',
13
14
  ];
14
- /** 解析 API 错误,对内容审查类错误返回友好提示 */
15
+ /** 错误信息与日志里附带的摘录上限(字符)。网关的 HTML 错误页可达数十 KB;截断按代理对安全,不留孤代理 */
16
+ const ERROR_BODY_MAX_CHARS = 500;
17
+ /** 错误信息与日志里附带的摘录:空白(含 HTML 错误页的换行)折叠成一个空格后截断,不把换行带进错误信息与日志 */
18
+ function bodyExcerpt(body) {
19
+ return truncateChars(body.replace(/\s+/g, ' ').trim(), ERROR_BODY_MAX_CHARS, '…');
20
+ }
21
+ /**
22
+ * 读配置时校验 baseUrl,解析不了的与带用户名或密码的抛配置错误。带凭据的 URL fetch 拒发,凭据还会随报错与
23
+ * 条目名称(WebUI 的模型下拉)显示出来;解析不了的无从判断有没有凭据,请求同样发不出去。消息不带 URL
24
+ */
25
+ function checkBaseUrl(baseUrl) {
26
+ if (!URL.canParse(baseUrl)) {
27
+ throw configError('baseUrl 不是有效的 URL,需写成完整地址,如 https://api.openai.com/v1');
28
+ }
29
+ const { username, password } = new URL(baseUrl);
30
+ if (username || password) {
31
+ throw configError('baseUrl 不能带用户名或密码(user:pass@),密钥请填在 apiKey');
32
+ }
33
+ }
34
+ /**
35
+ * 错误信息与日志里显示的 URL:去掉查询串(有的网关把密钥写在查询串里)。没有查询串时原样返回,保留配置里的写法。
36
+ * 带用户名或密码的 baseUrl 读配置时已拒绝(见 checkBaseUrl)
37
+ */
38
+ function redactUrl(url) {
39
+ const parsed = new URL(url);
40
+ if (!parsed.search)
41
+ return url;
42
+ parsed.search = '';
43
+ return parsed.href;
44
+ }
45
+ /**
46
+ * 错误消息连同底层原因,写成一行。fetch 网络失败的消息固定是「fetch failed」,真实原因(DNS、拒绝连接、TLS)在
47
+ * cause 上;连 localhost 时两个地址族都失败,cause 是消息为空的 AggregateError,原因在它的子错误上
48
+ */
49
+ function describeError(err) {
50
+ const cause = err instanceof Error ? err.cause : undefined;
51
+ const reasons = cause instanceof AggregateError ? cause.errors : cause instanceof Error ? [cause] : [];
52
+ const detail = reasons.map(e => (e instanceof Error ? e.message : String(e))).join('; ');
53
+ return `${err instanceof Error ? err.message : String(err)}${detail ? ` ← ${detail}` : ''}`;
54
+ }
55
+ /** 常见状态码的一句提示 */
56
+ function statusHint(status) {
57
+ if (status === 401 || status === 403)
58
+ return '密钥无效或没有权限';
59
+ if (status === 402)
60
+ return '余额不足或需要付费';
61
+ if (status === 404)
62
+ return '模型或地址不对';
63
+ if (status === 429)
64
+ return '请求过多或额度不足';
65
+ if (status >= 500)
66
+ return '上游服务故障';
67
+ return undefined;
68
+ }
69
+ /**
70
+ * 上游 JSON 错误体里的说明:OpenAI 风格的 error.message、Ollama 风格的 error 字符串,或顶层 message,折成一行并截断。
71
+ * 不是 JSON、没有这些字段或说明是空白时返回空串
72
+ */
73
+ function upstreamMessage(body) {
74
+ let data;
75
+ try {
76
+ data = JSON.parse(body);
77
+ }
78
+ catch {
79
+ return '';
80
+ }
81
+ const error = data?.error;
82
+ const message = typeof error === 'string' ? error : typeof error?.message === 'string' ? error.message : data?.message;
83
+ return typeof message === 'string' ? bodyExcerpt(message) : '';
84
+ }
85
+ /**
86
+ * 非 2xx 应答的错误信息(会经 agent 发回会话):状态码、常见状态码的一句提示与上游 JSON 里的说明;没有说明时
87
+ * (不是 JSON 或没有说明字段)写「详情见日志」。响应体本身只进日志,由调用方记
88
+ */
89
+ function httpErrorMessage(provider, status, body) {
90
+ const hint = statusHint(status);
91
+ const message = upstreamMessage(body);
92
+ return `${provider} API 错误 (${status})${hint ? `:${hint}` : ''};${message ? `上游说明:${message}` : '详情见日志'}`;
93
+ }
94
+ /** 解析 API 错误:内容审查类错误按完整响应体识别,给固定提示;其余见 httpErrorMessage */
15
95
  function parseApiError(provider, status, body) {
16
96
  const lower = body.toLowerCase();
17
97
  if (status === 400 && CONTENT_FILTER_PATTERNS.some(p => lower.includes(p))) {
18
98
  return `${provider} 拒绝了此次请求(内容安全策略),请尝试换一个话题或缩短上下文`;
19
99
  }
20
- return `${provider} API 错误 (${status}): ${body}`;
100
+ return httpErrorMessage(provider, status, body);
21
101
  }
22
- const configSchema = {
23
- apiKey: { type: 'string', label: 'API Key', secret: true, description: 'OpenAI API 密钥(本地服务可留空)' },
102
+ const configSchema = defineConfig({
103
+ apiKey: {
104
+ type: 'string',
105
+ label: 'API Key',
106
+ secret: true,
107
+ onInvalid: 'error',
108
+ description: 'OpenAI API 密钥(本地服务可留空)',
109
+ },
24
110
  baseUrl: {
25
111
  type: 'string',
26
112
  label: 'API 地址',
27
113
  default: 'https://api.openai.com/v1',
114
+ onInvalid: 'error',
28
115
  description: 'API 端点完整前缀(含版本段,如 https://api.openai.com/v1);插件只在其后拼 /chat/completions 与 /models。' +
29
116
  '可替换为任何兼容服务(如 Gemini 的 https://generativelanguage.googleapis.com/v1beta/openai)。',
30
117
  },
@@ -34,6 +121,12 @@ const configSchema = {
34
121
  default: '',
35
122
  description: '手动添加的模型名称(每行一个或逗号分隔)。用于补充自动发现列表中未出现的模型。与自动发现重复时会提示去重。',
36
123
  },
124
+ discoverModels: {
125
+ type: 'boolean',
126
+ label: '自动发现模型',
127
+ default: true,
128
+ description: '启动时请求 /models 发现可用模型,WebUI 可刷新模型列表。网关不提供 /models 时关闭:不发发现请求,只注册 customModels(此时必填),也不支持刷新。',
129
+ },
37
130
  modelCapabilities: {
38
131
  type: 'textarea',
39
132
  label: '单模型能力覆盖',
@@ -64,7 +157,7 @@ const configSchema = {
64
157
  '仅在端点是 DeepSeek 或会原样透传该字段的中转时开启——OpenAI 官方端点不认此字段会拒收请求。' +
65
158
  '请求未指定 think 时不发送该字段(沿用端点默认)。',
66
159
  },
67
- };
160
+ });
68
161
  /**
69
162
  * OpenAI 推理模型(o 系列 o1/o3/o4… 与 gpt-5 系列 gpt-5/-mini/-nano/-chat…):
70
163
  * 拒 max_tokens(需 max_completion_tokens)、拒非默认 temperature。
@@ -81,14 +174,14 @@ class OpenAIClient {
81
174
  maxTokens;
82
175
  thinkingParam;
83
176
  logger;
84
- constructor(config, logger) {
85
- this.apiKey = config.apiKey;
86
- this.baseUrl = config.baseUrl.replace(/\/+$/, '');
87
- // schema 中 timeout 单位为「秒」,存储为毫秒;0 视为不限制 → 用一个非常大的值
88
- this.timeout = config.timeout && config.timeout > 0 ? config.timeout * 1000 : 2_147_483_647;
89
- this.temperature = config.temperature;
90
- this.maxTokens = config.maxTokens;
91
- this.thinkingParam = config.thinkingParam;
177
+ constructor(cfg, logger) {
178
+ this.apiKey = cfg.apiKey;
179
+ this.baseUrl = cfg.baseUrl.replace(/\/+$/, '');
180
+ // schema 中 timeout 单位为「秒」,存储为毫秒;0 或负数视为不限制 → 用一个非常大的值
181
+ this.timeout = cfg.timeout > 0 ? cfg.timeout * 1000 : 2_147_483_647;
182
+ this.temperature = cfg.temperature;
183
+ this.maxTokens = cfg.maxTokens;
184
+ this.thinkingParam = cfg.thinkingParam;
92
185
  this.logger = logger;
93
186
  }
94
187
  /**
@@ -109,8 +202,39 @@ class OpenAIClient {
109
202
  h.Authorization = `Bearer ${this.apiKey}`;
110
203
  return h;
111
204
  }
205
+ /** 对话请求的非 2xx 应答:截断后的响应体记 warn,抛出的错误见 parseApiError */
206
+ apiError(status, body) {
207
+ this.logger.warn(`LLM API 错误 (${status}): ${bodyExcerpt(body)}`);
208
+ return new Error(parseApiError('LLM', status, body));
209
+ }
210
+ /**
211
+ * 对话请求没拿到完整应答(fetch 或读响应体时抛出):原始错误连同原因记 warn,超时与连不上各换成一句说明,其它错误
212
+ * 原样返回。调用方经 request.signal 中止时原样返回、不记日志,agent 按中止收尾
213
+ */
214
+ requestError(err, request, startedAt) {
215
+ if (request.signal?.aborted)
216
+ return err;
217
+ this.logger.warn(`LLM 请求失败 (耗时 ${Date.now() - startedAt}ms): ${describeError(err)}`);
218
+ if (err instanceof DOMException && err.name === 'TimeoutError') {
219
+ return new Error(`LLM 请求超时:${this.timeout / 1000} 秒内没有完成,可在配置里调大 timeout`);
220
+ }
221
+ if (err instanceof TypeError && err.message === 'fetch failed') {
222
+ return new Error('LLM 连不上服务:检查 baseUrl 与网络,详情见日志');
223
+ }
224
+ return err;
225
+ }
226
+ /** 对话应答按 JSON 解析;不是 JSON 时截断后的应答体记 warn,抛出一行说明 */
227
+ parseJsonBody(status, text) {
228
+ try {
229
+ return JSON.parse(text);
230
+ }
231
+ catch {
232
+ this.logger.warn(`LLM 应答不是 JSON (${status}): ${bodyExcerpt(text)}`);
233
+ throw new Error(`LLM 应答不是 JSON (${status});详情见日志`);
234
+ }
235
+ }
112
236
  /**
113
- * 发现远端模型列表(仅含 id)。不可达、超时、非 2xx、响应不是模型列表时抛出,消息带 URL 与原因
237
+ * 发现远端模型列表(仅含 id)。不可达、超时、非 2xx、响应不是 JSON 或不是模型列表时抛出,消息带 URL 与原因
114
238
  * (由调用方决定按空列表继续还是报错);经 signal 中止时抛中止原因
115
239
  */
116
240
  async fetchRemoteModelIds(signal) {
@@ -125,19 +249,26 @@ class OpenAIClient {
125
249
  });
126
250
  if (!res.ok) {
127
251
  const body = await res.text().catch(() => '');
128
- throw new Error(`HTTP ${res.status} ${res.statusText} - ${body}`);
252
+ throw new Error(`HTTP ${res.status} ${res.statusText} - ${bodyExcerpt(body)}`);
253
+ }
254
+ // 先读成文本再解析:res.json() 的 SyntaxError 会把响应体开头连同换行带进消息
255
+ const text = await res.text();
256
+ let data;
257
+ try {
258
+ data = JSON.parse(text);
259
+ }
260
+ catch {
261
+ throw new Error(`响应不是 JSON: ${bodyExcerpt(text)}`);
129
262
  }
130
- const data = (await res.json());
131
- return data.data.map(m => m.id);
263
+ const list = data?.data;
264
+ if (!Array.isArray(list) || !list.every(m => typeof m?.id === 'string')) {
265
+ throw new Error(`响应不是模型列表(需要 data 数组,每项带字符串 id): ${bodyExcerpt(JSON.stringify(data))}`);
266
+ }
267
+ return list.map(m => m.id);
132
268
  }
133
269
  catch (err) {
134
270
  signal?.throwIfAborted();
135
- // fetch 网络失败的消息固定是「fetch failed」,真实原因(DNS、拒绝连接、TLS)在 cause 上;连 localhost 时
136
- // 两个地址族都失败,cause 是消息为空的 AggregateError,原因在它的子错误上
137
- const cause = err instanceof Error ? err.cause : undefined;
138
- const reasons = cause instanceof AggregateError ? cause.errors : cause instanceof Error ? [cause] : [];
139
- const detail = reasons.map(e => (e instanceof Error ? e.message : String(e))).join('; ');
140
- throw new Error(`模型发现失败 ${url}: ${err instanceof Error ? err.message : String(err)}${detail ? ` ← ${detail}` : ''}`, { cause: err });
271
+ throw new Error(`模型发现失败 ${redactUrl(url)}: ${describeError(err)}`, { cause: err });
141
272
  }
142
273
  }
143
274
  async chat(model, request) {
@@ -160,17 +291,24 @@ class OpenAIClient {
160
291
  const signals = [AbortSignal.timeout(this.timeout)];
161
292
  if (request.signal)
162
293
  signals.push(request.signal);
163
- const response = await fetch(`${this.baseUrl}/chat/completions`, {
164
- method: 'POST',
165
- headers: this.headers,
166
- body: JSON.stringify(body),
167
- signal: AbortSignal.any(signals),
168
- });
169
- if (!response.ok) {
170
- const errorText = await response.text();
171
- throw new Error(parseApiError('LLM', response.status, errorText));
294
+ const startedAt = Date.now();
295
+ let response;
296
+ let text;
297
+ try {
298
+ response = await fetch(`${this.baseUrl}/chat/completions`, {
299
+ method: 'POST',
300
+ headers: this.headers,
301
+ body: JSON.stringify(body),
302
+ signal: AbortSignal.any(signals),
303
+ });
304
+ text = await response.text();
305
+ }
306
+ catch (err) {
307
+ throw this.requestError(err, request, startedAt);
172
308
  }
173
- const data = (await response.json());
309
+ if (!response.ok)
310
+ throw this.apiError(response.status, text);
311
+ const data = this.parseJsonBody(response.status, text);
174
312
  const choice = data.choices[0];
175
313
  if (!choice) {
176
314
  throw new Error('LLM 返回了空的 choices');
@@ -235,16 +373,15 @@ class OpenAIClient {
235
373
  }
236
374
  catch (err) {
237
375
  clearTimeout(slowConnectTimer);
238
- const elapsed = Date.now() - reqStart;
239
- const msg = err instanceof Error ? err.message : String(err);
240
- this.logger.warn(`LLM fetch 失败 (耗时 ${elapsed}ms): ${msg}`);
241
- throw err;
376
+ throw this.requestError(err, request, reqStart);
242
377
  }
243
378
  clearTimeout(slowConnectTimer);
244
379
  this.logger.debug(`LLM 响应头到达: status=${response.status}, 耗时 ${Date.now() - reqStart}ms`);
245
380
  if (!response.ok) {
246
- const errorText = await response.text();
247
- throw new Error(parseApiError('LLM', response.status, errorText));
381
+ const errorText = await response.text().catch((err) => {
382
+ throw this.requestError(err, request, reqStart);
383
+ });
384
+ throw this.apiError(response.status, errorText);
248
385
  }
249
386
  const toolCallBuffers = new Map();
250
387
  if (!response.body) {
@@ -340,6 +477,10 @@ class OpenAIClient {
340
477
  }
341
478
  }
342
479
  }
480
+ catch (err) {
481
+ // 读流时超时或连接中断
482
+ throw this.requestError(err, request, reqStart);
483
+ }
343
484
  finally {
344
485
  clearTimeout(streamStallTimer);
345
486
  // cancel 而非仅 releaseLock:中止/提前退出时要主动关闭响应体。releaseLock 只是放锁,
@@ -474,8 +615,6 @@ function resolveCapabilities(model, userOverride, providerCaps) {
474
615
  // ===== 插件入口 =====
475
616
  /** 解析自定义模型列表:支持逗号分隔和换行分隔 */
476
617
  function parseCustomModels(raw) {
477
- if (!raw || typeof raw !== 'string')
478
- return [];
479
618
  return raw
480
619
  .split(/[,\n]/)
481
620
  .map(s => s.trim())
@@ -491,8 +630,6 @@ function parseCustomModels(raw) {
491
630
  */
492
631
  function parseModelCapabilities(raw) {
493
632
  const out = new Map();
494
- if (!raw || typeof raw !== 'string')
495
- return out;
496
633
  for (const line of raw.split(/\r?\n/)) {
497
634
  const trimmed = line.trim();
498
635
  if (!trimmed || trimmed.startsWith('#'))
@@ -515,8 +652,6 @@ function parseModelCapabilities(raw) {
515
652
  * 解析适配器级别默认能力(逗号/空格/换行分隔)。
516
653
  */
517
654
  function parseProviderCapabilities(raw) {
518
- if (!raw || typeof raw !== 'string')
519
- return [];
520
655
  return raw
521
656
  .split(/[,\s\n]/)
522
657
  .map(s => s.trim())
@@ -529,20 +664,20 @@ class OpenAIModelHandle {
529
664
  providerId;
530
665
  contextLength;
531
666
  maxOutputTokens;
532
- refresh;
533
667
  capabilities;
668
+ refresh;
534
669
  constructor(client, id, providerId, contextLength, maxOutputTokens,
535
- /** Provider 级共享的 refresh 闭包;webui 按 contextId 找到任一 entry 调一次即可。 */
536
- refresh,
537
670
  /** 该 model 的能力元数据(供 media 发现/下拉展示读取,非 DI 选择机制)。 */
538
- capabilities) {
671
+ capabilities,
672
+ /** Provider 级共享的 refresh 闭包;webui 按 providerId 找到该 provider 的任一 entry 调一次即可。关闭模型发现时没有 */
673
+ refresh) {
539
674
  this.client = client;
540
675
  this.id = id;
541
676
  this.providerId = providerId;
542
677
  this.contextLength = contextLength;
543
678
  this.maxOutputTokens = maxOutputTokens;
544
- this.refresh = refresh;
545
679
  this.capabilities = capabilities;
680
+ this.refresh = refresh;
546
681
  }
547
682
  chat(request) {
548
683
  return this.client.chat(this.id, request);
@@ -564,46 +699,31 @@ export default definePlugin({
564
699
  apply: registerModels,
565
700
  });
566
701
  async function registerModels({ config, logger, lifecycle, provide }) {
567
- const openaiConfig = {
568
- apiKey: config.apiKey ?? '',
569
- baseUrl: config.baseUrl ?? 'https://api.openai.com/v1',
570
- customModels: parseCustomModels(config.customModels),
571
- modelCapabilities: parseModelCapabilities(config.modelCapabilities),
572
- providerCapabilities: parseProviderCapabilities(config.providerCapabilities),
573
- timeout: config.timeout ?? 120,
574
- temperature: config.temperature ?? 0.7,
575
- maxTokens: config.maxTokens ?? 4096,
576
- contextLength: config.contextLength ?? 128000,
577
- thinkingParam: config.thinkingParam === true,
578
- };
702
+ const cfg = parseConfig(configSchema, config, logger);
703
+ const customModels = parseCustomModels(cfg.customModels);
704
+ const modelCapabilities = parseModelCapabilities(cfg.modelCapabilities);
705
+ const providerCapabilities = parseProviderCapabilities(cfg.providerCapabilities);
706
+ checkBaseUrl(cfg.baseUrl);
579
707
  // 官方端点判定按 URL host(前缀字符串匹配会误伤 api.openai.com.cn 等镜像域名)
580
- const isOfficialOpenAI = (() => {
581
- try {
582
- return new URL(openaiConfig.baseUrl).hostname === 'api.openai.com';
583
- }
584
- catch {
585
- return false;
586
- }
587
- })();
588
- if (!openaiConfig.apiKey && isOfficialOpenAI) {
708
+ const isOfficialOpenAI = new URL(cfg.baseUrl).hostname === 'api.openai.com';
709
+ if (!cfg.apiKey && isOfficialOpenAI) {
589
710
  throw missingConfigError('apiKey', '使用 OpenAI 官方 API 时必填');
590
711
  }
591
- const client = new OpenAIClient(openaiConfig, logger);
592
- const baseLabel = `OpenAI (${openaiConfig.baseUrl.replace(/^https?:\/\//, '')})`;
712
+ if (!cfg.discoverModels && customModels.length === 0) {
713
+ throw missingConfigError('customModels', '关闭 discoverModels 时必填');
714
+ }
715
+ const client = new OpenAIClient(cfg, logger);
716
+ const baseLabel = `OpenAI (${cfg.baseUrl.replace(/^https?:\/\//, '')})`;
717
+ const shownBaseUrl = redactUrl(cfg.baseUrl);
593
718
  // 已注册 model entry 的句柄表:modelId → dispose(来自 provide 返回值)
594
719
  const registered = new Map();
595
- // refresh 闭包:apply 末尾装配;先占位以打破环依赖。
596
- let refreshFn = async () => ({
597
- added: [],
598
- removed: [],
599
- total: registered.size,
600
- });
601
- const refresh = () => refreshFn();
720
+ // 关闭模型发现时不提供 refresh:没有可重新发现的列表
721
+ const refresh = cfg.discoverModels ? refreshModels : undefined;
602
722
  function registerOne(modelId) {
603
723
  if (registered.has(modelId))
604
724
  return;
605
- const capabilities = resolveCapabilities(modelId, openaiConfig.modelCapabilities.get(modelId), openaiConfig.providerCapabilities);
606
- const handle = new OpenAIModelHandle(client, modelId, lifecycle.id, openaiConfig.contextLength, openaiConfig.maxTokens, refresh, capabilities);
725
+ const capabilities = resolveCapabilities(modelId, modelCapabilities.get(modelId), providerCapabilities);
726
+ const handle = new OpenAIModelHandle(client, modelId, lifecycle.id, cfg.contextLength, cfg.maxTokens, capabilities, refresh);
607
727
  const dispose = provide(llm, handle, {
608
728
  label: `${baseLabel} / ${modelId}`,
609
729
  entryId: `${lifecycle.id}/${modelId}`,
@@ -625,39 +745,46 @@ async function registerModels({ config, logger, lifecycle, provide }) {
625
745
  /** 自动发现的模型并上 customModels(与自动发现重复的告警) */
626
746
  function withCustomModels(remoteIds) {
627
747
  const remoteSet = new Set(remoteIds);
628
- for (const cm of openaiConfig.customModels) {
748
+ for (const cm of customModels) {
629
749
  if (remoteSet.has(cm)) {
630
750
  logger.warn(`自定义模型 "${cm}" 与自动发现的模型重复,请在配置中去重`);
631
751
  }
632
752
  }
633
- return [...remoteIds, ...openaiConfig.customModels.filter(id => !remoteSet.has(id))];
753
+ return [...remoteIds, ...customModels.filter(id => !remoteSet.has(id))];
634
754
  }
635
- // 初次注册。停用或停机时中止探测(中止即抛出);发现失败记 warn 后按未发现远端模型继续,customModels 照常注册
636
- let discovered = true;
637
- const remoteIds = await client.fetchRemoteModelIds(lifecycle.signal).catch((err) => {
638
- lifecycle.signal.throwIfAborted();
639
- discovered = false;
640
- // 只记消息:消息里已带 URL 与原因(cause 也内联在内),err 交给 logger 会按因果链把原因再记一遍
641
- logger.warn(`${err instanceof Error ? err.message : String(err)};启动时只注册 customModels 里的模型`);
642
- return [];
643
- });
755
+ // 初次注册。停用或停机时中止探测(中止即抛出);发现失败按未发现远端模型继续,customModels 照常注册;
756
+ // 关闭模型发现时只注册 customModels。发现失败只留消息:消息里已带 URL 与原因(cause 也内联在内),
757
+ // err 交给 logger 会按因果链把原因再记一遍
758
+ let discoveryError;
759
+ const remoteIds = cfg.discoverModels
760
+ ? await client.fetchRemoteModelIds(lifecycle.signal).catch((err) => {
761
+ discoveryError = err instanceof Error ? err.message : String(err);
762
+ return [];
763
+ })
764
+ : [];
644
765
  lifecycle.signal.throwIfAborted();
645
766
  const initialIds = withCustomModels(remoteIds);
767
+ // 一个模型都没有时抛配置错误,原因成为实例的错误信息;否则只剩 core 的「声明 provides [llm] 但未实际注册」。
768
+ // 提示写在原因之前:原因里可能带着一段响应体
646
769
  if (initialIds.length === 0) {
647
- logger.warn(discovered
648
- ? `已连接: ${openaiConfig.baseUrl},但未发现任何可用模型;不注册任何 LLM entry`
649
- : `模型发现失败且未配置 customModels: ${openaiConfig.baseUrl},不注册任何 LLM entry`);
770
+ throw configError(discoveryError
771
+ ? `未配置 customModels,没有可注册的模型;${discoveryError}`
772
+ : `已连接 ${shownBaseUrl},但未发现任何可用模型;可在 customModels 里写明要用的模型`);
650
773
  }
651
- else {
652
- for (const modelId of initialIds)
653
- registerOne(modelId);
654
- logger.info(discovered
655
- ? `已连接: ${openaiConfig.baseUrl},注册 ${initialIds.length} 个 model entry`
656
- : `模型发现失败: ${openaiConfig.baseUrl},注册 customModels 里的 ${initialIds.length} 个 model entry`);
657
- }
658
- // 装配 refresh 真实实现。与初次注册一样随停用或停机中止:中止即抛出,不再增删条目。
659
- // 发现失败同样抛出(WebUI 据此报错)、不增删条目:按空列表处理会把自动发现的条目全部注销
660
- refreshFn = async () => {
774
+ if (discoveryError)
775
+ logger.warn(`启动时只注册 customModels 里的模型;${discoveryError}`);
776
+ for (const modelId of initialIds)
777
+ registerOne(modelId);
778
+ logger.info(!cfg.discoverModels
779
+ ? `未开启模型发现: ${shownBaseUrl},注册 customModels 里的 ${initialIds.length} 个 model entry`
780
+ : discoveryError
781
+ ? `模型发现失败: ${shownBaseUrl},注册 customModels 里的 ${initialIds.length} 个 model entry`
782
+ : `已连接: ${shownBaseUrl},注册 ${initialIds.length} 个 model entry`);
783
+ /**
784
+ * 重新发现并按差异增删条目(WebUI 触发)。与初次注册一样随停用或停机中止:中止即抛出,不再增删条目。
785
+ * 发现失败同样抛出(WebUI 据此报错)、不增删条目:按空列表处理会把自动发现的条目全部注销
786
+ */
787
+ async function refreshModels() {
661
788
  const next = withCustomModels(await client.fetchRemoteModelIds(lifecycle.signal));
662
789
  lifecycle.signal.throwIfAborted();
663
790
  const nextSet = new Set(next);
@@ -682,6 +809,6 @@ async function registerModels({ config, logger, lifecycle, provide }) {
682
809
  logger.debug(`OpenAI 模型列表已刷新: 无变化 (共 ${registered.size})`);
683
810
  }
684
811
  return { added, removed, total: registered.size };
685
- };
812
+ }
686
813
  }
687
814
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-llm-openai",
3
- "version": "0.13.0",
3
+ "version": "0.14.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,16 +24,17 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@aalis/schema-config": ">=0.13.0 <1.0.0",
28
- "@aalis/api-llm": ">=0.12.0 <1.0.0",
29
- "@aalis/schema-message": ">=0.9.0 <1.0.0"
27
+ "@aalis/schema-config": ">=0.14.0 <1.0.0",
28
+ "@aalis/api-llm": ">=0.13.0 <1.0.0",
29
+ "@aalis/schema-message": ">=0.9.0 <1.0.0",
30
+ "@aalis/util-text-normalize": ">=0.5.2 <1.0.0"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@types/node": "^22.0.0",
33
34
  "typescript": "^5.7.0",
34
- "@aalis/core": "0.18.0",
35
+ "@aalis/core": "0.19.1",
35
36
  "@aalis/api-tools": "0.10.0",
36
- "@aalis/api-webui": "0.11.0"
37
+ "@aalis/api-webui": "0.11.1"
37
38
  },
38
39
  "peerDependencies": {
39
40
  "@aalis/core": ">=0.18.0 <1.0.0"