@aalis/plugin-llm-ollama 0.11.0 → 0.12.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":"AAEA,OAAO,EAAwB,KAAK,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAE/F,OAAO,EAAsC,KAAK,MAAM,EAAwC,MAAM,aAAa,CAAC;AAWpH;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB5F;;;;;;;;AAigCD,wBASG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAE/F,OAAO,EAAsC,KAAK,MAAM,EAAwC,MAAM,aAAa,CAAC;AA6FpH;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB5F;;;;;;;;AA8iCD,wBASG"}
package/dist/index.js CHANGED
@@ -1,11 +1,92 @@
1
1
  import { LLMCapabilities, llm } from '@aalis/api-llm';
2
2
  import { createProcessGateway, processService } from '@aalis/api-process';
3
3
  import { config, definePlugin, lifecycle, logger, optional, provide } from '@aalis/core';
4
+ import { configError, defineConfig, missingConfigError, parseConfig } from '@aalis/schema-config';
4
5
  import { prepareLLMMessages, toLLMRole } from '@aalis/schema-message';
5
6
  import { safeFetch } from '@aalis/util-network-guard';
7
+ import { truncateChars } from '@aalis/util-text-normalize';
6
8
  // ===== 插件元数据 =====
7
9
  /** 远程图片/音频下载硬上限(附件缓存默认 10MiB 且可配;此处是缓存失败回退直下时的兜底硬顶)。 */
8
10
  const MAX_REMOTE_BINARY_BYTES = 20 * 1024 * 1024;
11
+ /** 错误信息与日志里附带的摘录上限(字符)。反向代理的 HTML 错误页可达数十 KB;截断按代理对安全,不留孤代理 */
12
+ const ERROR_BODY_MAX_CHARS = 500;
13
+ /** 错误信息与日志里附带的摘录:空白(含 HTML 错误页的换行)折叠成一个空格后截断,不把换行带进错误信息与日志 */
14
+ function bodyExcerpt(body) {
15
+ return truncateChars(body.replace(/\s+/g, ' ').trim(), ERROR_BODY_MAX_CHARS, '…');
16
+ }
17
+ /**
18
+ * 读配置时校验 baseUrl,解析不了的与带用户名或密码的抛配置错误。带凭据的 URL fetch 拒发,凭据还会随报错与
19
+ * 条目名称(WebUI 的模型下拉)显示出来;解析不了的无从判断有没有凭据,请求同样发不出去。消息不带 URL
20
+ */
21
+ function checkBaseUrl(baseUrl) {
22
+ if (!URL.canParse(baseUrl)) {
23
+ throw configError('baseUrl 不是有效的 URL,需写成完整地址,如 http://localhost:11434');
24
+ }
25
+ const { username, password } = new URL(baseUrl);
26
+ if (username || password) {
27
+ throw configError('baseUrl 不能带用户名或密码(user:pass@),本插件不支持带凭据访问 Ollama');
28
+ }
29
+ }
30
+ /**
31
+ * 错误信息与日志里显示的 URL:去掉查询串。没有查询串时原样返回,保留配置里的写法。带用户名或密码的 baseUrl
32
+ * 读配置时已拒绝(见 checkBaseUrl)
33
+ */
34
+ function redactUrl(url) {
35
+ const parsed = new URL(url);
36
+ if (!parsed.search)
37
+ return url;
38
+ parsed.search = '';
39
+ return parsed.href;
40
+ }
41
+ /**
42
+ * 错误消息连同底层原因,写成一行。fetch 网络失败的消息固定是「fetch failed」,真实原因(DNS、拒绝连接、TLS)在
43
+ * cause 上;连 localhost 时两个地址族都失败,cause 是消息为空的 AggregateError,原因在它的子错误上
44
+ */
45
+ function describeError(err) {
46
+ const cause = err instanceof Error ? err.cause : undefined;
47
+ const reasons = cause instanceof AggregateError ? cause.errors : cause instanceof Error ? [cause] : [];
48
+ const detail = reasons.map(e => (e instanceof Error ? e.message : String(e))).join('; ');
49
+ return `${err instanceof Error ? err.message : String(err)}${detail ? ` ← ${detail}` : ''}`;
50
+ }
51
+ /** 常见状态码的一句提示 */
52
+ function statusHint(status) {
53
+ if (status === 401 || status === 403)
54
+ return '密钥无效或没有权限';
55
+ if (status === 402)
56
+ return '余额不足或需要付费';
57
+ if (status === 404)
58
+ return '模型或地址不对';
59
+ if (status === 429)
60
+ return '请求过多或额度不足';
61
+ if (status >= 500)
62
+ return '上游服务故障';
63
+ return undefined;
64
+ }
65
+ /**
66
+ * 上游 JSON 错误体里的说明:OpenAI 风格的 error.message、Ollama 风格的 error 字符串,或顶层 message,折成一行并截断。
67
+ * 不是 JSON、没有这些字段或说明是空白时返回空串
68
+ */
69
+ function upstreamMessage(body) {
70
+ let data;
71
+ try {
72
+ data = JSON.parse(body);
73
+ }
74
+ catch {
75
+ return '';
76
+ }
77
+ const error = data?.error;
78
+ const message = typeof error === 'string' ? error : typeof error?.message === 'string' ? error.message : data?.message;
79
+ return typeof message === 'string' ? bodyExcerpt(message) : '';
80
+ }
81
+ /**
82
+ * 非 2xx 应答的错误信息(会经 agent 发回会话):状态码、常见状态码的一句提示与上游 JSON 里的说明;没有说明时
83
+ * (不是 JSON 或没有说明字段)写「详情见日志」。响应体本身只进日志,由调用方记
84
+ */
85
+ function httpErrorMessage(provider, status, body) {
86
+ const hint = statusHint(status);
87
+ const message = upstreamMessage(body);
88
+ return `${provider} API 错误 (${status})${hint ? `:${hint}` : ''};${message ? `上游说明:${message}` : '详情见日志'}`;
89
+ }
9
90
  /**
10
91
  * 流式读取响应体并限额:Content-Length 头超限即拒;流式累计超限即断,返回 null。
11
92
  * 不能用 res.arrayBuffer()——无 Content-Length 的响应会全量缓冲后才可见大小。
@@ -36,11 +117,12 @@ export async function readBodyCapped(res, maxBytes) {
36
117
  }
37
118
  return Buffer.concat(chunks);
38
119
  }
39
- const configSchema = {
120
+ const configSchema = defineConfig({
40
121
  baseUrl: {
41
122
  type: 'string',
42
123
  label: 'Ollama 地址',
43
124
  default: 'http://localhost:11434',
125
+ onInvalid: 'error',
44
126
  description: '本地 Ollama 服务的 HTTP 地址',
45
127
  },
46
128
  customModels: {
@@ -49,6 +131,12 @@ const configSchema = {
49
131
  default: '',
50
132
  description: '手动添加的模型名称(每行一个或逗号分隔)。用于补充自动发现列表中未出现的模型。与自动发现重复时会提示去重。',
51
133
  },
134
+ discoverModels: {
135
+ type: 'boolean',
136
+ label: '自动发现模型',
137
+ default: true,
138
+ description: '启动时请求 /api/tags 发现已安装的模型,WebUI 可刷新模型列表。服务不提供 /api/tags 时关闭:不发发现请求,只注册 customModels(此时必填),也不支持刷新。',
139
+ },
52
140
  modelCapabilities: {
53
141
  type: 'textarea',
54
142
  label: '单模型能力覆盖',
@@ -87,7 +175,7 @@ const configSchema = {
87
175
  default: true,
88
176
  description: '为支持思考的模型启用扩展思考(think 参数)。无 thinking 能力的模型该参数无效。',
89
177
  },
90
- };
178
+ });
91
179
  /**
92
180
  * Ollama 原生 tool_calls → ToolCall。Ollama 不给调用 id,由这里现造;非流式、流式终帧与
93
181
  * 流意外结束三条路径共用,id 统一带时间戳——下游按 id 配对调用与结果(tool-search、
@@ -169,8 +257,39 @@ class OllamaClient {
169
257
  this.logger = logger;
170
258
  this.proc = proc;
171
259
  }
260
+ /** 对话请求的非 2xx 应答:截断后的响应体记 warn,抛出的错误见 httpErrorMessage */
261
+ apiError(status, body) {
262
+ this.logger.warn(`Ollama API 错误 (${status}): ${bodyExcerpt(body)}`);
263
+ return new Error(httpErrorMessage('Ollama', status, body));
264
+ }
172
265
  /**
173
- * 发现远端模型 id 列表。不可达、超时、非 2xx、响应不是模型列表时抛出,消息带 URL 与原因
266
+ * 对话请求没拿到完整应答(fetch 或读响应体时抛出):原始错误连同原因记 warn,超时与连不上各换成一句说明,其它错误
267
+ * 原样返回。调用方经 request.signal 中止时原样返回、不记日志,agent 按中止收尾
268
+ */
269
+ requestError(err, request, startedAt) {
270
+ if (request.signal?.aborted)
271
+ return err;
272
+ this.logger.warn(`Ollama 请求失败 (耗时 ${Date.now() - startedAt}ms): ${describeError(err)}`);
273
+ if (err instanceof DOMException && err.name === 'TimeoutError') {
274
+ return new Error(`Ollama 请求超时:${this.timeout / 1000} 秒内没有完成,可在配置里调大 timeout`);
275
+ }
276
+ if (err instanceof TypeError && err.message === 'fetch failed') {
277
+ return new Error('Ollama 连不上服务:检查 baseUrl 与网络,详情见日志');
278
+ }
279
+ return err;
280
+ }
281
+ /** 对话应答按 JSON 解析;不是 JSON 时截断后的应答体记 warn,抛出一行说明 */
282
+ parseJsonBody(status, text) {
283
+ try {
284
+ return JSON.parse(text);
285
+ }
286
+ catch {
287
+ this.logger.warn(`Ollama 应答不是 JSON (${status}): ${bodyExcerpt(text)}`);
288
+ throw new Error(`Ollama 应答不是 JSON (${status});详情见日志`);
289
+ }
290
+ }
291
+ /**
292
+ * 发现远端模型 id 列表。不可达、超时、非 2xx、响应不是 JSON 或不是模型列表时抛出,消息带 URL 与原因
174
293
  * (由调用方决定按空列表继续还是报错);经 signal 中止时抛中止原因
175
294
  */
176
295
  async fetchRemoteModelIds(signal) {
@@ -184,19 +303,26 @@ class OllamaClient {
184
303
  });
185
304
  if (!res.ok) {
186
305
  const body = await res.text().catch(() => '');
187
- throw new Error(`HTTP ${res.status} ${res.statusText} - ${body}`);
306
+ throw new Error(`HTTP ${res.status} ${res.statusText} - ${bodyExcerpt(body)}`);
188
307
  }
189
- const data = (await res.json());
190
- return data.models.map(m => m.name);
308
+ // 先读成文本再解析:res.json() 的 SyntaxError 会把响应体开头连同换行带进消息
309
+ const text = await res.text();
310
+ let data;
311
+ try {
312
+ data = JSON.parse(text);
313
+ }
314
+ catch {
315
+ throw new Error(`响应不是 JSON: ${bodyExcerpt(text)}`);
316
+ }
317
+ const list = data?.models;
318
+ if (!Array.isArray(list) || !list.every(m => typeof m?.name === 'string')) {
319
+ throw new Error(`响应不是模型列表(需要 models 数组,每项带字符串 name): ${bodyExcerpt(JSON.stringify(data))}`);
320
+ }
321
+ return list.map(m => m.name);
191
322
  }
192
323
  catch (err) {
193
324
  signal?.throwIfAborted();
194
- // fetch 网络失败的消息固定是「fetch failed」,真实原因(DNS、拒绝连接、TLS)在 cause 上;连 localhost 时
195
- // 两个地址族都失败,cause 是消息为空的 AggregateError,原因在它的子错误上
196
- const cause = err instanceof Error ? err.cause : undefined;
197
- const reasons = cause instanceof AggregateError ? cause.errors : cause instanceof Error ? [cause] : [];
198
- const detail = reasons.map(e => (e instanceof Error ? e.message : String(e))).join('; ');
199
- throw new Error(`模型发现失败 ${url}: ${err instanceof Error ? err.message : String(err)}${detail ? ` ← ${detail}` : ''}`, { cause: err });
325
+ throw new Error(`模型发现失败 ${redactUrl(url)}: ${describeError(err)}`, { cause: err });
200
326
  }
201
327
  }
202
328
  /**
@@ -261,17 +387,24 @@ class OllamaClient {
261
387
  const signals = [AbortSignal.timeout(this.timeout)];
262
388
  if (request.signal)
263
389
  signals.push(request.signal);
264
- const response = await fetch(`${this.baseUrl}/api/chat`, {
265
- method: 'POST',
266
- headers: { 'Content-Type': 'application/json' },
267
- body: JSON.stringify(body),
268
- signal: AbortSignal.any(signals),
269
- });
270
- if (!response.ok) {
271
- const errorText = await response.text();
272
- throw new Error(`Ollama API 错误 (${response.status}): ${errorText}`);
390
+ const startedAt = Date.now();
391
+ let response;
392
+ let text;
393
+ try {
394
+ response = await fetch(`${this.baseUrl}/api/chat`, {
395
+ method: 'POST',
396
+ headers: { 'Content-Type': 'application/json' },
397
+ body: JSON.stringify(body),
398
+ signal: AbortSignal.any(signals),
399
+ });
400
+ text = await response.text();
273
401
  }
274
- const data = (await response.json());
402
+ catch (err) {
403
+ throw this.requestError(err, request, startedAt);
404
+ }
405
+ if (!response.ok)
406
+ throw this.apiError(response.status, text);
407
+ const data = this.parseJsonBody(response.status, text);
275
408
  // 优先使用原生 thinking 字段(Ollama think API),回退到 <think> 标签解析
276
409
  const nativeThinking = data.message.thinking || '';
277
410
  const rawContent = data.message.content || '';
@@ -327,16 +460,15 @@ class OllamaClient {
327
460
  }
328
461
  catch (err) {
329
462
  clearTimeout(slowConnectTimer);
330
- const elapsed = Date.now() - reqStart;
331
- const msg = err instanceof Error ? err.message : String(err);
332
- this.logger.warn(`Ollama fetch 失败 (耗时 ${elapsed}ms): ${msg}`);
333
- throw err;
463
+ throw this.requestError(err, request, reqStart);
334
464
  }
335
465
  clearTimeout(slowConnectTimer);
336
466
  this.logger.debug(`Ollama 响应头到达: status=${response.status}, 耗时 ${Date.now() - reqStart}ms`);
337
467
  if (!response.ok) {
338
- const errorText = await response.text();
339
- throw new Error(`Ollama API 错误 (${response.status}): ${errorText}`);
468
+ const errorText = await response.text().catch((err) => {
469
+ throw this.requestError(err, request, reqStart);
470
+ });
471
+ throw this.apiError(response.status, errorText);
340
472
  }
341
473
  if (!response.body) {
342
474
  throw new Error('Ollama API 返回了空的响应体,无法进行流式读取');
@@ -486,6 +618,10 @@ class OllamaClient {
486
618
  }
487
619
  }
488
620
  }
621
+ catch (err) {
622
+ // 读流时超时或连接中断
623
+ throw this.requestError(err, request, reqStart);
624
+ }
489
625
  finally {
490
626
  clearTimeout(streamStallTimer);
491
627
  // cancel 而非仅 releaseLock:中止/提前退出时要主动关闭响应体。releaseLock 只是放锁,
@@ -680,28 +816,36 @@ class OllamaClient {
680
816
  if (request.signal)
681
817
  signals.push(request.signal);
682
818
  const httpT0 = Date.now();
683
- const resp = await fetch(`${this.baseUrl}/v1/chat/completions`, {
684
- method: 'POST',
685
- headers: { 'Content-Type': 'application/json' },
686
- body: JSON.stringify(body),
687
- signal: AbortSignal.any(signals),
688
- });
819
+ let resp;
820
+ let respText;
821
+ try {
822
+ resp = await fetch(`${this.baseUrl}/v1/chat/completions`, {
823
+ method: 'POST',
824
+ headers: { 'Content-Type': 'application/json' },
825
+ body: JSON.stringify(body),
826
+ signal: AbortSignal.any(signals),
827
+ });
828
+ respText = await resp.text();
829
+ }
830
+ catch (err) {
831
+ throw this.requestError(err, request, httpT0);
832
+ }
689
833
  if (!resp.ok) {
690
- const errText = await resp.text();
691
- this.logger.warn(`[ollama-audio] HTTP ${resp.status} 失败 ${Date.now() - httpT0}ms: ${errText}`);
834
+ this.logger.warn(`[ollama-audio] HTTP ${resp.status} 失败 ${Date.now() - httpT0}ms: ${bodyExcerpt(respText)}`);
835
+ const message = httpErrorMessage('Ollama', resp.status, respText);
692
836
  // 诊断提示:ollama runner 把 input_audio 当 image 解码失败时报 "image: unknown format",
693
837
  // 99% 是模型本身不支持 audio modality(如 Nemotron-3 是纯文本/纯推理,
694
838
  // 多模态版 Nemotron-Nano-VL 也只有 vision)。提示用户换 gemma3n / qwen2.5-omni
695
839
  // 等明确支持 audio 的多模态模型。
696
- const lowerErr = errText.toLowerCase();
840
+ const lowerErr = respText.toLowerCase();
697
841
  if (lowerErr.includes('image: unknown format') || lowerErr.includes('unknown format')) {
698
- throw new Error(`Ollama /v1/chat/completions 错误 (${resp.status}): ${errText}\n` +
842
+ throw new Error(`${message}\n` +
699
843
  `[诊断] 模型 "${model}" 很可能不支持 audio modality(ollama runner 把 input_audio 当 image 解码失败)。` +
700
844
  `请改用明确支持音频的模型(如 gemma3n、qwen2.5-omni)。`);
701
845
  }
702
- throw new Error(`Ollama /v1/chat/completions 错误 (${resp.status}): ${errText}`);
846
+ throw new Error(message);
703
847
  }
704
- const data = (await resp.json());
848
+ const data = this.parseJsonBody(resp.status, respText);
705
849
  const rawContent = data.choices?.[0]?.message?.content ?? '';
706
850
  const finishReason = data.choices?.[0]?.finish_reason ?? '?';
707
851
  const text = rawContent.trim();
@@ -862,8 +1006,6 @@ function resolveCapabilities(model, userOverride, providerCaps, detected) {
862
1006
  }
863
1007
  /** 解析适配器级别默认能力(逗号/空格/换行分隔) */
864
1008
  function parseProviderCapabilities(raw) {
865
- if (!raw || typeof raw !== 'string')
866
- return [];
867
1009
  return raw
868
1010
  .split(/[,\s\n]/)
869
1011
  .map(s => s.trim())
@@ -872,8 +1014,6 @@ function parseProviderCapabilities(raw) {
872
1014
  // ===== 插件入口 =====
873
1015
  /** 解析自定义模型列表:支持逗号分隔和换行分隔 */
874
1016
  function parseCustomModels(raw) {
875
- if (!raw || typeof raw !== 'string')
876
- return [];
877
1017
  return raw
878
1018
  .split(/[,\n]/)
879
1019
  .map(s => s.trim())
@@ -888,8 +1028,6 @@ function parseCustomModels(raw) {
888
1028
  */
889
1029
  function parseModelCapabilities(raw) {
890
1030
  const out = new Map();
891
- if (!raw || typeof raw !== 'string')
892
- return out;
893
1031
  for (const line of raw.split(/\r?\n/)) {
894
1032
  const trimmed = line.trim();
895
1033
  if (!trimmed || trimmed.startsWith('#'))
@@ -916,21 +1054,21 @@ class OllamaModelHandle {
916
1054
  contextLength;
917
1055
  maxOutputTokens;
918
1056
  defaultThinking;
919
- refresh;
920
1057
  capabilities;
1058
+ refresh;
921
1059
  constructor(client, id, providerId, contextLength, maxOutputTokens, defaultThinking,
922
- /** Provider 级共享的 refresh 闭包;webui 按 contextId 找到任一 entry 调一次即可。 */
923
- refresh,
924
1060
  /** 该 model 的能力元数据(供 media 发现/下拉展示读取,非 DI 选择机制)。 */
925
- capabilities) {
1061
+ capabilities,
1062
+ /** Provider 级共享的 refresh 闭包;webui 按 providerId 找到该 provider 的任一 entry 调一次即可。关闭模型发现时没有 */
1063
+ refresh) {
926
1064
  this.client = client;
927
1065
  this.id = id;
928
1066
  this.providerId = providerId;
929
1067
  this.contextLength = contextLength;
930
1068
  this.maxOutputTokens = maxOutputTokens;
931
1069
  this.defaultThinking = defaultThinking;
932
- this.refresh = refresh;
933
1070
  this.capabilities = capabilities;
1071
+ this.refresh = refresh;
934
1072
  }
935
1073
  chat(request) {
936
1074
  return this.client.chat(this.id, request, this.defaultThinking);
@@ -951,40 +1089,31 @@ export default definePlugin({
951
1089
  apply: start,
952
1090
  });
953
1091
  async function start({ config, logger, lifecycle, provide, proc }) {
954
- const ollamaConfig = {
955
- baseUrl: config.baseUrl ?? 'http://localhost:11434',
956
- customModels: parseCustomModels(config.customModels),
957
- modelCapabilities: parseModelCapabilities(config.modelCapabilities),
958
- providerCapabilities: parseProviderCapabilities(config.providerCapabilities),
959
- timeout: config.timeout ?? 120,
960
- temperature: config.temperature ?? 0.7,
961
- maxTokens: config.maxTokens ?? 4096,
962
- contextLength: config.contextLength ?? 8192,
963
- keepAlive: config.keepAlive ?? '5m',
964
- thinking: config.thinking !== false,
965
- };
966
- const client = new OllamaClient(ollamaConfig, logger, createProcessGateway(proc));
967
- const baseLabel = `Ollama (${ollamaConfig.baseUrl.replace(/^https?:\/\//, '')})`;
1092
+ const cfg = parseConfig(configSchema, config, logger);
1093
+ const customModels = parseCustomModels(cfg.customModels);
1094
+ const modelCapabilities = parseModelCapabilities(cfg.modelCapabilities);
1095
+ const providerCapabilities = parseProviderCapabilities(cfg.providerCapabilities);
1096
+ checkBaseUrl(cfg.baseUrl);
1097
+ if (!cfg.discoverModels && customModels.length === 0) {
1098
+ throw missingConfigError('customModels', '关闭 discoverModels 时必填');
1099
+ }
1100
+ const client = new OllamaClient(cfg, logger, createProcessGateway(proc));
1101
+ const baseLabel = `Ollama (${cfg.baseUrl.replace(/^https?:\/\//, '')})`;
1102
+ const shownBaseUrl = redactUrl(cfg.baseUrl);
968
1103
  // 已注册 model entry 的句柄表:modelId → 该 entry 的退订
969
1104
  const registered = new Map();
970
- // 前置声明:refresh 闭包稍后定义,但每个 handle 在创建时就需要它的引用
971
- // 用一层间接调用以打破环依赖;handle.refresh() 实际转发到此变量。
972
- let refreshFn = async () => ({
973
- added: [],
974
- removed: [],
975
- total: registered.size,
976
- });
977
- const refresh = () => refreshFn();
1105
+ // 同 provider 下所有 OllamaModelHandle 共享同一份 refresh。关闭模型发现时不提供:没有可重新发现的列表
1106
+ const refresh = cfg.discoverModels ? refreshModels : undefined;
978
1107
  /** 登记一个 model entry;已登记(如并发的另一次刷新先登记了)或被跳过时返回 false */
979
1108
  function registerOne(modelId, detected) {
980
1109
  if (registered.has(modelId))
981
1110
  return false;
982
- const capabilities = resolveCapabilities(modelId, ollamaConfig.modelCapabilities.get(modelId), ollamaConfig.providerCapabilities, detected);
1111
+ const capabilities = resolveCapabilities(modelId, modelCapabilities.get(modelId), providerCapabilities, detected);
983
1112
  if (capabilities.length === 0) {
984
1113
  logger.debug(`跳过 model entry "${modelId}": /api/show 未报告对话能力(embedding 等非对话模型)`);
985
1114
  return false;
986
1115
  }
987
- const handle = new OllamaModelHandle(client, modelId, lifecycle.id, ollamaConfig.contextLength, ollamaConfig.maxTokens, ollamaConfig.thinking, refresh, capabilities);
1116
+ const handle = new OllamaModelHandle(client, modelId, lifecycle.id, cfg.contextLength, cfg.maxTokens, cfg.thinking, capabilities, refresh);
988
1117
  const dispose = provide(llm, handle, {
989
1118
  label: `${baseLabel} / ${modelId}`,
990
1119
  entryId: `${lifecycle.id}/${modelId}`,
@@ -1007,58 +1136,67 @@ async function start({ config, logger, lifecycle, provide, proc }) {
1007
1136
  /** 自动发现的模型并上 customModels(与自动发现重复的告警) */
1008
1137
  function withCustomModels(remoteIds) {
1009
1138
  const remoteSet = new Set(remoteIds);
1010
- for (const cm of ollamaConfig.customModels) {
1139
+ for (const cm of customModels) {
1011
1140
  if (remoteSet.has(cm)) {
1012
1141
  logger.warn(`自定义模型 "${cm}" 与自动发现的模型重复,请在配置中去重`);
1013
1142
  }
1014
1143
  }
1015
- return [...remoteIds, ...ollamaConfig.customModels.filter(id => !remoteSet.has(id))];
1144
+ return [...remoteIds, ...customModels.filter(id => !remoteSet.has(id))];
1016
1145
  }
1017
1146
  // 初次注册。停用或停机时中止探测:模型发现中止即抛出,能力探测把中止吞成空结果,所以每次 await 之后自己查。
1018
- // 模型发现失败记 warn 后按未发现远端模型继续,customModels 照常注册
1019
- let discovered = true;
1020
- const remoteIds = await client.fetchRemoteModelIds(lifecycle.signal).catch((err) => {
1021
- lifecycle.signal.throwIfAborted();
1022
- discovered = false;
1023
- // 只记消息:消息里已带 URL 与原因(cause 也内联在内),err 交给 logger 会按因果链把原因再记一遍
1024
- logger.warn(`${err instanceof Error ? err.message : String(err)};启动时只注册 customModels 里的模型`);
1025
- return [];
1026
- });
1147
+ // 模型发现失败按未发现远端模型继续,customModels 照常注册;关闭模型发现时只注册 customModels。
1148
+ // 发现失败只留消息:消息里已带 URL 与原因(cause 也内联在内),err 交给 logger 会按因果链把原因再记一遍
1149
+ let discoveryError;
1150
+ const remoteIds = cfg.discoverModels
1151
+ ? await client.fetchRemoteModelIds(lifecycle.signal).catch((err) => {
1152
+ discoveryError = err instanceof Error ? err.message : String(err);
1153
+ return [];
1154
+ })
1155
+ : [];
1027
1156
  lifecycle.signal.throwIfAborted();
1028
1157
  const initialIds = withCustomModels(remoteIds);
1158
+ // 一个模型都没有时抛配置错误,原因成为实例的错误信息;否则只剩 core 的「声明 provides [llm] 但未实际注册」。
1159
+ // 提示写在原因之前:原因里可能带着一段响应体
1029
1160
  if (initialIds.length === 0) {
1030
- logger.warn(discovered
1031
- ? `Ollama 已连接: ${ollamaConfig.baseUrl},但未发现任何可用模型;不注册任何 LLM entry`
1032
- : `Ollama 模型发现失败且未配置 customModels: ${ollamaConfig.baseUrl},不注册任何 LLM entry`);
1161
+ throw configError(discoveryError
1162
+ ? `未配置 customModels,没有可注册的模型;${discoveryError}`
1163
+ : `Ollama 已连接 ${shownBaseUrl},但未发现任何可用模型;先用 ollama pull 下载模型,或在 customModels 里写明要用的模型`);
1033
1164
  }
1034
- else {
1035
- // 并行查每个模型的真实能力(顺序保留→注册顺序稳定→优先级稳定);失败者回退家族表。
1036
- const detectedCaps = await Promise.all(initialIds.map(id => client.fetchModelCapabilities(id, lifecycle.signal)));
1037
- lifecycle.signal.throwIfAborted();
1038
- for (let i = 0; i < initialIds.length; i++)
1039
- registerOne(initialIds[i], detectedCaps[i]);
1040
- logger.info(discovered
1041
- ? `Ollama 已连接: ${ollamaConfig.baseUrl},注册 ${registered.size} 个 model entry`
1042
- : `Ollama 模型发现失败: ${ollamaConfig.baseUrl},注册 customModels 里的 ${registered.size} 个 model entry`);
1165
+ if (discoveryError)
1166
+ logger.warn(`启动时只注册 customModels 里的模型;${discoveryError}`);
1167
+ // 并行查每个模型的真实能力(顺序保留→注册顺序稳定→优先级稳定);失败者回退家族表。
1168
+ const detectedCaps = await Promise.all(initialIds.map(id => client.fetchModelCapabilities(id, lifecycle.signal)));
1169
+ lifecycle.signal.throwIfAborted();
1170
+ for (let i = 0; i < initialIds.length; i++)
1171
+ registerOne(initialIds[i], detectedCaps[i]);
1172
+ // 模型都被当作非对话模型跳过(如只装了嵌入模型)时同样抛配置错误。只有 /api/show 答复过才会跳过,所以是已连接
1173
+ if (registered.size === 0) {
1174
+ throw configError(`Ollama 已连接 ${shownBaseUrl},但没有可用的对话模型:${initialIds.join(', ')} 都没有报告对话能力(如嵌入模型);先用 ollama pull 下载对话模型`);
1043
1175
  }
1044
- // 装配 refresh 真实实现:webui 触发时无需重启插件,按 diff 增删 entries。
1045
- // 同 provider 下所有 OllamaModelHandle 共享同一份 refresh(通过 refreshFn 间接转发)。
1046
- // 与初次注册一样随停用或停机中止:每次 await 之后自己查,中止即抛出,不再增删条目。
1047
- // 模型发现失败同样抛出(WebUI 据此报错)、不增删条目:按空列表处理会把自动发现的条目全部注销。
1048
- refreshFn = async () => {
1176
+ logger.info(!cfg.discoverModels
1177
+ ? `Ollama 未开启模型发现: ${shownBaseUrl},注册 customModels 里的 ${registered.size} 个 model entry`
1178
+ : discoveryError
1179
+ ? `Ollama 模型发现失败: ${shownBaseUrl},注册 customModels 里的 ${registered.size} 个 model entry`
1180
+ : `Ollama 已连接: ${shownBaseUrl},注册 ${registered.size} 个 model entry`);
1181
+ /**
1182
+ * 重新发现并按差异增删条目(WebUI 触发,无需重启插件)。与初次注册一样随停用或停机中止:每次 await 之后自己查,
1183
+ * 中止即抛出,不再增删条目。模型发现失败同样抛出(WebUI 据此报错)、不增删条目:按空列表处理会把自动发现的
1184
+ * 条目全部注销
1185
+ */
1186
+ async function refreshModels() {
1049
1187
  const next = withCustomModels(await client.fetchRemoteModelIds(lifecycle.signal));
1050
1188
  lifecycle.signal.throwIfAborted();
1051
1189
  const nextSet = new Set(next);
1052
1190
  const added = [];
1053
1191
  const removed = [];
1054
- for (const id of next) {
1055
- if (!registered.has(id)) {
1056
- const detected = await client.fetchModelCapabilities(id, lifecycle.signal);
1057
- lifecycle.signal.throwIfAborted();
1058
- // 非对话模型被跳过、等能力探测期间并发的刷新已登记,都不算本次新增
1059
- if (registerOne(id, detected))
1060
- added.push(id);
1061
- }
1192
+ // 新模型的能力并行探测(与初次注册一致),再按发现顺序登记
1193
+ const fresh = next.filter(id => !registered.has(id));
1194
+ const detectedCaps = await Promise.all(fresh.map(id => client.fetchModelCapabilities(id, lifecycle.signal)));
1195
+ lifecycle.signal.throwIfAborted();
1196
+ for (let i = 0; i < fresh.length; i++) {
1197
+ // 非对话模型被跳过、等能力探测期间并发的刷新已登记,都不算本次新增
1198
+ if (registerOne(fresh[i], detectedCaps[i]))
1199
+ added.push(fresh[i]);
1062
1200
  }
1063
1201
  for (const id of [...registered.keys()]) {
1064
1202
  if (!nextSet.has(id)) {
@@ -1073,6 +1211,6 @@ async function start({ config, logger, lifecycle, provide, proc }) {
1073
1211
  logger.debug(`Ollama 模型列表已刷新: 无变化 (共 ${registered.size})`);
1074
1212
  }
1075
1213
  return { added, removed, total: registered.size };
1076
- };
1214
+ }
1077
1215
  }
1078
1216
  //# 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-ollama",
3
- "version": "0.11.0",
3
+ "version": "0.12.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -24,17 +24,18 @@
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",
27
+ "@aalis/schema-config": ">=0.14.0 <1.0.0",
28
+ "@aalis/api-llm": ">=0.13.0 <1.0.0",
29
29
  "@aalis/schema-message": ">=0.9.0 <1.0.0",
30
30
  "@aalis/api-process": ">=0.8.0 <1.0.0",
31
- "@aalis/util-network-guard": ">=0.6.2 <1.0.0"
31
+ "@aalis/util-network-guard": ">=0.6.2 <1.0.0",
32
+ "@aalis/util-text-normalize": ">=0.5.2 <1.0.0"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@types/node": "^22.0.0",
35
36
  "typescript": "^5.7.0",
36
- "@aalis/core": "0.18.0",
37
- "@aalis/api-tools": "0.10.0"
37
+ "@aalis/api-tools": "0.10.0",
38
+ "@aalis/core": "0.19.1"
38
39
  },
39
40
  "peerDependencies": {
40
41
  "@aalis/core": ">=0.18.0 <1.0.0"