@aalis/plugin-websearch-serper 0.12.0 → 0.13.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 +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +66 -38
- package/dist/index.js.map +1 -1
- package/dist/locales/en.d.ts +20 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +20 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/texts.d.ts +39 -0
- package/dist/texts.d.ts.map +1 -0
- package/dist/texts.js +28 -0
- package/dist/texts.js.map +1 -0
- package/package.json +9 -7
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ declare const _default: import("@aalis/core").PluginDefinition<{
|
|
|
5
5
|
tools: import("@aalis/core").OptionalUse<import("@aalis/api-tools").ToolService, import("@aalis/api-tools").BoundTools>;
|
|
6
6
|
logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Logger, import("@aalis/core").Logger>;
|
|
7
7
|
config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
|
|
8
|
+
lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").LifecycleCap, import("@aalis/core").LifecycleCap>;
|
|
8
9
|
provide: import("@aalis/core").ServiceDescriptor<(identity: symbol) => import("@aalis/core").Provide, import("@aalis/core").Provide>;
|
|
9
10
|
llm: import("@aalis/core").OptionalUse<import("@aalis/api-llm").LLMModel, import("@aalis/api-llm").LLMModel>;
|
|
10
11
|
}>;
|
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":"AAMA,OAAO,KAAK,EAAwD,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzG,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,SAAS,6EAAgD,CAAC;;;;;;;;;AAgNvE,wBAUG"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { chatModelPicker, llm } from '@aalis/api-llm';
|
|
2
2
|
import { tools, wrapUntrustedContent } from '@aalis/api-tools';
|
|
3
|
-
import { config, definePlugin, defineService, logger, optional, provide } from '@aalis/core';
|
|
3
|
+
import { config, definePlugin, defineService, lifecycle, logger, optional, provide } from '@aalis/core';
|
|
4
4
|
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
5
|
+
import { t } from './texts.js';
|
|
5
6
|
// ----- 服务描述符(调用型:业务层就是提供者的形状)-----
|
|
6
7
|
export const webSearch = defineService('web-search');
|
|
7
8
|
const configSchema = defineConfig({
|
|
@@ -11,28 +12,38 @@ const configSchema = defineConfig({
|
|
|
11
12
|
required: true,
|
|
12
13
|
secret: true,
|
|
13
14
|
onInvalid: 'error',
|
|
14
|
-
description: '
|
|
15
|
+
description: t('apiKeyDescription'),
|
|
16
|
+
},
|
|
17
|
+
maxPerMinute: {
|
|
18
|
+
type: 'number',
|
|
19
|
+
label: t('maxPerMinuteLabel'),
|
|
20
|
+
default: 10,
|
|
21
|
+
description: t('maxPerMinuteDescription'),
|
|
22
|
+
},
|
|
23
|
+
maxPerDay: { type: 'number', label: t('maxPerDayLabel'), default: 100, description: t('maxPerDayDescription') },
|
|
24
|
+
maxConcurrent: {
|
|
25
|
+
type: 'number',
|
|
26
|
+
label: t('maxConcurrentLabel'),
|
|
27
|
+
default: 3,
|
|
28
|
+
description: t('maxConcurrentDescription'),
|
|
29
|
+
},
|
|
30
|
+
defaultNumResults: {
|
|
31
|
+
type: 'number',
|
|
32
|
+
label: t('defaultNumResultsLabel'),
|
|
33
|
+
default: 5,
|
|
34
|
+
description: t('defaultNumResultsDescription'),
|
|
15
35
|
},
|
|
16
|
-
maxPerMinute: { type: 'number', label: '每分钟最大次数', default: 10, description: '频率限制:每分钟最多搜索次数' },
|
|
17
|
-
maxPerDay: { type: 'number', label: '每天最大次数', default: 100, description: '频率限制:每天最多搜索次数' },
|
|
18
|
-
maxConcurrent: { type: 'number', label: '最大并发', default: 3, description: '同时进行的搜索请求数上限' },
|
|
19
|
-
defaultNumResults: { type: 'number', label: '默认结果数', default: 5, description: '每次搜索返回的结果条数' },
|
|
20
36
|
enableCompression: {
|
|
21
37
|
type: 'boolean',
|
|
22
|
-
label: '
|
|
38
|
+
label: t('enableCompressionLabel'),
|
|
23
39
|
default: false,
|
|
24
|
-
description: '
|
|
25
|
-
},
|
|
26
|
-
compressionLLM: {
|
|
27
|
-
type: 'llm-ref',
|
|
28
|
-
label: '压缩模型',
|
|
29
|
-
description: '选择用于压缩搜索结果的模型。留空则使用默认 LLM 提供者。',
|
|
40
|
+
description: t('enableCompressionDescription'),
|
|
30
41
|
},
|
|
31
42
|
compressionPrompt: {
|
|
32
43
|
type: 'textarea',
|
|
33
|
-
label: '
|
|
44
|
+
label: t('compressionPromptLabel'),
|
|
34
45
|
default: '',
|
|
35
|
-
description: '
|
|
46
|
+
description: t('compressionPromptDescription'),
|
|
36
47
|
},
|
|
37
48
|
});
|
|
38
49
|
// ===== 速率限制器 =====
|
|
@@ -92,7 +103,9 @@ class RateLimiter {
|
|
|
92
103
|
};
|
|
93
104
|
}
|
|
94
105
|
}
|
|
95
|
-
|
|
106
|
+
/** signal 是调用方的中止信号,与 15 秒超时谁先到按谁停;中止时以中止原因拒绝 */
|
|
107
|
+
async function serperSearch(query, apiKey, numResults, signal) {
|
|
108
|
+
const timeout = AbortSignal.timeout(15_000);
|
|
96
109
|
const response = await fetch('https://google.serper.dev/search', {
|
|
97
110
|
method: 'POST',
|
|
98
111
|
headers: {
|
|
@@ -103,7 +116,7 @@ async function serperSearch(query, apiKey, numResults) {
|
|
|
103
116
|
q: query,
|
|
104
117
|
num: numResults,
|
|
105
118
|
}),
|
|
106
|
-
signal: AbortSignal.timeout
|
|
119
|
+
signal: signal ? AbortSignal.any([timeout, signal]) : timeout,
|
|
107
120
|
});
|
|
108
121
|
if (!response.ok) {
|
|
109
122
|
const text = await response.text();
|
|
@@ -142,10 +155,10 @@ function toStandardResults(data) {
|
|
|
142
155
|
}));
|
|
143
156
|
}
|
|
144
157
|
// ===== 插件入口 =====
|
|
145
|
-
const uses = { tools: optional(tools), logger, config, provide, llm: optional(llm) };
|
|
158
|
+
const uses = { tools: optional(tools), logger, config, lifecycle, provide, llm: optional(llm) };
|
|
146
159
|
export default definePlugin({
|
|
147
160
|
name: '@aalis/plugin-websearch-serper',
|
|
148
|
-
displayName: '
|
|
161
|
+
displayName: t('displayName'),
|
|
149
162
|
subsystem: 'tools',
|
|
150
163
|
configSchema,
|
|
151
164
|
provides: [webSearch],
|
|
@@ -154,30 +167,40 @@ export default definePlugin({
|
|
|
154
167
|
registerSerper(caps);
|
|
155
168
|
},
|
|
156
169
|
});
|
|
157
|
-
function registerSerper({ tools, logger, config, provide, llm }) {
|
|
170
|
+
function registerSerper({ tools, logger, config, lifecycle, provide, llm }) {
|
|
158
171
|
const cfg = parseConfig(configSchema, config.use, logger.use);
|
|
159
|
-
// 部分引用沿用默认模型,不把不完整的对象传入解析器。
|
|
160
|
-
const compressionLLM = cfg.compressionLLM?.provider && cfg.compressionLLM.model ? cfg.compressionLLM : undefined;
|
|
161
172
|
const limiter = new RateLimiter(cfg);
|
|
162
173
|
const DEFAULT_COMPRESSION_PROMPT = '请根据用户的搜索意图,将以下搜索结果压缩整合为一段简洁、准确、有条理的摘要。' +
|
|
163
174
|
'保留关键事实、数据和来源,去除重复和无关信息。用中文回答。\n\n' +
|
|
164
175
|
'搜索关键词: {query}\n\n搜索结果:\n{results}';
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
176
|
+
const pickChatModel = chatModelPicker(llm, () => logger.use.warn('没有可用的对话模型,搜索结果压缩跳过'));
|
|
177
|
+
/**
|
|
178
|
+
* 使用 LLM 压缩搜索结果;没有能对话的模型时返回原始结果。模型取 llm 服务给本插件挑的能对话的那一个(见 chatModelPicker)。
|
|
179
|
+
* 输出上限只防失控;模型在上限处停下时末尾标出截断。压缩模型读的是网页原文,它的输出同样不可信:由这里包上标记,不靠提示词让
|
|
180
|
+
* 模型自己加;截断说明接在正文末尾,在标记之内(标记没有闭合)。signal 是这次工具调用的,中止时抛中止原因,不按压缩失败
|
|
181
|
+
* 退回原始结果
|
|
182
|
+
*/
|
|
183
|
+
async function compressResults(query, rawResults, signal) {
|
|
184
|
+
const entry = pickChatModel();
|
|
168
185
|
if (!entry)
|
|
169
186
|
return rawResults;
|
|
170
187
|
const promptTemplate = cfg.compressionPrompt || DEFAULT_COMPRESSION_PROMPT;
|
|
171
|
-
|
|
188
|
+
// 一次换完两个占位符:替换值里的 $ 不当替换模式,搜索词里写的 {results} 也不会再被换掉
|
|
189
|
+
const prompt = promptTemplate.replace(/\{(query|results)\}/g, (_, key) => (key === 'query' ? query : rawResults));
|
|
172
190
|
const messages = [{ role: 'user', content: prompt }];
|
|
173
191
|
try {
|
|
174
192
|
const response = await entry.use.chat({
|
|
175
193
|
messages,
|
|
176
|
-
maxTokens:
|
|
194
|
+
maxTokens: 2048,
|
|
195
|
+
signal,
|
|
177
196
|
});
|
|
178
|
-
|
|
197
|
+
const text = response.content?.trim();
|
|
198
|
+
if (!text)
|
|
199
|
+
return rawResults;
|
|
200
|
+
return wrapUntrustedContent(response.finishReason === 'length' ? `${text}(已在长度上限处截断)` : text, '网络搜索结果');
|
|
179
201
|
}
|
|
180
202
|
catch (err) {
|
|
203
|
+
signal?.throwIfAborted();
|
|
181
204
|
const msg = err instanceof Error ? err.message : String(err);
|
|
182
205
|
logger.use.warn(`搜索结果压缩失败,返回原始结果: ${msg}`);
|
|
183
206
|
return rawResults;
|
|
@@ -187,12 +210,12 @@ function registerSerper({ tools, logger, config, provide, llm }) {
|
|
|
187
210
|
`限制: ${cfg.maxPerMinute}/min, ${cfg.maxPerDay}/day, ` +
|
|
188
211
|
`并发: ${cfg.maxConcurrent}` +
|
|
189
212
|
`${cfg.enableCompression ? ', 压缩: 已启用' : ''})`);
|
|
190
|
-
// 注册为 web-search
|
|
213
|
+
// 注册为 web-search 服务,供其他插件消费。契约不带中止信号:搜索接本插件这次激活的,停用、停机时随之停下
|
|
191
214
|
const serperService = {
|
|
192
215
|
providerName: 'serper',
|
|
193
216
|
async search(request) {
|
|
194
217
|
const num = Math.min(10, Math.max(1, request.numResults ?? cfg.defaultNumResults));
|
|
195
|
-
const data = await serperSearch(request.query, cfg.apiKey, num);
|
|
218
|
+
const data = await serperSearch(request.query, cfg.apiKey, num, lifecycle.use.signal);
|
|
196
219
|
return {
|
|
197
220
|
query: request.query,
|
|
198
221
|
results: toStandardResults(data),
|
|
@@ -207,7 +230,8 @@ function registerSerper({ tools, logger, config, provide, llm }) {
|
|
|
207
230
|
// 注册工具分组
|
|
208
231
|
tools.use.registerGroup({
|
|
209
232
|
name: 'search',
|
|
210
|
-
label: '
|
|
233
|
+
label: t('groupLabel'),
|
|
234
|
+
summary: t('groupSummary'),
|
|
211
235
|
description: '通过 Serper API 搜索互联网获取最新信息',
|
|
212
236
|
});
|
|
213
237
|
// 注册搜索工具
|
|
@@ -240,7 +264,7 @@ function registerSerper({ tools, logger, config, provide, llm }) {
|
|
|
240
264
|
},
|
|
241
265
|
},
|
|
242
266
|
},
|
|
243
|
-
handler: async (args) => {
|
|
267
|
+
handler: async (args, callCtx) => {
|
|
244
268
|
const query = args.query;
|
|
245
269
|
const numResults = Math.min(10, Math.max(1, args.numResults ?? cfg.defaultNumResults));
|
|
246
270
|
// 速率限制检查
|
|
@@ -255,17 +279,19 @@ function registerSerper({ tools, logger, config, provide, llm }) {
|
|
|
255
279
|
limiter.acquire();
|
|
256
280
|
try {
|
|
257
281
|
logger.use.debug(`执行搜索: "${query}" (${numResults} 条结果)`);
|
|
258
|
-
const data = await serperSearch(query, cfg.apiKey, numResults);
|
|
282
|
+
const data = await serperSearch(query, cfg.apiKey, numResults, callCtx.signal);
|
|
259
283
|
let result = formatSearchResults(data);
|
|
260
284
|
// 压缩整合
|
|
261
285
|
if (cfg.enableCompression) {
|
|
262
286
|
logger.use.debug(`压缩搜索结果 (原始长度: ${result.length})`);
|
|
263
|
-
result = await compressResults(query, result);
|
|
287
|
+
result = await compressResults(query, result, callCtx.signal);
|
|
264
288
|
logger.use.debug(`压缩完成 (压缩后长度: ${result.length})`);
|
|
265
289
|
}
|
|
266
290
|
return result;
|
|
267
291
|
}
|
|
268
292
|
catch (err) {
|
|
293
|
+
// 回合中止不是搜索失败:抛中止原因
|
|
294
|
+
callCtx.signal?.throwIfAborted();
|
|
269
295
|
const message = err instanceof Error ? err.message : String(err);
|
|
270
296
|
logger.use.error(`搜索失败: ${message}`);
|
|
271
297
|
return JSON.stringify({ error: `搜索失败: ${message}` });
|
|
@@ -298,7 +324,7 @@ function registerSerper({ tools, logger, config, provide, llm }) {
|
|
|
298
324
|
},
|
|
299
325
|
},
|
|
300
326
|
},
|
|
301
|
-
handler: async (args) => {
|
|
327
|
+
handler: async (args, callCtx) => {
|
|
302
328
|
const query = args.query;
|
|
303
329
|
const numResults = Math.min(10, Math.max(1, args.numResults ?? cfg.defaultNumResults));
|
|
304
330
|
const rejectReason = limiter.check();
|
|
@@ -306,12 +332,13 @@ function registerSerper({ tools, logger, config, provide, llm }) {
|
|
|
306
332
|
return JSON.stringify({ error: `图片搜索被限流: ${rejectReason}` });
|
|
307
333
|
limiter.acquire();
|
|
308
334
|
try {
|
|
335
|
+
// 与 serperSearch 对齐:挂起期间限流槽不释放,几次就把图片+网页搜索一起锁死;回合中止时同样停下
|
|
336
|
+
const timeout = AbortSignal.timeout(15_000);
|
|
309
337
|
const res = await fetch('https://google.serper.dev/images', {
|
|
310
338
|
method: 'POST',
|
|
311
339
|
headers: { 'X-API-KEY': cfg.apiKey, 'Content-Type': 'application/json' },
|
|
312
340
|
body: JSON.stringify({ q: query, num: numResults }),
|
|
313
|
-
|
|
314
|
-
signal: AbortSignal.timeout(15_000),
|
|
341
|
+
signal: callCtx.signal ? AbortSignal.any([timeout, callCtx.signal]) : timeout,
|
|
315
342
|
});
|
|
316
343
|
if (!res.ok)
|
|
317
344
|
return JSON.stringify({ error: `Serper images API 错误 ${res.status}` });
|
|
@@ -333,6 +360,7 @@ function registerSerper({ tools, logger, config, provide, llm }) {
|
|
|
333
360
|
});
|
|
334
361
|
}
|
|
335
362
|
catch (err) {
|
|
363
|
+
callCtx.signal?.throwIfAborted();
|
|
336
364
|
return JSON.stringify({ error: err instanceof Error ? err.message : String(err) });
|
|
337
365
|
}
|
|
338
366
|
finally {
|
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,20 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
readonly displayName: "Serper web search";
|
|
3
|
+
readonly apiKeyDescription: "Serper.dev API key";
|
|
4
|
+
readonly maxPerMinuteLabel: "Max per minute";
|
|
5
|
+
readonly maxPerMinuteDescription: "Rate limit: maximum searches per minute";
|
|
6
|
+
readonly maxPerDayLabel: "Max per day";
|
|
7
|
+
readonly maxPerDayDescription: "Rate limit: maximum searches per day";
|
|
8
|
+
readonly maxConcurrentLabel: "Max concurrent";
|
|
9
|
+
readonly maxConcurrentDescription: "Maximum number of search requests at once";
|
|
10
|
+
readonly defaultNumResultsLabel: "Default number of results";
|
|
11
|
+
readonly defaultNumResultsDescription: "Number of results returned per search";
|
|
12
|
+
readonly enableCompressionLabel: "Enable search result compression";
|
|
13
|
+
readonly enableCompressionDescription: "When on, search results are first compressed and merged by a model before being returned to the agent, using fewer tokens and improving the quality of the information.";
|
|
14
|
+
readonly compressionPromptLabel: "Compression prompt";
|
|
15
|
+
readonly compressionPromptDescription: "Custom prompt for compressing search results. Left empty, the default prompt is used. In the prompt, '{query}' stands for the search keywords and '{results}' for the search results (without '{results}', the model gets no results).";
|
|
16
|
+
readonly groupLabel: "Web search";
|
|
17
|
+
readonly groupSummary: "Search the internet for up-to-date information through the Serper API";
|
|
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
|
+
displayName: 'Serper web search',
|
|
4
|
+
apiKeyDescription: 'Serper.dev API key',
|
|
5
|
+
maxPerMinuteLabel: 'Max per minute',
|
|
6
|
+
maxPerMinuteDescription: 'Rate limit: maximum searches per minute',
|
|
7
|
+
maxPerDayLabel: 'Max per day',
|
|
8
|
+
maxPerDayDescription: 'Rate limit: maximum searches per day',
|
|
9
|
+
maxConcurrentLabel: 'Max concurrent',
|
|
10
|
+
maxConcurrentDescription: 'Maximum number of search requests at once',
|
|
11
|
+
defaultNumResultsLabel: 'Default number of results',
|
|
12
|
+
defaultNumResultsDescription: 'Number of results returned per search',
|
|
13
|
+
enableCompressionLabel: 'Enable search result compression',
|
|
14
|
+
enableCompressionDescription: 'When on, search results are first compressed and merged by a model before being returned to the agent, using fewer tokens and improving the quality of the information.',
|
|
15
|
+
compressionPromptLabel: 'Compression prompt',
|
|
16
|
+
compressionPromptDescription: "Custom prompt for compressing search results. Left empty, the default prompt is used. In the prompt, '{query}' stands for the search keywords and '{results}' for the search results (without '{results}', the model gets no results).",
|
|
17
|
+
groupLabel: 'Web search',
|
|
18
|
+
groupSummary: 'Search the internet for up-to-date information through the Serper API',
|
|
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,WAAW,EAAE,mBAAmB;IAChC,iBAAiB,EAAE,oBAAoB;IACvC,iBAAiB,EAAE,gBAAgB;IACnC,uBAAuB,EAAE,yCAAyC;IAClE,cAAc,EAAE,aAAa;IAC7B,oBAAoB,EAAE,sCAAsC;IAC5D,kBAAkB,EAAE,gBAAgB;IACpC,wBAAwB,EAAE,2CAA2C;IACrE,sBAAsB,EAAE,2BAA2B;IACnD,4BAA4B,EAAE,uCAAuC;IACrE,sBAAsB,EAAE,kCAAkC;IAC1D,4BAA4B,EAC1B,yKAAyK;IAC3K,sBAAsB,EAAE,oBAAoB;IAC5C,4BAA4B,EAC1B,wOAAwO;IAC1O,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,uEAAuE;CACtF,CAAC,CAAC"}
|
package/dist/texts.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
declare const SOURCE: {
|
|
2
|
+
readonly displayName: "Serper 网络搜索";
|
|
3
|
+
readonly apiKeyDescription: "Serper.dev API 密钥";
|
|
4
|
+
readonly maxPerMinuteLabel: "每分钟最大次数";
|
|
5
|
+
readonly maxPerMinuteDescription: "频率限制:每分钟最多搜索次数";
|
|
6
|
+
readonly maxPerDayLabel: "每天最大次数";
|
|
7
|
+
readonly maxPerDayDescription: "频率限制:每天最多搜索次数";
|
|
8
|
+
readonly maxConcurrentLabel: "最大并发";
|
|
9
|
+
readonly maxConcurrentDescription: "同时进行的搜索请求数上限";
|
|
10
|
+
readonly defaultNumResultsLabel: "默认结果数";
|
|
11
|
+
readonly defaultNumResultsDescription: "每次搜索返回的结果条数";
|
|
12
|
+
readonly enableCompressionLabel: "启用搜索结果压缩";
|
|
13
|
+
readonly enableCompressionDescription: "启用后,搜索结果将先经过模型压缩整合后再返回给 Agent,减少 Token 消耗并提升信息质量。";
|
|
14
|
+
readonly compressionPromptLabel: "压缩提示词";
|
|
15
|
+
readonly compressionPromptDescription: "自定义压缩搜索结果的提示词。留空使用默认提示。提示词中用 '{query}' 代表搜索关键词、'{results}' 代表搜索结果(不写 '{results}' 模型就收不到结果)。";
|
|
16
|
+
readonly groupLabel: "网页搜索";
|
|
17
|
+
readonly groupSummary: "通过 Serper API 搜索互联网获取最新信息";
|
|
18
|
+
};
|
|
19
|
+
export type Source = typeof SOURCE;
|
|
20
|
+
export declare const t: import("@aalis/schema-i18n").TextFactory<{
|
|
21
|
+
readonly displayName: "Serper 网络搜索";
|
|
22
|
+
readonly apiKeyDescription: "Serper.dev API 密钥";
|
|
23
|
+
readonly maxPerMinuteLabel: "每分钟最大次数";
|
|
24
|
+
readonly maxPerMinuteDescription: "频率限制:每分钟最多搜索次数";
|
|
25
|
+
readonly maxPerDayLabel: "每天最大次数";
|
|
26
|
+
readonly maxPerDayDescription: "频率限制:每天最多搜索次数";
|
|
27
|
+
readonly maxConcurrentLabel: "最大并发";
|
|
28
|
+
readonly maxConcurrentDescription: "同时进行的搜索请求数上限";
|
|
29
|
+
readonly defaultNumResultsLabel: "默认结果数";
|
|
30
|
+
readonly defaultNumResultsDescription: "每次搜索返回的结果条数";
|
|
31
|
+
readonly enableCompressionLabel: "启用搜索结果压缩";
|
|
32
|
+
readonly enableCompressionDescription: "启用后,搜索结果将先经过模型压缩整合后再返回给 Agent,减少 Token 消耗并提升信息质量。";
|
|
33
|
+
readonly compressionPromptLabel: "压缩提示词";
|
|
34
|
+
readonly compressionPromptDescription: "自定义压缩搜索结果的提示词。留空使用默认提示。提示词中用 '{query}' 代表搜索关键词、'{results}' 代表搜索结果(不写 '{results}' 模型就收不到结果)。";
|
|
35
|
+
readonly groupLabel: "网页搜索";
|
|
36
|
+
readonly groupSummary: "通过 Serper API 搜索互联网获取最新信息";
|
|
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;;;;;;;;;;;;;;;;;CAkBF,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
|
+
displayName: 'Serper 网络搜索',
|
|
6
|
+
apiKeyDescription: 'Serper.dev API 密钥',
|
|
7
|
+
maxPerMinuteLabel: '每分钟最大次数',
|
|
8
|
+
maxPerMinuteDescription: '频率限制:每分钟最多搜索次数',
|
|
9
|
+
maxPerDayLabel: '每天最大次数',
|
|
10
|
+
maxPerDayDescription: '频率限制:每天最多搜索次数',
|
|
11
|
+
maxConcurrentLabel: '最大并发',
|
|
12
|
+
maxConcurrentDescription: '同时进行的搜索请求数上限',
|
|
13
|
+
defaultNumResultsLabel: '默认结果数',
|
|
14
|
+
defaultNumResultsDescription: '每次搜索返回的结果条数',
|
|
15
|
+
enableCompressionLabel: '启用搜索结果压缩',
|
|
16
|
+
enableCompressionDescription: '启用后,搜索结果将先经过模型压缩整合后再返回给 Agent,减少 Token 消耗并提升信息质量。',
|
|
17
|
+
compressionPromptLabel: '压缩提示词',
|
|
18
|
+
compressionPromptDescription: "自定义压缩搜索结果的提示词。留空使用默认提示。提示词中用 '{query}' 代表搜索关键词、'{results}' 代表搜索结果(不写 '{results}' 模型就收不到结果)。",
|
|
19
|
+
groupLabel: '网页搜索',
|
|
20
|
+
groupSummary: '通过 Serper API 搜索互联网获取最新信息',
|
|
21
|
+
};
|
|
22
|
+
export const t = defineTexts({
|
|
23
|
+
ns: '@aalis/plugin-websearch-serper',
|
|
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,8BAA8B;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,SAAS;IAC5B,uBAAuB,EAAE,gBAAgB;IACzC,cAAc,EAAE,QAAQ;IACxB,oBAAoB,EAAE,eAAe;IACrC,kBAAkB,EAAE,MAAM;IAC1B,wBAAwB,EAAE,cAAc;IACxC,sBAAsB,EAAE,OAAO;IAC/B,4BAA4B,EAAE,aAAa;IAC3C,sBAAsB,EAAE,UAAU;IAClC,4BAA4B,EAAE,mDAAmD;IACjF,sBAAsB,EAAE,OAAO;IAC/B,4BAA4B,EAC1B,6FAA6F;IAC/F,UAAU,EAAE,MAAM;IAClB,YAAY,EAAE,2BAA2B;CACjC,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-websearch-serper",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,18 +24,19 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
28
|
-
"@aalis/
|
|
29
|
-
"@aalis/api-
|
|
27
|
+
"@aalis/schema-config": ">=0.16.0 <1.0.0",
|
|
28
|
+
"@aalis/schema-i18n": ">=0.1.0 <1.0.0",
|
|
29
|
+
"@aalis/api-llm": ">=0.15.0 <1.0.0",
|
|
30
|
+
"@aalis/api-tools": ">=0.12.0 <1.0.0"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"@types/node": "^22.0.0",
|
|
33
34
|
"typescript": "^5.7.0",
|
|
34
|
-
"@aalis/core": "0.
|
|
35
|
-
"@aalis/schema-message": "0.
|
|
35
|
+
"@aalis/core": "0.21.1",
|
|
36
|
+
"@aalis/schema-message": "0.11.2"
|
|
36
37
|
},
|
|
37
38
|
"peerDependencies": {
|
|
38
|
-
"@aalis/core": ">=0.
|
|
39
|
+
"@aalis/core": ">=0.21.0 <1.0.0"
|
|
39
40
|
},
|
|
40
41
|
"aalis": {
|
|
41
42
|
"service": {
|
|
@@ -48,6 +49,7 @@
|
|
|
48
49
|
],
|
|
49
50
|
"required": [
|
|
50
51
|
"config",
|
|
52
|
+
"lifecycle",
|
|
51
53
|
"logger",
|
|
52
54
|
"provide"
|
|
53
55
|
]
|