@aalis/plugin-llm-openai 0.15.0 → 0.16.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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +152 -115
- package/dist/index.js.map +1 -1
- package/dist/locales/en.d.ts +60 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +60 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/texts.d.ts +119 -0
- package/dist/texts.d.ts.map +1 -0
- package/dist/texts.js +63 -0
- package/dist/texts.js.map +1 -0
- package/package.json +10 -8
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA8C,KAAK,MAAM,EAA8B,MAAM,aAAa,CAAC;;;;;;;;AA+1BlH,wBASG"}
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import { LLMCapabilities, llm, metered, requestedThinking } from '@aalis/api-llm';
|
|
1
|
+
import { finishReasonOf, IDLE_TIMEOUT_MAX_MS, idleTimeout, LLMCapabilities, llm, metered, requestedThinking, } from '@aalis/api-llm';
|
|
2
2
|
import { config, definePlugin, events, lifecycle, logger, provide } from '@aalis/core';
|
|
3
3
|
import { configError, defineConfig, missingConfigError, parseConfig } from '@aalis/schema-config';
|
|
4
|
+
import { TextError, textClauses, textOf, toSource } from '@aalis/schema-i18n';
|
|
4
5
|
import { prepareLLMMessages, toLLMRole } from '@aalis/schema-message';
|
|
5
6
|
import { truncateChars } from '@aalis/util-text-normalize';
|
|
7
|
+
import { Agent } from 'undici';
|
|
8
|
+
import { t } from './texts.js';
|
|
6
9
|
// ===== 插件元数据 =====
|
|
7
|
-
/** 已知的内容审查错误关键词 */
|
|
8
|
-
const CONTENT_FILTER_PATTERNS = [
|
|
9
|
-
'content exists risk',
|
|
10
|
-
'content_filter',
|
|
11
|
-
'content_policy',
|
|
12
|
-
'sensitive content',
|
|
13
|
-
'risk control',
|
|
14
|
-
];
|
|
15
10
|
/** 错误信息与日志里附带的摘录上限(字符)。网关的 HTML 错误页可达数十 KB;截断按代理对安全,不留孤代理 */
|
|
16
11
|
const ERROR_BODY_MAX_CHARS = 500;
|
|
17
12
|
/** 错误信息与日志里附带的摘录:空白(含 HTML 错误页的换行)折叠成一个空格后截断,不把换行带进错误信息与日志 */
|
|
@@ -19,51 +14,45 @@ function bodyExcerpt(body) {
|
|
|
19
14
|
return truncateChars(body.replace(/\s+/g, ' ').trim(), ERROR_BODY_MAX_CHARS, '…');
|
|
20
15
|
}
|
|
21
16
|
/**
|
|
22
|
-
* 读配置时校验 baseUrl
|
|
23
|
-
*
|
|
17
|
+
* 读配置时校验 baseUrl,解析不了的、带查询串或片段的与带用户名或密码的抛配置错误。插件在 baseUrl 后面拼路径,带查询串或
|
|
18
|
+
* 片段时路径落进查询串或片段,请求地址是坏的;末尾只有一个 ? 时解析后查询串为空,拼出来照样是坏的,所以按原文判。带凭据
|
|
19
|
+
* 的 URL fetch 拒发,凭据还会随报错与条目名称(WebUI 的模型下拉)显示出来;解析不了的无从判断有没有凭据,请求同样发不
|
|
20
|
+
* 出去。消息不带 URL
|
|
24
21
|
*/
|
|
25
22
|
function checkBaseUrl(baseUrl) {
|
|
26
23
|
if (!URL.canParse(baseUrl)) {
|
|
27
|
-
throw configError('
|
|
24
|
+
throw configError(t('baseUrlInvalid'));
|
|
25
|
+
}
|
|
26
|
+
if (/[?#]/.test(baseUrl)) {
|
|
27
|
+
throw configError(t('baseUrlQuery'));
|
|
28
28
|
}
|
|
29
29
|
const { username, password } = new URL(baseUrl);
|
|
30
30
|
if (username || password) {
|
|
31
|
-
throw configError('
|
|
31
|
+
throw configError(t('baseUrlCredentials'));
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
36
|
-
*
|
|
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,原因在它的子错误上
|
|
35
|
+
* 错误连同底层原因,写成一行(日志取 toSource)。fetch 网络失败的消息固定是「fetch failed」,真实原因(DNS、拒绝连接、TLS)
|
|
36
|
+
* 在 cause 上;连 localhost 时两个地址族都失败,cause 是消息为空的 AggregateError,原因在它的子错误上
|
|
48
37
|
*/
|
|
49
38
|
function describeError(err) {
|
|
50
39
|
const cause = err instanceof Error ? err.cause : undefined;
|
|
51
40
|
const reasons = cause instanceof AggregateError ? cause.errors : cause instanceof Error ? [cause] : [];
|
|
52
41
|
const detail = reasons.map(e => (e instanceof Error ? e.message : String(e))).join('; ');
|
|
53
|
-
return
|
|
42
|
+
return detail ? t('withCause', { error: textOf(err), detail }) : textOf(err);
|
|
54
43
|
}
|
|
55
44
|
/** 常见状态码的一句提示 */
|
|
56
45
|
function statusHint(status) {
|
|
57
46
|
if (status === 401 || status === 403)
|
|
58
|
-
return '
|
|
47
|
+
return t('hintAuth');
|
|
59
48
|
if (status === 402)
|
|
60
|
-
return '
|
|
49
|
+
return t('hintPayment');
|
|
61
50
|
if (status === 404)
|
|
62
|
-
return '
|
|
51
|
+
return t('hintNotFound');
|
|
63
52
|
if (status === 429)
|
|
64
|
-
return '
|
|
53
|
+
return t('hintRateLimit');
|
|
65
54
|
if (status >= 500)
|
|
66
|
-
return '
|
|
55
|
+
return t('hintUpstream');
|
|
67
56
|
return undefined;
|
|
68
57
|
}
|
|
69
58
|
/**
|
|
@@ -89,20 +78,15 @@ function upstreamMessage(body) {
|
|
|
89
78
|
function httpErrorMessage(provider, status, body) {
|
|
90
79
|
const hint = statusHint(status);
|
|
91
80
|
const message = upstreamMessage(body);
|
|
92
|
-
return
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const lower = body.toLowerCase();
|
|
97
|
-
if (status === 400 && CONTENT_FILTER_PATTERNS.some(p => lower.includes(p))) {
|
|
98
|
-
return `${provider} 拒绝了此次请求(内容安全策略),请尝试换一个话题或缩短上下文`;
|
|
99
|
-
}
|
|
100
|
-
return httpErrorMessage(provider, status, body);
|
|
81
|
+
return textClauses([
|
|
82
|
+
hint ? t('apiErrorHint', { provider, status, hint }) : t('apiError', { provider, status }),
|
|
83
|
+
message ? t('upstreamMessage', { message }) : t('seeLogs'),
|
|
84
|
+
]);
|
|
101
85
|
}
|
|
102
86
|
const LOW_TO_HIGH = [
|
|
103
|
-
{ id: 'low', label: '
|
|
104
|
-
{ id: 'medium', label: '
|
|
105
|
-
{ id: 'high', label: '
|
|
87
|
+
{ id: 'low', label: t('levelLow') },
|
|
88
|
+
{ id: 'medium', label: t('levelMedium') },
|
|
89
|
+
{ id: 'high', label: t('levelHigh') },
|
|
106
90
|
];
|
|
107
91
|
/**
|
|
108
92
|
* reasoning_effort 写法下模型的档位,按模型族给:gpt-5.1 起(gpt-5.<n>)多一档关(none),不带字段时就是关;gpt-5 本身
|
|
@@ -113,9 +97,9 @@ function effortLevels(model) {
|
|
|
113
97
|
if (/^o1-(mini|preview)/.test(lower))
|
|
114
98
|
return undefined;
|
|
115
99
|
if (/^gpt-5\.\d/.test(lower))
|
|
116
|
-
return { levels: [{ id: 'none', label: '
|
|
100
|
+
return { levels: [{ id: 'none', label: t('levelOff') }, ...LOW_TO_HIGH], default: 'none' };
|
|
117
101
|
if (lower.startsWith('gpt-5')) {
|
|
118
|
-
return { levels: [{ id: 'minimal', label: '
|
|
102
|
+
return { levels: [{ id: 'minimal', label: t('levelMinimal') }, ...LOW_TO_HIGH], default: 'medium' };
|
|
119
103
|
}
|
|
120
104
|
return { levels: LOW_TO_HIGH, default: 'medium' };
|
|
121
105
|
}
|
|
@@ -131,8 +115,8 @@ const THINKING_STYLES = {
|
|
|
131
115
|
thinking: {
|
|
132
116
|
levels: () => ({
|
|
133
117
|
levels: [
|
|
134
|
-
{ id: 'off', label: '
|
|
135
|
-
{ id: 'on', label: '
|
|
118
|
+
{ id: 'off', label: t('levelOff') },
|
|
119
|
+
{ id: 'on', label: t('levelOn') },
|
|
136
120
|
],
|
|
137
121
|
default: 'on',
|
|
138
122
|
}),
|
|
@@ -145,60 +129,70 @@ const configSchema = defineConfig({
|
|
|
145
129
|
label: 'API Key',
|
|
146
130
|
secret: true,
|
|
147
131
|
onInvalid: 'error',
|
|
148
|
-
description: '
|
|
132
|
+
description: t('apiKeyDescription'),
|
|
149
133
|
},
|
|
150
134
|
baseUrl: {
|
|
151
135
|
type: 'string',
|
|
152
|
-
label: '
|
|
136
|
+
label: t('baseUrlLabel'),
|
|
153
137
|
default: 'https://api.openai.com/v1',
|
|
154
138
|
onInvalid: 'error',
|
|
155
|
-
description: '
|
|
156
|
-
'可替换为任何兼容服务(如 Gemini 的 https://generativelanguage.googleapis.com/v1beta/openai)。',
|
|
139
|
+
description: t('baseUrlDescription'),
|
|
157
140
|
},
|
|
158
141
|
customModels: {
|
|
159
142
|
type: 'textarea',
|
|
160
|
-
label: '
|
|
143
|
+
label: t('customModelsLabel'),
|
|
161
144
|
default: '',
|
|
162
|
-
description: '
|
|
145
|
+
description: t('customModelsDescription'),
|
|
163
146
|
},
|
|
164
147
|
discoverModels: {
|
|
165
148
|
type: 'boolean',
|
|
166
|
-
label: '
|
|
149
|
+
label: t('discoverModelsLabel'),
|
|
167
150
|
default: true,
|
|
168
|
-
description: '
|
|
151
|
+
description: t('discoverModelsDescription'),
|
|
169
152
|
},
|
|
170
153
|
modelCapabilities: {
|
|
171
154
|
type: 'textarea',
|
|
172
|
-
label: '
|
|
155
|
+
label: t('modelCapabilitiesLabel'),
|
|
173
156
|
default: '',
|
|
174
|
-
description: '
|
|
157
|
+
description: t('modelCapabilitiesDescription'),
|
|
175
158
|
},
|
|
176
159
|
providerCapabilities: {
|
|
177
160
|
type: 'string',
|
|
178
|
-
label: '
|
|
161
|
+
label: t('providerCapabilitiesLabel'),
|
|
179
162
|
default: '',
|
|
180
|
-
description: '
|
|
163
|
+
description: t('providerCapabilitiesDescription'),
|
|
181
164
|
},
|
|
182
165
|
timeout: {
|
|
183
166
|
type: 'number',
|
|
184
|
-
label: '
|
|
167
|
+
label: t('timeoutLabel'),
|
|
185
168
|
default: 120,
|
|
186
|
-
description: '
|
|
169
|
+
description: t('timeoutDescription'),
|
|
170
|
+
},
|
|
171
|
+
temperature: { type: 'number', label: t('temperatureLabel'), default: 0.7, description: t('temperatureDescription') },
|
|
172
|
+
maxTokens: {
|
|
173
|
+
type: 'number',
|
|
174
|
+
label: t('maxTokensLabel'),
|
|
175
|
+
default: 4096,
|
|
176
|
+
min: 1,
|
|
177
|
+
integer: true,
|
|
178
|
+
onInvalid: 'error',
|
|
179
|
+
description: t('maxTokensDescription'),
|
|
180
|
+
},
|
|
181
|
+
contextLength: {
|
|
182
|
+
type: 'number',
|
|
183
|
+
label: t('contextLengthLabel'),
|
|
184
|
+
default: 128000,
|
|
185
|
+
description: t('contextLengthDescription'),
|
|
187
186
|
},
|
|
188
|
-
temperature: { type: 'number', label: '温度', default: 0.7, description: '0-2,越高越随机' },
|
|
189
|
-
maxTokens: { type: 'number', label: '最大 Token', default: 4096, description: '单次回复最大生成 token 数' },
|
|
190
|
-
contextLength: { type: 'number', label: '上下文长度', default: 128000, description: '模型上下文窗口大小' },
|
|
191
187
|
thinkingParam: {
|
|
192
188
|
type: 'select',
|
|
193
|
-
label: '
|
|
189
|
+
label: t('thinkingParamLabel'),
|
|
194
190
|
default: 'reasoning_effort',
|
|
195
191
|
options: [
|
|
196
|
-
{ label: '
|
|
197
|
-
{ label: '
|
|
192
|
+
{ label: t('thinkingParamEffort'), value: 'reasoning_effort' },
|
|
193
|
+
{ label: t('thinkingParamThinking'), value: 'thinking' },
|
|
198
194
|
],
|
|
199
|
-
description: '
|
|
200
|
-
'请求指定了档位才发对应字段,没指定时不发、按端点自己的默认。' +
|
|
201
|
-
'端点不认所选字段时会拒收指定了档位的请求,这时换一种写法,或在单模型能力覆盖里去掉这个模型的 thinking。',
|
|
195
|
+
description: t('thinkingParamDescription'),
|
|
202
196
|
},
|
|
203
197
|
});
|
|
204
198
|
/**
|
|
@@ -210,6 +204,7 @@ function isReasoningModel(model) {
|
|
|
210
204
|
}
|
|
211
205
|
// ===== OpenAI 客户端(不是 service、仅是底层 fetch 封装,多个 ModelHandle 共享) =====
|
|
212
206
|
class OpenAIClient {
|
|
207
|
+
activation;
|
|
213
208
|
apiKey;
|
|
214
209
|
baseUrl;
|
|
215
210
|
timeout;
|
|
@@ -217,16 +212,29 @@ class OpenAIClient {
|
|
|
217
212
|
maxTokens;
|
|
218
213
|
thinkingFields;
|
|
219
214
|
logger;
|
|
220
|
-
|
|
215
|
+
/**
|
|
216
|
+
* 生成请求的连接池:不设等响应头与读响应体的时限(默认各 300 秒),timeout 是唯一的时限。dispatcher 是 Node 自带 fetch
|
|
217
|
+
* 认的扩展字段,DOM 的 RequestInit 里没有(测试的类型检查带 DOM),带它的选项按 RequestInit 断言
|
|
218
|
+
*/
|
|
219
|
+
dispatcher = new Agent({ headersTimeout: 0, bodyTimeout: 0 });
|
|
220
|
+
constructor(cfg, logger, activation) {
|
|
221
|
+
this.activation = activation;
|
|
221
222
|
this.apiKey = cfg.apiKey;
|
|
222
223
|
this.baseUrl = cfg.baseUrl.replace(/\/+$/, '');
|
|
223
|
-
// schema 中 timeout 单位为「秒」,存储为毫秒;0
|
|
224
|
-
this.timeout =
|
|
224
|
+
// schema 中 timeout 单位为「秒」,存储为毫秒;0 或负数不限,超过定时器上限按上限计,报错里的秒数是生效的值(见 idleTimeout)
|
|
225
|
+
this.timeout = Math.min(cfg.timeout * 1000, IDLE_TIMEOUT_MAX_MS);
|
|
225
226
|
this.temperature = cfg.temperature;
|
|
226
227
|
this.maxTokens = cfg.maxTokens;
|
|
227
228
|
this.thinkingFields = THINKING_STYLES[cfg.thinkingParam].fields;
|
|
228
229
|
this.logger = logger;
|
|
229
230
|
}
|
|
231
|
+
/**
|
|
232
|
+
* 停用时关掉生成请求的连接池。在飞的请求不用等:它们的信号合着本插件这次激活的(见 signalOf),停用开始时已经中止;
|
|
233
|
+
* 停用之后发来的请求由入口的 refuseIfClosed 拒绝(报插件已停用或重载)
|
|
234
|
+
*/
|
|
235
|
+
close() {
|
|
236
|
+
void this.dispatcher.close();
|
|
237
|
+
}
|
|
230
238
|
/** 构造请求头(无 apiKey 时不发 Authorization) */
|
|
231
239
|
get headers() {
|
|
232
240
|
const h = { 'Content-Type': 'application/json' };
|
|
@@ -234,25 +242,35 @@ class OpenAIClient {
|
|
|
234
242
|
h.Authorization = `Bearer ${this.apiKey}`;
|
|
235
243
|
return h;
|
|
236
244
|
}
|
|
237
|
-
/** 对话请求的非 2xx 应答:截断后的响应体记 warn,抛出的错误见
|
|
245
|
+
/** 对话请求的非 2xx 应答:截断后的响应体记 warn,抛出的错误见 httpErrorMessage */
|
|
238
246
|
apiError(status, body) {
|
|
239
247
|
this.logger.warn(`LLM API 错误 (${status}): ${bodyExcerpt(body)}`);
|
|
240
|
-
return new
|
|
248
|
+
return new TextError(httpErrorMessage('LLM', status, body));
|
|
249
|
+
}
|
|
250
|
+
/** 本插件已停用或重载(停用之后还拿着旧句柄发来的请求):不发,报插件已停用或重载、这次请求没有发出 */
|
|
251
|
+
refuseIfClosed() {
|
|
252
|
+
if (this.activation.aborted)
|
|
253
|
+
throw new TextError(t('pluginClosed'));
|
|
254
|
+
}
|
|
255
|
+
/** 这次请求的中止信号:调用方的与本插件这次激活的合起来,调用方没中止、本插件停用或重载时请求同样停下 */
|
|
256
|
+
signalOf(request) {
|
|
257
|
+
return request.signal ? AbortSignal.any([request.signal, this.activation]) : this.activation;
|
|
241
258
|
}
|
|
242
259
|
/**
|
|
243
|
-
* 对话请求没拿到完整应答(fetch 或读响应体时抛出):原始错误连同原因记 warn
|
|
244
|
-
*
|
|
260
|
+
* 对话请求没拿到完整应答(fetch 或读响应体时抛出):原始错误连同原因记 warn,超时与连不上各换成一句说明,其它错误原样
|
|
261
|
+
* 返回。调用方经 request.signal 中止时原样返回、不记日志,agent 按中止收尾;本插件停用或重载时中止的报中途停下,不记日志
|
|
245
262
|
*/
|
|
246
263
|
requestError(err, request, startedAt) {
|
|
247
264
|
if (request.signal?.aborted)
|
|
248
265
|
return err;
|
|
249
|
-
this.
|
|
266
|
+
if (this.activation.aborted)
|
|
267
|
+
return new TextError(t('pluginStopped'));
|
|
268
|
+
this.logger.warn(`LLM 请求失败 (耗时 ${Date.now() - startedAt}ms): ${toSource(describeError(err))}`);
|
|
250
269
|
if (err instanceof DOMException && err.name === 'TimeoutError') {
|
|
251
|
-
return new
|
|
252
|
-
}
|
|
253
|
-
if (err instanceof TypeError && err.message === 'fetch failed') {
|
|
254
|
-
return new Error('LLM 连不上服务:检查 baseUrl 与网络,详情见日志');
|
|
270
|
+
return new TextError(t('requestTimeout', { seconds: this.timeout / 1000 }));
|
|
255
271
|
}
|
|
272
|
+
if (err instanceof TypeError && err.message === 'fetch failed')
|
|
273
|
+
return new TextError(t('unreachable'));
|
|
256
274
|
return err;
|
|
257
275
|
}
|
|
258
276
|
/** 对话应答按 JSON 解析;不是 JSON 时截断后的应答体记 warn,抛出一行说明 */
|
|
@@ -262,7 +280,7 @@ class OpenAIClient {
|
|
|
262
280
|
}
|
|
263
281
|
catch {
|
|
264
282
|
this.logger.warn(`LLM 应答不是 JSON (${status}): ${bodyExcerpt(text)}`);
|
|
265
|
-
throw new
|
|
283
|
+
throw new TextError(t('notJson', { status }));
|
|
266
284
|
}
|
|
267
285
|
}
|
|
268
286
|
/**
|
|
@@ -290,21 +308,22 @@ class OpenAIClient {
|
|
|
290
308
|
data = JSON.parse(text);
|
|
291
309
|
}
|
|
292
310
|
catch {
|
|
293
|
-
throw new
|
|
311
|
+
throw new TextError(t('discoveryNotJson', { excerpt: bodyExcerpt(text) }));
|
|
294
312
|
}
|
|
295
313
|
const list = data?.data;
|
|
296
314
|
if (!Array.isArray(list) || !list.every(m => typeof m?.id === 'string')) {
|
|
297
|
-
throw new
|
|
315
|
+
throw new TextError(t('discoveryNotList', { excerpt: bodyExcerpt(JSON.stringify(data)) }));
|
|
298
316
|
}
|
|
299
317
|
return list.map(m => m.id);
|
|
300
318
|
}
|
|
301
319
|
catch (err) {
|
|
302
320
|
signal?.throwIfAborted();
|
|
303
|
-
throw new
|
|
321
|
+
throw new TextError(t('discoveryFailed', { url, error: describeError(err) }), { cause: err });
|
|
304
322
|
}
|
|
305
323
|
}
|
|
306
324
|
/** level 是请求带的思考档位,没带时不发字段 */
|
|
307
325
|
async chat(model, request, level) {
|
|
326
|
+
this.refuseIfClosed();
|
|
308
327
|
const messages = prepareLLMMessages(request.messages).map(m => this.toAPIMessage(m));
|
|
309
328
|
const tools = request.tools?.map(t => this.toAPITool(t));
|
|
310
329
|
const reasoning = isReasoningModel(model);
|
|
@@ -322,9 +341,6 @@ class OpenAIClient {
|
|
|
322
341
|
body.tools = tools;
|
|
323
342
|
}
|
|
324
343
|
this.logger.debug(`请求 LLM: ${body.model}, ${messages.length} 条消息, ${tools?.length ?? 0} 个工具`);
|
|
325
|
-
const signals = [AbortSignal.timeout(this.timeout)];
|
|
326
|
-
if (request.signal)
|
|
327
|
-
signals.push(request.signal);
|
|
328
344
|
const startedAt = Date.now();
|
|
329
345
|
let response;
|
|
330
346
|
let text;
|
|
@@ -333,7 +349,8 @@ class OpenAIClient {
|
|
|
333
349
|
method: 'POST',
|
|
334
350
|
headers: this.headers,
|
|
335
351
|
body: JSON.stringify(body),
|
|
336
|
-
signal:
|
|
352
|
+
signal: idleTimeout(this.timeout, this.signalOf(request)).signal,
|
|
353
|
+
dispatcher: this.dispatcher,
|
|
337
354
|
});
|
|
338
355
|
text = await response.text();
|
|
339
356
|
}
|
|
@@ -345,10 +362,11 @@ class OpenAIClient {
|
|
|
345
362
|
const data = this.parseJsonBody(response.status, text);
|
|
346
363
|
const choice = data.choices[0];
|
|
347
364
|
if (!choice) {
|
|
348
|
-
throw new
|
|
365
|
+
throw new TextError(t('emptyChoices'));
|
|
349
366
|
}
|
|
350
367
|
const result = {
|
|
351
368
|
content: choice.message.content,
|
|
369
|
+
finishReason: finishReasonOf(choice.finish_reason),
|
|
352
370
|
};
|
|
353
371
|
if (choice.message.tool_calls && choice.message.tool_calls.length > 0) {
|
|
354
372
|
result.toolCalls = choice.message.tool_calls.map(tc => ({
|
|
@@ -371,6 +389,7 @@ class OpenAIClient {
|
|
|
371
389
|
return result;
|
|
372
390
|
}
|
|
373
391
|
async *chatStream(model, request, level) {
|
|
392
|
+
this.refuseIfClosed();
|
|
374
393
|
const messages = prepareLLMMessages(request.messages).map(m => this.toAPIMessage(m));
|
|
375
394
|
const tools = request.tools?.map(t => this.toAPITool(t));
|
|
376
395
|
const reasoning = isReasoningModel(model);
|
|
@@ -390,9 +409,16 @@ class OpenAIClient {
|
|
|
390
409
|
body.tools = tools;
|
|
391
410
|
}
|
|
392
411
|
this.logger.debug(`流式请求 LLM: ${body.model}, ${messages.length} 条消息`);
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
412
|
+
// 交出一段期间不计时:调用方处理一段的时间不算停顿
|
|
413
|
+
const timer = idleTimeout(this.timeout, this.signalOf(request));
|
|
414
|
+
for await (const chunk of this.readStream(body, request, timer)) {
|
|
415
|
+
timer.pause();
|
|
416
|
+
yield chunk;
|
|
417
|
+
timer.resume();
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
/** 发出流式请求并逐段解析,timer 管这次请求的停顿超时 */
|
|
421
|
+
async *readStream(body, request, timer) {
|
|
396
422
|
const reqStart = Date.now();
|
|
397
423
|
const slowConnectTimer = setTimeout(() => {
|
|
398
424
|
this.logger.warn(`LLM 连接慢:已等待 15s 仍未收到响应头 (url=${this.baseUrl}/chat/completions)`);
|
|
@@ -403,7 +429,8 @@ class OpenAIClient {
|
|
|
403
429
|
method: 'POST',
|
|
404
430
|
headers: this.headers,
|
|
405
431
|
body: JSON.stringify(body),
|
|
406
|
-
signal:
|
|
432
|
+
signal: timer.signal,
|
|
433
|
+
dispatcher: this.dispatcher,
|
|
407
434
|
});
|
|
408
435
|
}
|
|
409
436
|
catch (err) {
|
|
@@ -419,8 +446,9 @@ class OpenAIClient {
|
|
|
419
446
|
throw this.apiError(response.status, errorText);
|
|
420
447
|
}
|
|
421
448
|
const toolCallBuffers = new Map();
|
|
449
|
+
let finishReason;
|
|
422
450
|
if (!response.body) {
|
|
423
|
-
throw new
|
|
451
|
+
throw new TextError(t('emptyBody'));
|
|
424
452
|
}
|
|
425
453
|
const reader = response.body.getReader();
|
|
426
454
|
const decoder = new TextDecoder();
|
|
@@ -456,14 +484,17 @@ class OpenAIClient {
|
|
|
456
484
|
for (const [, tc] of [...toolCallBuffers.entries()].sort((a, b) => a[0] - b[0])) {
|
|
457
485
|
toolCalls.push({ id: tc.id, type: 'function', function: { name: tc.name, arguments: tc.args } });
|
|
458
486
|
}
|
|
459
|
-
yield { done: true, toolCalls: toolCalls.length > 0 ? toolCalls : undefined };
|
|
487
|
+
yield { done: true, toolCalls: toolCalls.length > 0 ? toolCalls : undefined, finishReason };
|
|
460
488
|
return;
|
|
461
489
|
}
|
|
462
490
|
try {
|
|
463
491
|
const data = JSON.parse(payload);
|
|
464
492
|
const chunk = {};
|
|
465
|
-
// usage
|
|
466
|
-
//
|
|
493
|
+
// usage 与结束原因必须在 delta 守卫**之前**取:OpenAI 的 include_usage 形态把 usage 挂在 `choices: []` 的
|
|
494
|
+
// 收尾帧上,兼容端点的结束原因可能在不带 delta 的末帧上,等到守卫之后再取整帧已被跳过。
|
|
495
|
+
const reason = finishReasonOf(data.choices?.[0]?.finish_reason);
|
|
496
|
+
if (reason)
|
|
497
|
+
finishReason = reason;
|
|
467
498
|
if (data.usage) {
|
|
468
499
|
chunk.usage = {
|
|
469
500
|
promptTokens: data.usage.prompt_tokens,
|
|
@@ -478,12 +509,17 @@ class OpenAIClient {
|
|
|
478
509
|
yield chunk; // 纯 usage 收尾帧照样上报
|
|
479
510
|
continue;
|
|
480
511
|
}
|
|
512
|
+
// 带生成内容的增量重新计时:思考本插件不交出,照样算(兼容端点写在 reasoning_content 或 reasoning)
|
|
513
|
+
if (delta.content || delta.reasoning_content || delta.reasoning)
|
|
514
|
+
timer.touch();
|
|
481
515
|
if (delta.content)
|
|
482
516
|
chunk.contentDelta = delta.content;
|
|
483
517
|
// 累积工具调用;同一帧里有几个调用,进度就各报一次
|
|
484
518
|
const progress = [];
|
|
485
519
|
if (delta.tool_calls) {
|
|
486
520
|
for (const tc of delta.tool_calls) {
|
|
521
|
+
if (tc.function?.name || tc.function?.arguments)
|
|
522
|
+
timer.touch();
|
|
487
523
|
const idx = tc.index ?? 0;
|
|
488
524
|
if (tc.id) {
|
|
489
525
|
toolCallBuffers.set(idx, { id: tc.id, name: tc.function?.name ?? '', args: '' });
|
|
@@ -516,8 +552,8 @@ class OpenAIClient {
|
|
|
516
552
|
finally {
|
|
517
553
|
clearTimeout(streamStallTimer);
|
|
518
554
|
// cancel 而非仅 releaseLock:中止/提前退出时要主动关闭响应体。releaseLock 只是放锁,
|
|
519
|
-
// 底层流仍开着——被打断的生成会让 undici
|
|
520
|
-
//
|
|
555
|
+
// 底层流仍开着——被打断的生成会让 undici 一直持有半读的响应与套接字,直到请求超时兜底
|
|
556
|
+
// 才释放(本地慢生成时回合常被停下,这类残留一挂就是整个超时窗)。
|
|
521
557
|
// cancel 自带放锁。三条退出路径的语义:读尽 EOF(done:true)→ 流已 closed,cancel 是
|
|
522
558
|
// 真 no-op;收到终帧即 return(未读到 EOF)与消费方提前 break → cancel 中止残余响应体,
|
|
523
559
|
// 这正是本修复要的「立即交还套接字」,代价是该连接不回 keep-alive 池。
|
|
@@ -528,7 +564,7 @@ class OpenAIClient {
|
|
|
528
564
|
for (const [, tc] of [...toolCallBuffers.entries()].sort((a, b) => a[0] - b[0])) {
|
|
529
565
|
toolCalls.push({ id: tc.id, type: 'function', function: { name: tc.name, arguments: tc.args } });
|
|
530
566
|
}
|
|
531
|
-
yield { done: true, toolCalls: toolCalls.length > 0 ? toolCalls : undefined };
|
|
567
|
+
yield { done: true, toolCalls: toolCalls.length > 0 ? toolCalls : undefined, finishReason };
|
|
532
568
|
}
|
|
533
569
|
toAPIMessage(msg) {
|
|
534
570
|
// 调用方已经 prepareLLMMessages 处理过:role 已是 WellKnownRole,
|
|
@@ -741,17 +777,18 @@ async function registerModels({ config, logger, lifecycle, provide, events }) {
|
|
|
741
777
|
const modelCapabilities = parseModelCapabilities(cfg.modelCapabilities);
|
|
742
778
|
const providerCapabilities = parseProviderCapabilities(cfg.providerCapabilities);
|
|
743
779
|
checkBaseUrl(cfg.baseUrl);
|
|
744
|
-
//
|
|
780
|
+
// 官方端点不收不带 key 的请求:留空时激活就报缺 apiKey,不等第一次调用才回 401;兼容端点(本地服务等)可以不要 key,
|
|
781
|
+
// 所以只按 host 认官方(按前缀匹配会误伤 api.openai.com.cn 这类镜像域名)
|
|
745
782
|
const isOfficialOpenAI = new URL(cfg.baseUrl).hostname === 'api.openai.com';
|
|
746
783
|
if (!cfg.apiKey && isOfficialOpenAI) {
|
|
747
|
-
throw missingConfigError('apiKey', '
|
|
784
|
+
throw missingConfigError('apiKey', t('apiKeyRequired'));
|
|
748
785
|
}
|
|
749
786
|
if (!cfg.discoverModels && customModels.length === 0) {
|
|
750
|
-
throw missingConfigError('customModels', '
|
|
787
|
+
throw missingConfigError('customModels', t('customModelsRequired'));
|
|
751
788
|
}
|
|
752
|
-
const client = new OpenAIClient(cfg, logger.use);
|
|
789
|
+
const client = new OpenAIClient(cfg, logger.use, lifecycle.use.signal);
|
|
790
|
+
lifecycle.use.onDispose(() => client.close(), '关闭生成请求的连接池');
|
|
753
791
|
const baseLabel = `OpenAI (${cfg.baseUrl.replace(/^https?:\/\//, '')})`;
|
|
754
|
-
const shownBaseUrl = redactUrl(cfg.baseUrl);
|
|
755
792
|
// 已注册 model entry 的句柄表:modelId → dispose(来自 provide 返回值)
|
|
756
793
|
const registered = new Map();
|
|
757
794
|
// 关闭模型发现时不提供 refresh:没有可重新发现的列表
|
|
@@ -795,7 +832,7 @@ async function registerModels({ config, logger, lifecycle, provide, events }) {
|
|
|
795
832
|
let discoveryError;
|
|
796
833
|
const remoteIds = cfg.discoverModels
|
|
797
834
|
? await client.fetchRemoteModelIds(lifecycle.use.signal).catch((err) => {
|
|
798
|
-
discoveryError =
|
|
835
|
+
discoveryError = textOf(err);
|
|
799
836
|
return [];
|
|
800
837
|
})
|
|
801
838
|
: [];
|
|
@@ -805,18 +842,18 @@ async function registerModels({ config, logger, lifecycle, provide, events }) {
|
|
|
805
842
|
// 提示写在原因之前:原因里可能带着一段响应体
|
|
806
843
|
if (initialIds.length === 0) {
|
|
807
844
|
throw configError(discoveryError
|
|
808
|
-
?
|
|
809
|
-
:
|
|
845
|
+
? t('noModelsDiscoveryFailed', { error: discoveryError })
|
|
846
|
+
: t('noModels', { baseUrl: cfg.baseUrl }));
|
|
810
847
|
}
|
|
811
848
|
if (discoveryError)
|
|
812
|
-
logger.use.warn(`启动时只注册 customModels 里的模型;${discoveryError}`);
|
|
849
|
+
logger.use.warn(`启动时只注册 customModels 里的模型;${toSource(discoveryError)}`);
|
|
813
850
|
for (const modelId of initialIds)
|
|
814
851
|
registerOne(modelId);
|
|
815
852
|
logger.use.info(!cfg.discoverModels
|
|
816
|
-
? `未开启模型发现: ${
|
|
853
|
+
? `未开启模型发现: ${cfg.baseUrl},注册 customModels 里的 ${initialIds.length} 个 model entry`
|
|
817
854
|
: discoveryError
|
|
818
|
-
? `模型发现失败: ${
|
|
819
|
-
: `已连接: ${
|
|
855
|
+
? `模型发现失败: ${cfg.baseUrl},注册 customModels 里的 ${initialIds.length} 个 model entry`
|
|
856
|
+
: `已连接: ${cfg.baseUrl},注册 ${initialIds.length} 个 model entry`);
|
|
820
857
|
/**
|
|
821
858
|
* 重新发现并按差异增删条目(WebUI 触发)。与初次注册一样随停用或停机中止:中止即抛出,不再增删条目。
|
|
822
859
|
* 发现失败同样抛出(WebUI 据此报错)、不增删条目:按空列表处理会把自动发现的条目全部注销
|
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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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
readonly baseUrlInvalid: "baseUrl is not a valid URL; write it as a full address, such as https://api.openai.com/v1";
|
|
3
|
+
readonly baseUrlQuery: "baseUrl cannot contain a query string or fragment (anything after ? or #): the plugin appends paths to it";
|
|
4
|
+
readonly baseUrlCredentials: "baseUrl cannot contain a user name or password (user:pass@); put the key in apiKey";
|
|
5
|
+
readonly withCause: "{error} ← {detail}";
|
|
6
|
+
readonly hintAuth: "invalid key or no permission";
|
|
7
|
+
readonly hintPayment: "insufficient balance or payment required";
|
|
8
|
+
readonly hintNotFound: "wrong model or address";
|
|
9
|
+
readonly hintRateLimit: "too many requests or quota exhausted";
|
|
10
|
+
readonly hintUpstream: "upstream service failure";
|
|
11
|
+
readonly apiError: "{provider} API error ({status})";
|
|
12
|
+
readonly apiErrorHint: "{provider} API error ({status}): {hint}";
|
|
13
|
+
readonly upstreamMessage: "upstream message: {message}";
|
|
14
|
+
readonly seeLogs: "see the logs for details";
|
|
15
|
+
readonly levelOff: "Off";
|
|
16
|
+
readonly levelOn: "On";
|
|
17
|
+
readonly levelMinimal: "Minimal";
|
|
18
|
+
readonly levelLow: "Low";
|
|
19
|
+
readonly levelMedium: "Medium";
|
|
20
|
+
readonly levelHigh: "High";
|
|
21
|
+
readonly apiKeyDescription: "OpenAI API key (may be left empty for local services)";
|
|
22
|
+
readonly baseUrlLabel: "API URL";
|
|
23
|
+
readonly baseUrlDescription: "Write it up to the version segment, such as https://api.openai.com/v1; the plugin appends /chat/completions and /models. Any compatible service's address works too.";
|
|
24
|
+
readonly customModelsLabel: "Custom models";
|
|
25
|
+
readonly customModelsDescription: "Model names added by hand (one per line or comma-separated), for models missing from the discovered list. Names that duplicate discovered models are flagged so you can remove them.";
|
|
26
|
+
readonly discoverModelsLabel: "Discover models";
|
|
27
|
+
readonly discoverModelsDescription: "Query the service for available models at startup; the WebUI can refresh them later. Turn it off when the service has no model list; only custom models (then required) are used and refreshing is not available.";
|
|
28
|
+
readonly modelCapabilitiesLabel: "Per-model capability overrides";
|
|
29
|
+
readonly modelCapabilitiesDescription: "Capabilities per model. A listed model is no longer inferred from its name; it gets the capabilities written here plus the adapter default capabilities.\nFormat: `<modelId>: <cap1>,<cap2>,...`, one per line. For example: gpt-4o: chat,tool_calling,vision,streaming\nAvailable capabilities: chat / tool_calling / vision / streaming / thinking and so on.";
|
|
30
|
+
readonly providerCapabilitiesLabel: "Adapter default capabilities";
|
|
31
|
+
readonly providerCapabilitiesDescription: "Capabilities added to every model, comma-separated. For example: chat,tool_calling,streaming";
|
|
32
|
+
readonly timeoutLabel: "Idle timeout (s)";
|
|
33
|
+
readonly timeoutDescription: "How long without new output counts as a timeout; steady output never times out, and a non-streaming request must receive the whole reply within this time. Raise it when the model does not stream its thinking or the input is long. 0 = no limit.";
|
|
34
|
+
readonly temperatureLabel: "Temperature";
|
|
35
|
+
readonly temperatureDescription: "0-2; higher is more random";
|
|
36
|
+
readonly maxTokensLabel: "Max tokens";
|
|
37
|
+
readonly maxTokensDescription: "Maximum tokens generated per reply; must be a positive integer, otherwise the instance goes into error";
|
|
38
|
+
readonly contextLengthLabel: "Context length";
|
|
39
|
+
readonly contextLengthDescription: "Size of the model's context window";
|
|
40
|
+
readonly thinkingParamLabel: "Thinking level format";
|
|
41
|
+
readonly thinkingParamEffort: "reasoning_effort: levels by model family (official OpenAI and most compatible endpoints)";
|
|
42
|
+
readonly thinkingParamThinking: "thinking.type: off and on (DeepSeek-style endpoints or relays)";
|
|
43
|
+
readonly thinkingParamDescription: "How models that can think send their thinking level; nothing is sent when a request names no level. If the endpoint rejects requests because it does not recognize the field, switch to the other format, or remove thinking for that model in the per-model capability overrides.";
|
|
44
|
+
readonly requestTimeout: "LLM request timed out: no new output within {seconds} s; you can raise timeout in the config";
|
|
45
|
+
readonly pluginClosed: "The LLM plugin was disabled or reloaded; this request was not sent";
|
|
46
|
+
readonly pluginStopped: "The LLM plugin was disabled or reloaded; this request was stopped midway";
|
|
47
|
+
readonly unreachable: "LLM cannot reach the service: check baseUrl and the network; see the logs for details";
|
|
48
|
+
readonly notJson: "The LLM response is not JSON ({status}); see the logs for details";
|
|
49
|
+
readonly discoveryNotJson: "the response is not JSON: {excerpt}";
|
|
50
|
+
readonly discoveryNotList: "the response is not a model list (it needs a data array whose items each have a string id): {excerpt}";
|
|
51
|
+
readonly discoveryFailed: "Model discovery failed for {url}: {error}";
|
|
52
|
+
readonly emptyChoices: "LLM returned empty choices";
|
|
53
|
+
readonly emptyBody: "The LLM API returned an empty response body, so the stream cannot be read";
|
|
54
|
+
readonly apiKeyRequired: "required when using the official OpenAI API";
|
|
55
|
+
readonly customModelsRequired: "required when discoverModels is off";
|
|
56
|
+
readonly noModelsDiscoveryFailed: "Could not get the model list, so there are no models to register: check apiKey, baseUrl and the network, then reload this plugin, or list the models to use in customModels. Reason: {error}";
|
|
57
|
+
readonly noModels: "Connected to {baseUrl} but found no available models; you can list the models to use in customModels";
|
|
58
|
+
};
|
|
59
|
+
export default _default;
|
|
60
|
+
//# sourceMappingURL=en.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAoEG"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defineLocale } from '@aalis/schema-i18n';
|
|
2
|
+
export default defineLocale()({
|
|
3
|
+
baseUrlInvalid: 'baseUrl is not a valid URL; write it as a full address, such as https://api.openai.com/v1',
|
|
4
|
+
baseUrlQuery: 'baseUrl cannot contain a query string or fragment (anything after ? or #): the plugin appends paths to it',
|
|
5
|
+
baseUrlCredentials: 'baseUrl cannot contain a user name or password (user:pass@); put the key in apiKey',
|
|
6
|
+
withCause: '{error} ← {detail}',
|
|
7
|
+
hintAuth: 'invalid key or no permission',
|
|
8
|
+
hintPayment: 'insufficient balance or payment required',
|
|
9
|
+
hintNotFound: 'wrong model or address',
|
|
10
|
+
hintRateLimit: 'too many requests or quota exhausted',
|
|
11
|
+
hintUpstream: 'upstream service failure',
|
|
12
|
+
apiError: '{provider} API error ({status})',
|
|
13
|
+
apiErrorHint: '{provider} API error ({status}): {hint}',
|
|
14
|
+
upstreamMessage: 'upstream message: {message}',
|
|
15
|
+
seeLogs: 'see the logs for details',
|
|
16
|
+
levelOff: 'Off',
|
|
17
|
+
levelOn: 'On',
|
|
18
|
+
levelMinimal: 'Minimal',
|
|
19
|
+
levelLow: 'Low',
|
|
20
|
+
levelMedium: 'Medium',
|
|
21
|
+
levelHigh: 'High',
|
|
22
|
+
apiKeyDescription: 'OpenAI API key (may be left empty for local services)',
|
|
23
|
+
baseUrlLabel: 'API URL',
|
|
24
|
+
baseUrlDescription: "Write it up to the version segment, such as https://api.openai.com/v1; the plugin appends /chat/completions and /models. Any compatible service's address works too.",
|
|
25
|
+
customModelsLabel: 'Custom models',
|
|
26
|
+
customModelsDescription: 'Model names added by hand (one per line or comma-separated), for models missing from the discovered list. Names that duplicate discovered models are flagged so you can remove them.',
|
|
27
|
+
discoverModelsLabel: 'Discover models',
|
|
28
|
+
discoverModelsDescription: 'Query the service for available models at startup; the WebUI can refresh them later. Turn it off when the service has no model list; only custom models (then required) are used and refreshing is not available.',
|
|
29
|
+
modelCapabilitiesLabel: 'Per-model capability overrides',
|
|
30
|
+
modelCapabilitiesDescription: 'Capabilities per model. A listed model is no longer inferred from its name; it gets the capabilities written here plus the adapter default capabilities.\nFormat: `<modelId>: <cap1>,<cap2>,...`, one per line. For example: gpt-4o: chat,tool_calling,vision,streaming\nAvailable capabilities: chat / tool_calling / vision / streaming / thinking and so on.',
|
|
31
|
+
providerCapabilitiesLabel: 'Adapter default capabilities',
|
|
32
|
+
providerCapabilitiesDescription: 'Capabilities added to every model, comma-separated. For example: chat,tool_calling,streaming',
|
|
33
|
+
timeoutLabel: 'Idle timeout (s)',
|
|
34
|
+
timeoutDescription: 'How long without new output counts as a timeout; steady output never times out, and a non-streaming request must receive the whole reply within this time. Raise it when the model does not stream its thinking or the input is long. 0 = no limit.',
|
|
35
|
+
temperatureLabel: 'Temperature',
|
|
36
|
+
temperatureDescription: '0-2; higher is more random',
|
|
37
|
+
maxTokensLabel: 'Max tokens',
|
|
38
|
+
maxTokensDescription: 'Maximum tokens generated per reply; must be a positive integer, otherwise the instance goes into error',
|
|
39
|
+
contextLengthLabel: 'Context length',
|
|
40
|
+
contextLengthDescription: "Size of the model's context window",
|
|
41
|
+
thinkingParamLabel: 'Thinking level format',
|
|
42
|
+
thinkingParamEffort: 'reasoning_effort: levels by model family (official OpenAI and most compatible endpoints)',
|
|
43
|
+
thinkingParamThinking: 'thinking.type: off and on (DeepSeek-style endpoints or relays)',
|
|
44
|
+
thinkingParamDescription: 'How models that can think send their thinking level; nothing is sent when a request names no level. If the endpoint rejects requests because it does not recognize the field, switch to the other format, or remove thinking for that model in the per-model capability overrides.',
|
|
45
|
+
requestTimeout: 'LLM request timed out: no new output within {seconds} s; you can raise timeout in the config',
|
|
46
|
+
pluginClosed: 'The LLM plugin was disabled or reloaded; this request was not sent',
|
|
47
|
+
pluginStopped: 'The LLM plugin was disabled or reloaded; this request was stopped midway',
|
|
48
|
+
unreachable: 'LLM cannot reach the service: check baseUrl and the network; see the logs for details',
|
|
49
|
+
notJson: 'The LLM response is not JSON ({status}); see the logs for details',
|
|
50
|
+
discoveryNotJson: 'the response is not JSON: {excerpt}',
|
|
51
|
+
discoveryNotList: 'the response is not a model list (it needs a data array whose items each have a string id): {excerpt}',
|
|
52
|
+
discoveryFailed: 'Model discovery failed for {url}: {error}',
|
|
53
|
+
emptyChoices: 'LLM returned empty choices',
|
|
54
|
+
emptyBody: 'The LLM API returned an empty response body, so the stream cannot be read',
|
|
55
|
+
apiKeyRequired: 'required when using the official OpenAI API',
|
|
56
|
+
customModelsRequired: 'required when discoverModels is off',
|
|
57
|
+
noModelsDiscoveryFailed: 'Could not get the model list, so there are no models to register: check apiKey, baseUrl and the network, then reload this plugin, or list the models to use in customModels. Reason: {error}',
|
|
58
|
+
noModels: 'Connected to {baseUrl} but found no available models; you can list the models to use in customModels',
|
|
59
|
+
});
|
|
60
|
+
//# 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,cAAc,EAAE,2FAA2F;IAC3G,YAAY,EACV,2GAA2G;IAC7G,kBAAkB,EAAE,oFAAoF;IACxG,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,8BAA8B;IACxC,WAAW,EAAE,0CAA0C;IACvD,YAAY,EAAE,wBAAwB;IACtC,aAAa,EAAE,sCAAsC;IACrD,YAAY,EAAE,0BAA0B;IACxC,QAAQ,EAAE,iCAAiC;IAC3C,YAAY,EAAE,yCAAyC;IACvD,eAAe,EAAE,6BAA6B;IAC9C,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,MAAM;IACjB,iBAAiB,EAAE,uDAAuD;IAC1E,YAAY,EAAE,SAAS;IACvB,kBAAkB,EAChB,sKAAsK;IACxK,iBAAiB,EAAE,eAAe;IAClC,uBAAuB,EACrB,sLAAsL;IACxL,mBAAmB,EAAE,iBAAiB;IACtC,yBAAyB,EACvB,mNAAmN;IACrN,sBAAsB,EAAE,gCAAgC;IACxD,4BAA4B,EAC1B,iWAAiW;IACnW,yBAAyB,EAAE,8BAA8B;IACzD,+BAA+B,EAC7B,8FAA8F;IAChG,YAAY,EAAE,kBAAkB;IAChC,kBAAkB,EAChB,qPAAqP;IACvP,gBAAgB,EAAE,aAAa;IAC/B,sBAAsB,EAAE,4BAA4B;IACpD,cAAc,EAAE,YAAY;IAC5B,oBAAoB,EAClB,wGAAwG;IAC1G,kBAAkB,EAAE,gBAAgB;IACpC,wBAAwB,EAAE,oCAAoC;IAC9D,kBAAkB,EAAE,uBAAuB;IAC3C,mBAAmB,EAAE,0FAA0F;IAC/G,qBAAqB,EAAE,gEAAgE;IACvF,wBAAwB,EACtB,oRAAoR;IACtR,cAAc,EAAE,8FAA8F;IAC9G,YAAY,EAAE,oEAAoE;IAClF,aAAa,EAAE,0EAA0E;IACzF,WAAW,EAAE,uFAAuF;IACpG,OAAO,EAAE,mEAAmE;IAC5E,gBAAgB,EAAE,qCAAqC;IACvD,gBAAgB,EACd,uGAAuG;IACzG,eAAe,EAAE,2CAA2C;IAC5D,YAAY,EAAE,4BAA4B;IAC1C,SAAS,EAAE,2EAA2E;IACtF,cAAc,EAAE,6CAA6C;IAC7D,oBAAoB,EAAE,qCAAqC;IAC3D,uBAAuB,EACrB,8LAA8L;IAChM,QAAQ,EAAE,sGAAsG;CACjH,CAAC,CAAC"}
|
package/dist/texts.d.ts
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
declare const SOURCE: {
|
|
2
|
+
readonly baseUrlInvalid: "baseUrl 不是有效的 URL,需写成完整地址,如 https://api.openai.com/v1";
|
|
3
|
+
readonly baseUrlQuery: "baseUrl 不能带查询串或片段(? 或 # 之后的部分):插件在它后面拼接路径";
|
|
4
|
+
readonly baseUrlCredentials: "baseUrl 不能带用户名或密码(user:pass@),密钥请填在 apiKey";
|
|
5
|
+
readonly withCause: "{error} ← {detail}";
|
|
6
|
+
readonly hintAuth: "密钥无效或没有权限";
|
|
7
|
+
readonly hintPayment: "余额不足或需要付费";
|
|
8
|
+
readonly hintNotFound: "模型或地址不对";
|
|
9
|
+
readonly hintRateLimit: "请求过多或额度不足";
|
|
10
|
+
readonly hintUpstream: "上游服务故障";
|
|
11
|
+
readonly apiError: "{provider} API 错误 ({status})";
|
|
12
|
+
readonly apiErrorHint: "{provider} API 错误 ({status}):{hint}";
|
|
13
|
+
readonly upstreamMessage: "上游说明:{message}";
|
|
14
|
+
readonly seeLogs: "详情见日志";
|
|
15
|
+
readonly levelOff: "关";
|
|
16
|
+
readonly levelOn: "开";
|
|
17
|
+
readonly levelMinimal: "最低";
|
|
18
|
+
readonly levelLow: "低";
|
|
19
|
+
readonly levelMedium: "中";
|
|
20
|
+
readonly levelHigh: "高";
|
|
21
|
+
readonly apiKeyDescription: "OpenAI API 密钥(本地服务可留空)";
|
|
22
|
+
readonly baseUrlLabel: "API 地址";
|
|
23
|
+
readonly baseUrlDescription: "写到版本段为止,如 https://api.openai.com/v1;插件在后面拼 /chat/completions 与 /models。也可填其他兼容服务的地址。";
|
|
24
|
+
readonly customModelsLabel: "自定义模型";
|
|
25
|
+
readonly customModelsDescription: "手动添加的模型名称(每行一个或逗号分隔)。用于补充自动发现列表中未出现的模型。与自动发现重复时会提示去重。";
|
|
26
|
+
readonly discoverModelsLabel: "自动发现模型";
|
|
27
|
+
readonly discoverModelsDescription: "启动时向服务查询可用模型,之后可在 WebUI 刷新。服务不提供模型列表时关闭,这时只用自定义模型(必填),也不能刷新。";
|
|
28
|
+
readonly modelCapabilitiesLabel: "单模型能力覆盖";
|
|
29
|
+
readonly modelCapabilitiesDescription: "逐个模型指定能力。写了的模型不再按名字推断,能力为这里写的加上适配器默认能力。\n格式:`<modelId>: <cap1>,<cap2>,...`,每行一条。如:gpt-4o: chat,tool_calling,vision,streaming\n可用能力:chat / tool_calling / vision / streaming / thinking 等。";
|
|
30
|
+
readonly providerCapabilitiesLabel: "适配器默认能力";
|
|
31
|
+
readonly providerCapabilitiesDescription: "给所有模型额外加上的能力,逗号分隔。例:chat,tool_calling,streaming";
|
|
32
|
+
readonly timeoutLabel: "停顿超时(秒)";
|
|
33
|
+
readonly timeoutDescription: "多久收不到新的生成内容算超时,持续输出不算;不流式的请求要在这段时间内收到完整回复。模型不输出思考内容或输入很长时宜调大。0 为不限。";
|
|
34
|
+
readonly temperatureLabel: "温度";
|
|
35
|
+
readonly temperatureDescription: "0-2,越高越随机";
|
|
36
|
+
readonly maxTokensLabel: "最大 Token";
|
|
37
|
+
readonly maxTokensDescription: "单次回复最大生成 token 数,须为正整数,否则实例转为出错";
|
|
38
|
+
readonly contextLengthLabel: "上下文长度";
|
|
39
|
+
readonly contextLengthDescription: "模型上下文窗口大小";
|
|
40
|
+
readonly thinkingParamLabel: "思考档位的写法";
|
|
41
|
+
readonly thinkingParamEffort: "reasoning_effort:档位按模型族(OpenAI 官方与多数兼容端点)";
|
|
42
|
+
readonly thinkingParamThinking: "thinking.type:关、开(DeepSeek 风格的端点或中转)";
|
|
43
|
+
readonly thinkingParamDescription: "能思考的模型按这种写法发送思考档位,请求没指定档位时不发。端点不认这个字段而拒收请求时,换一种写法,或在单模型能力覆盖里去掉这个模型的 thinking。";
|
|
44
|
+
readonly requestTimeout: "LLM 请求超时:{seconds} 秒内没有收到新的生成内容,可在配置里调大 timeout";
|
|
45
|
+
readonly pluginClosed: "LLM 插件已停用或重载,这次请求没有发出";
|
|
46
|
+
readonly pluginStopped: "LLM 插件已停用或重载,这次请求中途停下";
|
|
47
|
+
readonly unreachable: "LLM 连不上服务:检查 baseUrl 与网络,详情见日志";
|
|
48
|
+
readonly notJson: "LLM 应答不是 JSON ({status});详情见日志";
|
|
49
|
+
readonly discoveryNotJson: "响应不是 JSON: {excerpt}";
|
|
50
|
+
readonly discoveryNotList: "响应不是模型列表(需要 data 数组,每项带字符串 id):{excerpt}";
|
|
51
|
+
readonly discoveryFailed: "模型发现失败 {url}: {error}";
|
|
52
|
+
readonly emptyChoices: "LLM 返回了空的 choices";
|
|
53
|
+
readonly emptyBody: "LLM API 返回了空的响应体,无法进行流式读取";
|
|
54
|
+
readonly apiKeyRequired: "使用 OpenAI 官方 API 时必填";
|
|
55
|
+
readonly customModelsRequired: "关闭 discoverModels 时必填";
|
|
56
|
+
readonly noModelsDiscoveryFailed: "取不到模型列表,没有可注册的模型:检查 apiKey、baseUrl 与网络后重载本插件,或在 customModels 里写明要用的模型。原因:{error}";
|
|
57
|
+
readonly noModels: "已连接 {baseUrl},但未发现任何可用模型;可在 customModels 里写明要用的模型";
|
|
58
|
+
};
|
|
59
|
+
export type Source = typeof SOURCE;
|
|
60
|
+
export declare const t: import("@aalis/schema-i18n").TextFactory<{
|
|
61
|
+
readonly baseUrlInvalid: "baseUrl 不是有效的 URL,需写成完整地址,如 https://api.openai.com/v1";
|
|
62
|
+
readonly baseUrlQuery: "baseUrl 不能带查询串或片段(? 或 # 之后的部分):插件在它后面拼接路径";
|
|
63
|
+
readonly baseUrlCredentials: "baseUrl 不能带用户名或密码(user:pass@),密钥请填在 apiKey";
|
|
64
|
+
readonly withCause: "{error} ← {detail}";
|
|
65
|
+
readonly hintAuth: "密钥无效或没有权限";
|
|
66
|
+
readonly hintPayment: "余额不足或需要付费";
|
|
67
|
+
readonly hintNotFound: "模型或地址不对";
|
|
68
|
+
readonly hintRateLimit: "请求过多或额度不足";
|
|
69
|
+
readonly hintUpstream: "上游服务故障";
|
|
70
|
+
readonly apiError: "{provider} API 错误 ({status})";
|
|
71
|
+
readonly apiErrorHint: "{provider} API 错误 ({status}):{hint}";
|
|
72
|
+
readonly upstreamMessage: "上游说明:{message}";
|
|
73
|
+
readonly seeLogs: "详情见日志";
|
|
74
|
+
readonly levelOff: "关";
|
|
75
|
+
readonly levelOn: "开";
|
|
76
|
+
readonly levelMinimal: "最低";
|
|
77
|
+
readonly levelLow: "低";
|
|
78
|
+
readonly levelMedium: "中";
|
|
79
|
+
readonly levelHigh: "高";
|
|
80
|
+
readonly apiKeyDescription: "OpenAI API 密钥(本地服务可留空)";
|
|
81
|
+
readonly baseUrlLabel: "API 地址";
|
|
82
|
+
readonly baseUrlDescription: "写到版本段为止,如 https://api.openai.com/v1;插件在后面拼 /chat/completions 与 /models。也可填其他兼容服务的地址。";
|
|
83
|
+
readonly customModelsLabel: "自定义模型";
|
|
84
|
+
readonly customModelsDescription: "手动添加的模型名称(每行一个或逗号分隔)。用于补充自动发现列表中未出现的模型。与自动发现重复时会提示去重。";
|
|
85
|
+
readonly discoverModelsLabel: "自动发现模型";
|
|
86
|
+
readonly discoverModelsDescription: "启动时向服务查询可用模型,之后可在 WebUI 刷新。服务不提供模型列表时关闭,这时只用自定义模型(必填),也不能刷新。";
|
|
87
|
+
readonly modelCapabilitiesLabel: "单模型能力覆盖";
|
|
88
|
+
readonly modelCapabilitiesDescription: "逐个模型指定能力。写了的模型不再按名字推断,能力为这里写的加上适配器默认能力。\n格式:`<modelId>: <cap1>,<cap2>,...`,每行一条。如:gpt-4o: chat,tool_calling,vision,streaming\n可用能力:chat / tool_calling / vision / streaming / thinking 等。";
|
|
89
|
+
readonly providerCapabilitiesLabel: "适配器默认能力";
|
|
90
|
+
readonly providerCapabilitiesDescription: "给所有模型额外加上的能力,逗号分隔。例:chat,tool_calling,streaming";
|
|
91
|
+
readonly timeoutLabel: "停顿超时(秒)";
|
|
92
|
+
readonly timeoutDescription: "多久收不到新的生成内容算超时,持续输出不算;不流式的请求要在这段时间内收到完整回复。模型不输出思考内容或输入很长时宜调大。0 为不限。";
|
|
93
|
+
readonly temperatureLabel: "温度";
|
|
94
|
+
readonly temperatureDescription: "0-2,越高越随机";
|
|
95
|
+
readonly maxTokensLabel: "最大 Token";
|
|
96
|
+
readonly maxTokensDescription: "单次回复最大生成 token 数,须为正整数,否则实例转为出错";
|
|
97
|
+
readonly contextLengthLabel: "上下文长度";
|
|
98
|
+
readonly contextLengthDescription: "模型上下文窗口大小";
|
|
99
|
+
readonly thinkingParamLabel: "思考档位的写法";
|
|
100
|
+
readonly thinkingParamEffort: "reasoning_effort:档位按模型族(OpenAI 官方与多数兼容端点)";
|
|
101
|
+
readonly thinkingParamThinking: "thinking.type:关、开(DeepSeek 风格的端点或中转)";
|
|
102
|
+
readonly thinkingParamDescription: "能思考的模型按这种写法发送思考档位,请求没指定档位时不发。端点不认这个字段而拒收请求时,换一种写法,或在单模型能力覆盖里去掉这个模型的 thinking。";
|
|
103
|
+
readonly requestTimeout: "LLM 请求超时:{seconds} 秒内没有收到新的生成内容,可在配置里调大 timeout";
|
|
104
|
+
readonly pluginClosed: "LLM 插件已停用或重载,这次请求没有发出";
|
|
105
|
+
readonly pluginStopped: "LLM 插件已停用或重载,这次请求中途停下";
|
|
106
|
+
readonly unreachable: "LLM 连不上服务:检查 baseUrl 与网络,详情见日志";
|
|
107
|
+
readonly notJson: "LLM 应答不是 JSON ({status});详情见日志";
|
|
108
|
+
readonly discoveryNotJson: "响应不是 JSON: {excerpt}";
|
|
109
|
+
readonly discoveryNotList: "响应不是模型列表(需要 data 数组,每项带字符串 id):{excerpt}";
|
|
110
|
+
readonly discoveryFailed: "模型发现失败 {url}: {error}";
|
|
111
|
+
readonly emptyChoices: "LLM 返回了空的 choices";
|
|
112
|
+
readonly emptyBody: "LLM API 返回了空的响应体,无法进行流式读取";
|
|
113
|
+
readonly apiKeyRequired: "使用 OpenAI 官方 API 时必填";
|
|
114
|
+
readonly customModelsRequired: "关闭 discoverModels 时必填";
|
|
115
|
+
readonly noModelsDiscoveryFailed: "取不到模型列表,没有可注册的模型:检查 apiKey、baseUrl 与网络后重载本插件,或在 customModels 里写明要用的模型。原因:{error}";
|
|
116
|
+
readonly noModels: "已连接 {baseUrl},但未发现任何可用模型;可在 customModels 里写明要用的模型";
|
|
117
|
+
}>;
|
|
118
|
+
export {};
|
|
119
|
+
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsG,CAAC"}
|
package/dist/texts.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// 本插件自己的原文字典:配置项、思考档位名与给人看的报错(经 agent 进会话、作插件失败原因)
|
|
2
|
+
import { defineTexts } from '@aalis/schema-i18n';
|
|
3
|
+
import en from './locales/en.js';
|
|
4
|
+
const SOURCE = {
|
|
5
|
+
baseUrlInvalid: 'baseUrl 不是有效的 URL,需写成完整地址,如 https://api.openai.com/v1',
|
|
6
|
+
baseUrlQuery: 'baseUrl 不能带查询串或片段(? 或 # 之后的部分):插件在它后面拼接路径',
|
|
7
|
+
baseUrlCredentials: 'baseUrl 不能带用户名或密码(user:pass@),密钥请填在 apiKey',
|
|
8
|
+
withCause: '{error} ← {detail}',
|
|
9
|
+
hintAuth: '密钥无效或没有权限',
|
|
10
|
+
hintPayment: '余额不足或需要付费',
|
|
11
|
+
hintNotFound: '模型或地址不对',
|
|
12
|
+
hintRateLimit: '请求过多或额度不足',
|
|
13
|
+
hintUpstream: '上游服务故障',
|
|
14
|
+
apiError: '{provider} API 错误 ({status})',
|
|
15
|
+
apiErrorHint: '{provider} API 错误 ({status}):{hint}',
|
|
16
|
+
upstreamMessage: '上游说明:{message}',
|
|
17
|
+
seeLogs: '详情见日志',
|
|
18
|
+
levelOff: '关',
|
|
19
|
+
levelOn: '开',
|
|
20
|
+
levelMinimal: '最低',
|
|
21
|
+
levelLow: '低',
|
|
22
|
+
levelMedium: '中',
|
|
23
|
+
levelHigh: '高',
|
|
24
|
+
apiKeyDescription: 'OpenAI API 密钥(本地服务可留空)',
|
|
25
|
+
baseUrlLabel: 'API 地址',
|
|
26
|
+
baseUrlDescription: '写到版本段为止,如 https://api.openai.com/v1;插件在后面拼 /chat/completions 与 /models。也可填其他兼容服务的地址。',
|
|
27
|
+
customModelsLabel: '自定义模型',
|
|
28
|
+
customModelsDescription: '手动添加的模型名称(每行一个或逗号分隔)。用于补充自动发现列表中未出现的模型。与自动发现重复时会提示去重。',
|
|
29
|
+
discoverModelsLabel: '自动发现模型',
|
|
30
|
+
discoverModelsDescription: '启动时向服务查询可用模型,之后可在 WebUI 刷新。服务不提供模型列表时关闭,这时只用自定义模型(必填),也不能刷新。',
|
|
31
|
+
modelCapabilitiesLabel: '单模型能力覆盖',
|
|
32
|
+
modelCapabilitiesDescription: '逐个模型指定能力。写了的模型不再按名字推断,能力为这里写的加上适配器默认能力。\n格式:`<modelId>: <cap1>,<cap2>,...`,每行一条。如:gpt-4o: chat,tool_calling,vision,streaming\n可用能力:chat / tool_calling / vision / streaming / thinking 等。',
|
|
33
|
+
providerCapabilitiesLabel: '适配器默认能力',
|
|
34
|
+
providerCapabilitiesDescription: '给所有模型额外加上的能力,逗号分隔。例:chat,tool_calling,streaming',
|
|
35
|
+
timeoutLabel: '停顿超时(秒)',
|
|
36
|
+
timeoutDescription: '多久收不到新的生成内容算超时,持续输出不算;不流式的请求要在这段时间内收到完整回复。模型不输出思考内容或输入很长时宜调大。0 为不限。',
|
|
37
|
+
temperatureLabel: '温度',
|
|
38
|
+
temperatureDescription: '0-2,越高越随机',
|
|
39
|
+
maxTokensLabel: '最大 Token',
|
|
40
|
+
maxTokensDescription: '单次回复最大生成 token 数,须为正整数,否则实例转为出错',
|
|
41
|
+
contextLengthLabel: '上下文长度',
|
|
42
|
+
contextLengthDescription: '模型上下文窗口大小',
|
|
43
|
+
thinkingParamLabel: '思考档位的写法',
|
|
44
|
+
thinkingParamEffort: 'reasoning_effort:档位按模型族(OpenAI 官方与多数兼容端点)',
|
|
45
|
+
thinkingParamThinking: 'thinking.type:关、开(DeepSeek 风格的端点或中转)',
|
|
46
|
+
thinkingParamDescription: '能思考的模型按这种写法发送思考档位,请求没指定档位时不发。端点不认这个字段而拒收请求时,换一种写法,或在单模型能力覆盖里去掉这个模型的 thinking。',
|
|
47
|
+
requestTimeout: 'LLM 请求超时:{seconds} 秒内没有收到新的生成内容,可在配置里调大 timeout',
|
|
48
|
+
pluginClosed: 'LLM 插件已停用或重载,这次请求没有发出',
|
|
49
|
+
pluginStopped: 'LLM 插件已停用或重载,这次请求中途停下',
|
|
50
|
+
unreachable: 'LLM 连不上服务:检查 baseUrl 与网络,详情见日志',
|
|
51
|
+
notJson: 'LLM 应答不是 JSON ({status});详情见日志',
|
|
52
|
+
discoveryNotJson: '响应不是 JSON: {excerpt}',
|
|
53
|
+
discoveryNotList: '响应不是模型列表(需要 data 数组,每项带字符串 id):{excerpt}',
|
|
54
|
+
discoveryFailed: '模型发现失败 {url}: {error}',
|
|
55
|
+
emptyChoices: 'LLM 返回了空的 choices',
|
|
56
|
+
emptyBody: 'LLM API 返回了空的响应体,无法进行流式读取',
|
|
57
|
+
apiKeyRequired: '使用 OpenAI 官方 API 时必填',
|
|
58
|
+
customModelsRequired: '关闭 discoverModels 时必填',
|
|
59
|
+
noModelsDiscoveryFailed: '取不到模型列表,没有可注册的模型:检查 apiKey、baseUrl 与网络后重载本插件,或在 customModels 里写明要用的模型。原因:{error}',
|
|
60
|
+
noModels: '已连接 {baseUrl},但未发现任何可用模型;可在 customModels 里写明要用的模型',
|
|
61
|
+
};
|
|
62
|
+
export const t = defineTexts({ ns: '@aalis/plugin-llm-openai', language: 'zh-CN', source: SOURCE, locales: { en } });
|
|
63
|
+
//# sourceMappingURL=texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,cAAc,EAAE,uDAAuD;IACvE,YAAY,EAAE,2CAA2C;IACzD,kBAAkB,EAAE,4CAA4C;IAChE,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,WAAW;IACrB,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,WAAW;IAC1B,YAAY,EAAE,QAAQ;IACtB,QAAQ,EAAE,8BAA8B;IACxC,YAAY,EAAE,qCAAqC;IACnD,eAAe,EAAE,gBAAgB;IACjC,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,wBAAwB;IAC3C,YAAY,EAAE,QAAQ;IACtB,kBAAkB,EAChB,sFAAsF;IACxF,iBAAiB,EAAE,OAAO;IAC1B,uBAAuB,EACrB,uDAAuD;IACzD,mBAAmB,EAAE,QAAQ;IAC7B,yBAAyB,EACvB,8DAA8D;IAChE,sBAAsB,EAAE,SAAS;IACjC,4BAA4B,EAC1B,2LAA2L;IAC7L,yBAAyB,EAAE,SAAS;IACpC,+BAA+B,EAAE,iDAAiD;IAClF,YAAY,EAAE,SAAS;IACvB,kBAAkB,EAChB,qEAAqE;IACvE,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,WAAW;IACnC,cAAc,EAAE,UAAU;IAC1B,oBAAoB,EAAE,iCAAiC;IACvD,kBAAkB,EAAE,OAAO;IAC3B,wBAAwB,EAAE,WAAW;IACrC,kBAAkB,EAAE,SAAS;IAC7B,mBAAmB,EAAE,2CAA2C;IAChE,qBAAqB,EAAE,sCAAsC;IAC7D,wBAAwB,EACtB,+EAA+E;IACjF,cAAc,EAAE,iDAAiD;IACjE,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,uBAAuB;IACtC,WAAW,EAAE,gCAAgC;IAC7C,OAAO,EAAE,gCAAgC;IACzC,gBAAgB,EAAE,sBAAsB;IACxC,gBAAgB,EAAE,0CAA0C;IAC5D,eAAe,EAAE,uBAAuB;IACxC,YAAY,EAAE,mBAAmB;IACjC,SAAS,EAAE,2BAA2B;IACtC,cAAc,EAAE,sBAAsB;IACtC,oBAAoB,EAAE,uBAAuB;IAC7C,uBAAuB,EACrB,kFAAkF;IACpF,QAAQ,EAAE,mDAAmD;CACrD,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,0BAA0B,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-llm-openai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,19 +24,21 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
28
|
-
"@aalis/api-llm": ">=0.
|
|
29
|
-
"@aalis/schema-
|
|
30
|
-
"@aalis/
|
|
27
|
+
"@aalis/schema-config": ">=0.16.0 <1.0.0",
|
|
28
|
+
"@aalis/api-llm": ">=0.15.0 <1.0.0",
|
|
29
|
+
"@aalis/schema-i18n": ">=0.1.0 <1.0.0",
|
|
30
|
+
"@aalis/schema-message": ">=0.11.0 <1.0.0",
|
|
31
|
+
"@aalis/util-text-normalize": ">=0.6.0 <1.0.0",
|
|
32
|
+
"undici": "^6.0.0"
|
|
31
33
|
},
|
|
32
34
|
"devDependencies": {
|
|
33
35
|
"@types/node": "^22.0.0",
|
|
34
36
|
"typescript": "^5.7.0",
|
|
35
|
-
"@aalis/core": "0.
|
|
36
|
-
"@aalis/api-tools": "0.
|
|
37
|
+
"@aalis/core": "0.21.1",
|
|
38
|
+
"@aalis/api-tools": "0.12.2"
|
|
37
39
|
},
|
|
38
40
|
"peerDependencies": {
|
|
39
|
-
"@aalis/core": ">=0.
|
|
41
|
+
"@aalis/core": ">=0.21.0 <1.0.0"
|
|
40
42
|
},
|
|
41
43
|
"aalis": {
|
|
42
44
|
"service": {
|