@aalis/plugin-embedding-ollama 0.12.0 → 0.13.0

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.
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ declare const _default: import("@aalis/core").PluginDefinition<{
4
4
  lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").LifecycleCap, import("@aalis/core").LifecycleCap>;
5
5
  provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
6
6
  doctor: import("@aalis/core").OptionalUse<import("@aalis/api-doctor").DoctorService, import("@aalis/api-doctor").BoundDoctor>;
7
+ contributions: import("@aalis/core").OptionalUse<import("@aalis/api-contributions").ContributionRegistry, import("@aalis/api-contributions").Contributions>;
7
8
  }>;
8
9
  export default _default;
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;AAwMA,wBASG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;AAuMA,wBASG"}
package/dist/index.js CHANGED
@@ -1,32 +1,30 @@
1
+ import { contributions } from '@aalis/api-contributions';
1
2
  import { doctor } from '@aalis/api-doctor';
2
3
  import { embedding } from '@aalis/api-embedding';
3
4
  import { config, definePlugin, lifecycle, logger, optional, provide } from '@aalis/core';
4
5
  import { configError, defineConfig, parseConfig } from '@aalis/schema-config';
6
+ import { TextError, textLines, textOf, withText } from '@aalis/schema-i18n';
7
+ import { t } from './texts.js';
5
8
  // ===== 插件元数据 =====
6
9
  const name = '@aalis/plugin-embedding-ollama';
7
10
  const configSchema = defineConfig({
8
11
  baseUrl: {
9
12
  type: 'string',
10
- label: 'Ollama 地址',
13
+ label: t('baseUrlLabel'),
11
14
  default: 'http://localhost:11434',
12
15
  onInvalid: 'error',
13
- description: '本地 Ollama 服务的 HTTP 地址',
16
+ description: t('baseUrlDescription'),
14
17
  },
15
18
  model: {
16
19
  type: 'select',
17
- label: 'Embedding 模型',
20
+ label: t('modelLabel'),
18
21
  default: 'nomic-embed-text',
19
- dynamicOptions: 'embedding',
20
- description: '用于生成文本向量的模型',
22
+ dynamicOptions: 'embedding-ollama',
23
+ description: t('modelDescription'),
21
24
  },
22
- timeoutMs: { type: 'number', label: '请求超时 (ms)', default: 30000, description: '单次 embedding 请求超时时间' },
23
- retries: { type: 'number', label: '失败重试次数', default: 1, description: 'fetch 失败或 5xx 时的重试次数' },
25
+ timeoutMs: { type: 'number', label: t('timeoutMsLabel'), default: 30000, description: t('timeoutMsDescription') },
26
+ retries: { type: 'number', label: t('retriesLabel'), default: 1, description: t('retriesDescription') },
24
27
  });
25
- function formatError(err) {
26
- if (err instanceof Error)
27
- return err.message;
28
- return String(err);
29
- }
30
28
  /**
31
29
  * 把响应体里的 error 一并带进错误消息。
32
30
  *
@@ -45,8 +43,11 @@ function statusError(res, endpoint) {
45
43
  detail = res.text;
46
44
  }
47
45
  }
48
- const tail = detail ? ` —— ${detail.slice(0, 200)}` : '';
49
- return new HttpStatusError(res.status, `Ollama embedding 请求失败 (${endpoint}): ${res.status} ${res.statusText}${tail}`);
46
+ const { status, statusText } = res;
47
+ const text = detail
48
+ ? t('statusFailedDetail', { endpoint, status, statusText, detail: detail.slice(0, 200) })
49
+ : t('statusFailed', { endpoint, status, statusText });
50
+ return withText(new HttpStatusError(status, text.source), text);
50
51
  }
51
52
  /** 带 HTTP 状态码的响应错误:新旧 API 探测据此区分「端点不存在」与瞬态故障 */
52
53
  class HttpStatusError extends Error {
@@ -85,8 +86,7 @@ class OllamaEmbeddingService {
85
86
  * 配置的「请求超时」形同虚设,索引路径上的一个并发槽也跟着被占住。
86
87
  */
87
88
  async postJson(path, body, options) {
88
- let lastErr;
89
- for (let attempt = 0; attempt <= this.retries; attempt++) {
89
+ for (let attempt = 0;; attempt++) {
90
90
  options?.signal?.throwIfAborted();
91
91
  const controller = new AbortController();
92
92
  const timer = setTimeout(() => controller.abort(), this.timeoutMs);
@@ -102,11 +102,9 @@ class OllamaEmbeddingService {
102
102
  }
103
103
  // 要重试:主动取消被丢弃的响应体,否则 undici 侧套接字被钉住到 GC
104
104
  await res.body?.cancel().catch(() => undefined);
105
- lastErr = new Error(`HTTP ${res.status} ${res.statusText}`);
106
105
  }
107
106
  catch (err) {
108
107
  options?.signal?.throwIfAborted();
109
- lastErr = err;
110
108
  if (attempt >= this.retries)
111
109
  throw err;
112
110
  }
@@ -114,7 +112,6 @@ class OllamaEmbeddingService {
114
112
  clearTimeout(timer);
115
113
  }
116
114
  }
117
- throw new Error(`Ollama embedding 请求失败: ${formatError(lastErr)}`);
118
115
  }
119
116
  async embed(text, options) {
120
117
  options?.signal?.throwIfAborted();
@@ -159,6 +156,7 @@ class OllamaEmbeddingService {
159
156
  const data = JSON.parse(res.text);
160
157
  return data.embedding;
161
158
  }
159
+ /** 本机 Ollama 的全部模型:本插件的可选项来源 embedding-ollama 用它 */
162
160
  async listModels() {
163
161
  try {
164
162
  const res = await fetch(`${this.baseUrl}/api/tags`, { signal: AbortSignal.timeout(this.timeoutMs) });
@@ -178,8 +176,11 @@ class OllamaEmbeddingService {
178
176
  }
179
177
  }
180
178
  // ===== 插件入口 =====
181
- /** doctor 是可选依赖:服务注册成功 != 模型可用,健康状况经 registerCheck 上报 */
182
- const uses = { config, logger, lifecycle, provide, doctor: optional(doctor) };
179
+ /**
180
+ * doctor 是可选依赖:服务注册成功 != 模型可用,健康状况经 registerCheck 上报。contributions 交「Embedding 模型」下拉的
181
+ * 可选项来源,缺席时下拉没有可选项
182
+ */
183
+ const uses = { config, logger, lifecycle, provide, doctor: optional(doctor), contributions: optional(contributions) };
183
184
  export default definePlugin({
184
185
  name,
185
186
  displayName: 'Ollama Embedding',
@@ -190,10 +191,14 @@ export default definePlugin({
190
191
  uses,
191
192
  apply: startOllamaEmbedding,
192
193
  });
193
- async function startOllamaEmbedding({ config, logger, lifecycle, provide, doctor }) {
194
+ async function startOllamaEmbedding({ config, logger, lifecycle, provide, doctor, contributions, }) {
194
195
  const cfg = parseConfig(configSchema, config.use, logger.use);
195
196
  if (!URL.canParse(cfg.baseUrl) || new URL(cfg.baseUrl).username || new URL(cfg.baseUrl).password) {
196
- throw configError('baseUrl 需为不带用户名或密码的完整 URL');
197
+ throw configError(t('baseUrlInvalid'));
198
+ }
199
+ // 插件在 baseUrl 后面拼路径,带查询串或片段(含末尾单个 ?)时拼出来的地址是坏的,所以按原文判
200
+ if (/[?#]/.test(cfg.baseUrl)) {
201
+ throw configError(t('baseUrlQuery'));
197
202
  }
198
203
  const { baseUrl, model, timeoutMs } = cfg;
199
204
  const service = new OllamaEmbeddingService(baseUrl, model, timeoutMs, cfg.retries);
@@ -208,8 +213,14 @@ async function startOllamaEmbedding({ config, logger, lifecycle, provide, doctor
208
213
  logger.use.warn(`Ollama Embedding 连通性检查失败 (${baseUrl}, model=${model}): ${msg},服务仍将注册`);
209
214
  }
210
215
  provide.use(embedding, service, { label: `Ollama / ${model}` });
216
+ // 「Embedding 模型」下拉只列这个插件连着的 Ollama 的模型(按服务名合起各提供者会混进别家的);来源名按插件定,开了几个实例时
217
+ // WebUI 取最前那家
218
+ contributions.use.contribute('webui:options', {
219
+ id: 'embedding-ollama',
220
+ list: async () => (await service.listModels()).map(name => ({ value: name, label: name })),
221
+ });
211
222
  // 连通性失败只 warn、服务照常注册,是刻意的(Ollama 可能晚于 Aalis 起来)。
212
- // 代价是「服务在、但每次调用都失败」这一态对用户完全不可见:/status 只判存在性,
223
+ // 代价是「服务在、但每次调用都失败」这一态对用户完全不可见:/status 只数插件状态,
213
224
  // 插件状态是 active,向量记忆则每条消息静默失败。把真实健康状况交给 doctor 上报。
214
225
  // doctor 的 runChecks 顺序 await 且不设超时(plugin-doctor/src/index.ts:runChecks),
215
226
  // 而 embed 最长要等 (retries + 1) × timeoutMs(默认 60s)。/doctor 正是出问题时才跑的
@@ -235,7 +246,7 @@ async function startOllamaEmbedding({ config, logger, lifecycle, provide, doctor
235
246
  service.embed('ping', { signal: controller.signal }),
236
247
  new Promise((_, reject) => {
237
248
  timer = setTimeout(() => {
238
- const error = new Error(`探测超时(${probeTimeoutMs}ms)`);
249
+ const error = new TextError(t('probeTimeout', { ms: probeTimeoutMs }));
239
250
  controller.abort(error);
240
251
  reject(error);
241
252
  }, probeTimeoutMs);
@@ -246,7 +257,7 @@ async function startOllamaEmbedding({ config, logger, lifecycle, provide, doctor
246
257
  id: checkId,
247
258
  category: 'service',
248
259
  level: 'ok',
249
- message: `Ollama Embedding 可用 (${model} @ ${baseUrl})`,
260
+ message: t('checkOk', { model, baseUrl }),
250
261
  };
251
262
  }
252
263
  catch (err) {
@@ -254,8 +265,8 @@ async function startOllamaEmbedding({ config, logger, lifecycle, provide, doctor
254
265
  id: checkId,
255
266
  category: 'service',
256
267
  level: 'error',
257
- message: `Ollama Embedding 不可用 (${model} @ ${baseUrl})——向量记忆不工作`,
258
- detail: `${formatError(err)}\n确认 Ollama 在运行,并已执行 ollama pull ${model}(或把配置项 model 改成本机已有的嵌入模型)`,
268
+ message: t('checkFailed', { model, baseUrl }),
269
+ detail: textLines([textOf(err), t('checkFix', { model })]),
259
270
  };
260
271
  }
261
272
  finally {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAuD,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAgB,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACvG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE9E,oBAAoB;AAEpB,MAAM,IAAI,GAAG,gCAAgC,CAAC;AAE9C,MAAM,YAAY,GAAG,YAAY,CAAC;IAChC,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,wBAAwB;QACjC,SAAS,EAAE,OAAO;QAClB,WAAW,EAAE,uBAAuB;KACrC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,kBAAkB;QAC3B,cAAc,EAAE,WAAW;QAC3B,WAAW,EAAE,aAAa;KAC3B;IACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE;IACrG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE;CAC9F,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,GAAyD,EAAE,QAAgB;IAC9F,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAwB,CAAC;YAC3D,MAAM,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,OAAO,IAAI,eAAe,CACxB,GAAG,CAAC,MAAM,EACV,0BAA0B,QAAQ,MAAM,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,CAC9E,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,eAAgB,SAAQ,KAAK;IAEtB;IADX,YACW,MAAc,EACvB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,WAAM,GAAN,MAAM,CAAQ;IAIzB,CAAC;CACF;AAED,mCAAmC;AACnC,SAAS,iBAAiB,CAAC,GAAY;IACrC,OAAO,GAAG,YAAY,eAAe,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACtF,CAAC;AAED,mBAAmB;AAEnB,MAAM,sBAAsB;IACjB,OAAO,CAAS;IACjB,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,SAAS,CAAS;IAClB,OAAO,CAAS;IACxB,gEAAgE;IACxD,SAAS,GAAmB,IAAI,CAAC;IAEzC,YAAY,OAAe,EAAE,KAAa,EAAE,SAAiB,EAAE,OAAe;QAC5E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,UAAU,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,QAAQ,CACpB,IAAY,EACZ,IAA6B,EAC7B,OAAiC;QAEjC,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YACzD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;oBAChD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM;iBACnG,CAAC,CAAC;gBACH,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC1D,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChG,CAAC;gBACD,wCAAwC;gBACxC,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAChD,OAAO,GAAG,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;gBAClC,OAAO,GAAG,GAAG,CAAC;gBACd,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO;oBAAE,MAAM,GAAG,CAAC;YACzC,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAiC;QACzD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAClC,qBAAqB;QACrB,gDAAgD;QAChD,oDAAoD;QACpD,oCAAoC;QACpC,8CAA8C;QAC9C,6CAA6C;QAC7C,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;gBAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;oBAAE,MAAM,GAAG,CAAC;gBACvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzF,CAAC;IAED,qCAAqC;IAC7B,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAiC;QACpE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3F,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAA+B,CAAC;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,0CAA0C;IAClC,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,OAAiC;QACvE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACjG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,WAAW,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAA4B,CAAC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrG,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAmC,CAAC;YAClE,8CAA8C;YAC9C,wDAAwD;YACxD,0DAA0D;YAC1D,sCAAsC;YACtC,gCAAgC;YAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,mBAAmB;AAEnB,yDAAyD;AACzD,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAG9E,eAAe,YAAY,CAAC;IAC1B,IAAI;IACJ,WAAW,EAAE,kBAAkB;IAC/B,SAAS,EAAE,WAAW;IACtB,YAAY;IACZ,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAC,SAAS,CAAC;IACrB,IAAI;IACJ,KAAK,EAAE,oBAAoB;CAC5B,CAAC,CAAC;AAEH,KAAK,UAAU,oBAAoB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAQ;IACtF,MAAM,GAAG,GAAG,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjG,MAAM,WAAW,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAEnF,+BAA+B;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,KAAK,MAAM,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,OAAO,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,KAAK,EAAE,EAAE,CAAC,CAAC;IAEhE,iDAAiD;IACjD,8CAA8C;IAC9C,kDAAkD;IAClD,2EAA2E;IAC3E,mEAAmE;IACnE,wCAAwC;IACxC,iEAAiE;IACjE,wDAAwD;IACxD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IACnE,+DAA+D;IAC/D,4CAA4C;IAC5C,gDAAgD;IAChD,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;QACrD,CAAC,CAAC,oBAAoB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;QAC/D,CAAC,CAAC,kBAAkB,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACvB,EAAE,EAAE,OAAO;QACX,QAAQ,EAAE,SAAS;QACnB,4CAA4C;QAC5C,KAAK,CAAC,GAAG;YACP,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,KAAgD,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;oBACpD,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;wBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;4BACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,cAAc,KAAK,CAAC,CAAC;4BACrD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACxB,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChB,CAAC,EAAE,cAAc,CAAC,CAAC;wBACnB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,qBAAqB;oBACxC,CAAC,CAAC;iBACH,CAAC,CAAC;gBACH,OAAO;oBACL,EAAE,EAAE,OAAO;oBACX,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,wBAAwB,KAAK,MAAM,OAAO,GAAG;iBACvD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,OAAO;oBACX,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,yBAAyB,KAAK,MAAM,OAAO,YAAY;oBAChE,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,oCAAoC,KAAK,2BAA2B;iBAChG,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ readonly baseUrlLabel: "Ollama URL";
3
+ readonly baseUrlDescription: "HTTP address of the local Ollama service";
4
+ readonly modelLabel: "Embedding model";
5
+ readonly modelDescription: "The model used to turn text into vectors";
6
+ readonly timeoutMsLabel: "Request timeout (ms)";
7
+ readonly timeoutMsDescription: "Timeout of a single embedding request";
8
+ readonly retriesLabel: "Retries on failure";
9
+ readonly retriesDescription: "How many times to retry when fetch fails or returns 5xx";
10
+ readonly baseUrlInvalid: "baseUrl must be a full URL without a user name or password";
11
+ readonly baseUrlQuery: "baseUrl cannot contain a query string or fragment (anything after ? or #): the plugin appends paths to it";
12
+ readonly statusFailed: "Ollama embedding request failed ({endpoint}): {status} {statusText}";
13
+ readonly statusFailedDetail: "Ollama embedding request failed ({endpoint}): {status} {statusText} — {detail}";
14
+ readonly probeTimeout: "Probe timed out ({ms}ms)";
15
+ readonly checkOk: "Ollama Embedding available ({model} @ {baseUrl})";
16
+ readonly checkFailed: "Ollama Embedding unavailable ({model} @ {baseUrl}) — vector memory is not working";
17
+ readonly checkFix: "Make sure Ollama is running and you have run ollama pull {model} (or change the model config item to an embedding model this machine has)";
18
+ };
19
+ export default _default;
20
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,wBAmBG"}
@@ -0,0 +1,20 @@
1
+ import { defineLocale } from '@aalis/schema-i18n';
2
+ export default defineLocale()({
3
+ baseUrlLabel: 'Ollama URL',
4
+ baseUrlDescription: 'HTTP address of the local Ollama service',
5
+ modelLabel: 'Embedding model',
6
+ modelDescription: 'The model used to turn text into vectors',
7
+ timeoutMsLabel: 'Request timeout (ms)',
8
+ timeoutMsDescription: 'Timeout of a single embedding request',
9
+ retriesLabel: 'Retries on failure',
10
+ retriesDescription: 'How many times to retry when fetch fails or returns 5xx',
11
+ baseUrlInvalid: 'baseUrl must be a full URL without a user name or password',
12
+ baseUrlQuery: 'baseUrl cannot contain a query string or fragment (anything after ? or #): the plugin appends paths to it',
13
+ statusFailed: 'Ollama embedding request failed ({endpoint}): {status} {statusText}',
14
+ statusFailedDetail: 'Ollama embedding request failed ({endpoint}): {status} {statusText} — {detail}',
15
+ probeTimeout: 'Probe timed out ({ms}ms)',
16
+ checkOk: 'Ollama Embedding available ({model} @ {baseUrl})',
17
+ checkFailed: 'Ollama Embedding unavailable ({model} @ {baseUrl}) — vector memory is not working',
18
+ checkFix: 'Make sure Ollama is running and you have run ollama pull {model} (or change the model config item to an embedding model this machine has)',
19
+ });
20
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe,YAAY,EAAU,CAAC;IACpC,YAAY,EAAE,YAAY;IAC1B,kBAAkB,EAAE,0CAA0C;IAC9D,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0CAA0C;IAC5D,cAAc,EAAE,sBAAsB;IACtC,oBAAoB,EAAE,uCAAuC;IAC7D,YAAY,EAAE,oBAAoB;IAClC,kBAAkB,EAAE,yDAAyD;IAC7E,cAAc,EAAE,4DAA4D;IAC5E,YAAY,EACV,2GAA2G;IAC7G,YAAY,EAAE,qEAAqE;IACnF,kBAAkB,EAAE,gFAAgF;IACpG,YAAY,EAAE,0BAA0B;IACxC,OAAO,EAAE,kDAAkD;IAC3D,WAAW,EAAE,mFAAmF;IAChG,QAAQ,EACN,2IAA2I;CAC9I,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ declare const SOURCE: {
2
+ readonly baseUrlLabel: "Ollama 地址";
3
+ readonly baseUrlDescription: "本地 Ollama 服务的 HTTP 地址";
4
+ readonly modelLabel: "Embedding 模型";
5
+ readonly modelDescription: "用于生成文本向量的模型";
6
+ readonly timeoutMsLabel: "请求超时 (ms)";
7
+ readonly timeoutMsDescription: "单次 embedding 请求超时时间";
8
+ readonly retriesLabel: "失败重试次数";
9
+ readonly retriesDescription: "fetch 失败或 5xx 时的重试次数";
10
+ readonly baseUrlInvalid: "baseUrl 需为不带用户名或密码的完整 URL";
11
+ readonly baseUrlQuery: "baseUrl 不能带查询串或片段(? 或 # 之后的部分):插件在它后面拼接路径";
12
+ readonly statusFailed: "Ollama embedding 请求失败 ({endpoint}): {status} {statusText}";
13
+ readonly statusFailedDetail: "Ollama embedding 请求失败 ({endpoint}): {status} {statusText} —— {detail}";
14
+ readonly probeTimeout: "探测超时({ms}ms)";
15
+ readonly checkOk: "Ollama Embedding 可用 ({model} @ {baseUrl})";
16
+ readonly checkFailed: "Ollama Embedding 不可用 ({model} @ {baseUrl})——向量记忆不工作";
17
+ readonly checkFix: "确认 Ollama 在运行,并已执行 ollama pull {model}(或把配置项 model 改成本机已有的嵌入模型)";
18
+ };
19
+ export type Source = typeof SOURCE;
20
+ export declare const t: import("@aalis/schema-i18n").TextFactory<{
21
+ readonly baseUrlLabel: "Ollama 地址";
22
+ readonly baseUrlDescription: "本地 Ollama 服务的 HTTP 地址";
23
+ readonly modelLabel: "Embedding 模型";
24
+ readonly modelDescription: "用于生成文本向量的模型";
25
+ readonly timeoutMsLabel: "请求超时 (ms)";
26
+ readonly timeoutMsDescription: "单次 embedding 请求超时时间";
27
+ readonly retriesLabel: "失败重试次数";
28
+ readonly retriesDescription: "fetch 失败或 5xx 时的重试次数";
29
+ readonly baseUrlInvalid: "baseUrl 需为不带用户名或密码的完整 URL";
30
+ readonly baseUrlQuery: "baseUrl 不能带查询串或片段(? 或 # 之后的部分):插件在它后面拼接路径";
31
+ readonly statusFailed: "Ollama embedding 请求失败 ({endpoint}): {status} {statusText}";
32
+ readonly statusFailedDetail: "Ollama embedding 请求失败 ({endpoint}): {status} {statusText} —— {detail}";
33
+ readonly probeTimeout: "探测超时({ms}ms)";
34
+ readonly checkOk: "Ollama Embedding 可用 ({model} @ {baseUrl})";
35
+ readonly checkFailed: "Ollama Embedding 不可用 ({model} @ {baseUrl})——向量记忆不工作";
36
+ readonly checkFix: "确认 Ollama 在运行,并已执行 ollama pull {model}(或把配置项 model 改成本机已有的嵌入模型)";
37
+ }>;
38
+ export {};
39
+ //# sourceMappingURL=texts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;CAiBF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;EAKZ,CAAC"}
package/dist/texts.js ADDED
@@ -0,0 +1,28 @@
1
+ // 本插件自己的原文字典:配置项、配置报错、请求报错与诊断项
2
+ import { defineTexts } from '@aalis/schema-i18n';
3
+ import en from './locales/en.js';
4
+ const SOURCE = {
5
+ baseUrlLabel: 'Ollama 地址',
6
+ baseUrlDescription: '本地 Ollama 服务的 HTTP 地址',
7
+ modelLabel: 'Embedding 模型',
8
+ modelDescription: '用于生成文本向量的模型',
9
+ timeoutMsLabel: '请求超时 (ms)',
10
+ timeoutMsDescription: '单次 embedding 请求超时时间',
11
+ retriesLabel: '失败重试次数',
12
+ retriesDescription: 'fetch 失败或 5xx 时的重试次数',
13
+ baseUrlInvalid: 'baseUrl 需为不带用户名或密码的完整 URL',
14
+ baseUrlQuery: 'baseUrl 不能带查询串或片段(? 或 # 之后的部分):插件在它后面拼接路径',
15
+ statusFailed: 'Ollama embedding 请求失败 ({endpoint}): {status} {statusText}',
16
+ statusFailedDetail: 'Ollama embedding 请求失败 ({endpoint}): {status} {statusText} —— {detail}',
17
+ probeTimeout: '探测超时({ms}ms)',
18
+ checkOk: 'Ollama Embedding 可用 ({model} @ {baseUrl})',
19
+ checkFailed: 'Ollama Embedding 不可用 ({model} @ {baseUrl})——向量记忆不工作',
20
+ checkFix: '确认 Ollama 在运行,并已执行 ollama pull {model}(或把配置项 model 改成本机已有的嵌入模型)',
21
+ };
22
+ export const t = defineTexts({
23
+ ns: '@aalis/plugin-embedding-ollama',
24
+ language: 'zh-CN',
25
+ source: SOURCE,
26
+ locales: { en },
27
+ });
28
+ //# sourceMappingURL=texts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,YAAY,EAAE,WAAW;IACzB,kBAAkB,EAAE,uBAAuB;IAC3C,UAAU,EAAE,cAAc;IAC1B,gBAAgB,EAAE,aAAa;IAC/B,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,qBAAqB;IAC3C,YAAY,EAAE,QAAQ;IACtB,kBAAkB,EAAE,sBAAsB;IAC1C,cAAc,EAAE,2BAA2B;IAC3C,YAAY,EAAE,2CAA2C;IACzD,YAAY,EAAE,2DAA2D;IACzE,kBAAkB,EAAE,uEAAuE;IAC3F,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,2CAA2C;IACpD,WAAW,EAAE,qDAAqD;IAClE,QAAQ,EAAE,iEAAiE;CACnE,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;IAC3B,EAAE,EAAE,gCAAgC;IACpC,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE,EAAE;CAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aalis/plugin-embedding-ollama",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,14 +26,15 @@
26
26
  "devDependencies": {
27
27
  "@types/node": "^22.0.0",
28
28
  "typescript": "^5.7.0",
29
- "@aalis/core": "0.20.0"
29
+ "@aalis/core": "0.21.0"
30
30
  },
31
31
  "peerDependencies": {
32
- "@aalis/core": ">=0.20.0 <1.0.0"
32
+ "@aalis/core": ">=0.21.0 <1.0.0"
33
33
  },
34
34
  "aalis": {
35
35
  "service": {
36
36
  "optional": [
37
+ "contributions",
37
38
  "doctor"
38
39
  ],
39
40
  "provides": [
@@ -48,9 +49,12 @@
48
49
  }
49
50
  },
50
51
  "dependencies": {
51
- "@aalis/api-doctor": ">=0.8.0 <1.0.0",
52
- "@aalis/api-embedding": ">=0.8.0 <1.0.0",
53
- "@aalis/schema-config": ">=0.15.0 <1.0.0"
52
+ "@aalis/api-doctor": ">=0.9.0 <1.0.0",
53
+ "@aalis/api-embedding": ">=0.9.0 <1.0.0",
54
+ "@aalis/schema-config": ">=0.16.0 <1.0.0",
55
+ "@aalis/api-contributions": ">=0.2.0 <1.0.0",
56
+ "@aalis/api-webui": ">=0.13.0 <1.0.0",
57
+ "@aalis/schema-i18n": ">=0.1.0 <1.0.0"
54
58
  },
55
59
  "scripts": {
56
60
  "build": "tsc",