@aalis/plugin-adapter-onebot 0.4.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.
@@ -0,0 +1,329 @@
1
+ /**
2
+ * 合并转发(forward)展开、图片识别与摘要生成。
3
+ *
4
+ * 设计目标:让 agent 处理合并转发更接近"人类阅读"的方式:
5
+ * - 进入对话上下文 / 历史归档的是一份摘要(信封),而非整块原文,
6
+ * 避免长转发淹没真正对话;
7
+ * - 内部图片走 media 服务转写为文字描述,保证多模态信息
8
+ * 不在摘要里丢失;
9
+ * - 嵌套转发递归展开(带深度上限与已访问 id 集合防环),让摘要能反映
10
+ * 多层结构;
11
+ * - 完整原文仍保留在缓存与 memory metadata 中,agent 想看细节时通过
12
+ * onebot_get_forward_msg 工具 / 缓存命中拿回。
13
+ *
14
+ * 本模块仅做"纯逻辑",不直接依赖 Context;适配器通过依赖注入提供
15
+ * fetchForward / recognizeImage / summarize 三个能力函数。
16
+ */
17
+ import { getForwardNodes } from './types.js';
18
+ /**
19
+ * 把 CQ 字符串里 [CQ:<kind>,...] 段替换为识别结果(或 fallback 占位)。
20
+ */
21
+ async function replaceCqWithRecognizer(text, kind, fallback, successPrefix, successSuffix, recognizer) {
22
+ const re = new RegExp(`\\[CQ:${kind}(,[^\\]]+)?\\]`, 'g');
23
+ if (!recognizer)
24
+ return text.replace(re, fallback);
25
+ const matches = [...text.matchAll(re)];
26
+ if (matches.length === 0)
27
+ return text;
28
+ const replacements = await Promise.all(matches.map(async (m) => {
29
+ const params = {};
30
+ const body = m[1] ?? '';
31
+ for (const part of body.replace(/^,/, '').split(',')) {
32
+ const eq = part.indexOf('=');
33
+ if (eq <= 0)
34
+ continue;
35
+ params[part.slice(0, eq)] = part
36
+ .slice(eq + 1)
37
+ .replace(/&amp;/g, '&')
38
+ .replace(/&#91;/g, '[')
39
+ .replace(/&#93;/g, ']')
40
+ .replace(/&#44;/g, ',');
41
+ }
42
+ const src = params.url || params.file;
43
+ if (!src)
44
+ return { raw: m[0], rendered: fallback };
45
+ try {
46
+ const desc = await recognizer(src);
47
+ return { raw: m[0], rendered: desc ? `${successPrefix}${desc}${successSuffix}` : fallback };
48
+ }
49
+ catch {
50
+ return { raw: m[0], rendered: fallback };
51
+ }
52
+ }));
53
+ let out = text;
54
+ for (const r of replacements)
55
+ out = out.replace(r.raw, r.rendered);
56
+ return out;
57
+ }
58
+ /** 渲染一个节点 content(消息段数组或 CQ 字符串)为纯文本,并把图片换成识别后描述。 */
59
+ async function renderNodeContent(content, opts) {
60
+ if (typeof content === 'string') {
61
+ // CQ 码字符串:用正则替换 image / face / at / reply
62
+ let out = content;
63
+ if (opts.imageRecognitionEnabled && opts.recognizeImage) {
64
+ // [CQ:image,file=...,url=...]
65
+ const matches = [...out.matchAll(/\[CQ:image,([^\]]+)\]/g)];
66
+ const replacements = await Promise.all(matches.map(async (m) => {
67
+ const params = {};
68
+ for (const part of m[1].split(',')) {
69
+ const eq = part.indexOf('=');
70
+ if (eq <= 0)
71
+ continue;
72
+ params[part.slice(0, eq)] = part
73
+ .slice(eq + 1)
74
+ .replace(/&amp;/g, '&')
75
+ .replace(/&#91;/g, '[')
76
+ .replace(/&#93;/g, ']')
77
+ .replace(/&#44;/g, ',');
78
+ }
79
+ const src = params.url || params.file;
80
+ if (!src)
81
+ return { raw: m[0], rendered: '[图片]' };
82
+ try {
83
+ const desc = await opts.recognizeImage(src);
84
+ return { raw: m[0], rendered: desc ? `[图片: ${desc}]` : '[图片]' };
85
+ }
86
+ catch {
87
+ return { raw: m[0], rendered: '[图片]' };
88
+ }
89
+ }));
90
+ for (const r of replacements)
91
+ out = out.replace(r.raw, r.rendered);
92
+ }
93
+ else {
94
+ out = out.replace(/\[CQ:image[^\]]*\]/g, '[图片]');
95
+ }
96
+ // record / video CQ 段:参数里取 url/file,调对应识别回调
97
+ out = await replaceCqWithRecognizer(out, 'record', '[语音]', '[语音: ', ']', opts.audioRecognitionEnabled !== false ? opts.recognizeAudio : undefined);
98
+ out = await replaceCqWithRecognizer(out, 'video', '[视频]', '[视频: ', ']', opts.videoRecognitionEnabled !== false ? opts.recognizeVideo : undefined);
99
+ return out
100
+ .replace(/\[CQ:face,[^\]]*id=(\d+)[^\]]*\]/g, '[表情:$1]')
101
+ .replace(/\[CQ:at,[^\]]*qq=([^,\]]+)[^\]]*\]/g, '<at id="$1">$1</at>')
102
+ .replace(/\[CQ:reply[^\]]*\]/g, '')
103
+ .replace(/\[CQ:[a-z]+[^\]]*\]/g, '');
104
+ }
105
+ if (!Array.isArray(content))
106
+ return '';
107
+ const parts = [];
108
+ for (const seg of content) {
109
+ if (!seg || typeof seg !== 'object')
110
+ continue;
111
+ const s = seg;
112
+ const data = s.data ?? {};
113
+ switch (s.type) {
114
+ case 'text':
115
+ parts.push(String(data.text ?? ''));
116
+ break;
117
+ case 'at':
118
+ parts.push(data.qq === 'all' ? '<at>all</at>' : `<at id="${String(data.qq ?? '')}">${String(data.qq ?? '')}</at>`);
119
+ break;
120
+ case 'face':
121
+ parts.push(`[表情:${String(data.id ?? '')}]`);
122
+ break;
123
+ case 'image': {
124
+ const src = (data.url ?? data.file);
125
+ if (opts.imageRecognitionEnabled && opts.recognizeImage && src) {
126
+ try {
127
+ const desc = await opts.recognizeImage(src);
128
+ parts.push(desc ? `[图片: ${desc}]` : '[图片]');
129
+ }
130
+ catch {
131
+ parts.push('[图片]');
132
+ }
133
+ }
134
+ else {
135
+ parts.push('[图片]');
136
+ }
137
+ break;
138
+ }
139
+ case 'reply':
140
+ break;
141
+ case 'forward':
142
+ // 嵌套占位符,递归展开会在外层处理;这里先放标记,外层 expand 用 inline content 优先
143
+ parts.push(data.id ? `<<<NESTED_FORWARD:${String(data.id)}>>>` : '[合并转发]');
144
+ break;
145
+ case 'record': {
146
+ const src = (data.url ?? data.file);
147
+ if (opts.audioRecognitionEnabled !== false && opts.recognizeAudio && src) {
148
+ try {
149
+ const text = await opts.recognizeAudio(src);
150
+ parts.push(text ? `[语音: ${text}]` : '[语音]');
151
+ }
152
+ catch {
153
+ parts.push('[语音]');
154
+ }
155
+ }
156
+ else {
157
+ parts.push('[语音]');
158
+ }
159
+ break;
160
+ }
161
+ case 'video': {
162
+ const src = (data.url ?? data.file);
163
+ if (opts.videoRecognitionEnabled !== false && opts.recognizeVideo && src) {
164
+ try {
165
+ const text = await opts.recognizeVideo(src);
166
+ parts.push(text ? `[视频: ${text}]` : '[视频]');
167
+ }
168
+ catch {
169
+ parts.push('[视频]');
170
+ }
171
+ }
172
+ else {
173
+ parts.push('[视频]');
174
+ }
175
+ break;
176
+ }
177
+ case 'share':
178
+ parts.push(`[分享:${String(data.title ?? '')}]`);
179
+ break;
180
+ case 'json':
181
+ parts.push('[JSON卡片]');
182
+ break;
183
+ case 'xml':
184
+ parts.push('[XML卡片]');
185
+ break;
186
+ default:
187
+ if (s.type)
188
+ parts.push(`[${s.type}]`);
189
+ }
190
+ }
191
+ return parts.join('');
192
+ }
193
+ /** 从 forward 节点 item 中提取 inline content(部分 OneBot 实现自带) */
194
+ function getInlineNodes(seg) {
195
+ if (seg.type !== 'forward')
196
+ return null;
197
+ const nodes = getForwardNodes(seg.data ?? {});
198
+ return nodes.length > 0 ? nodes : null;
199
+ }
200
+ function extractNodeMeta(item) {
201
+ const node = item && typeof item === 'object' ? item : {};
202
+ const data = (node.type === 'node' && node.data && typeof node.data === 'object' ? node.data : node);
203
+ const sender = (node.sender && typeof node.sender === 'object' ? node.sender : undefined);
204
+ const nickname = String(data.nickname ?? sender?.nickname ?? data.name ?? data.user_id ?? sender?.user_id ?? '匿名');
205
+ const userIdRaw = data.user_id ?? data.uin ?? sender?.user_id;
206
+ const userId = userIdRaw != null ? String(userIdRaw) : undefined;
207
+ const content = data.content ?? node.content ?? data.message ?? node.message;
208
+ // 收集本节点内 forward 段自带的 inline content
209
+ const inlineNested = new Map();
210
+ if (Array.isArray(content)) {
211
+ for (const seg of content) {
212
+ if (!seg || typeof seg !== 'object')
213
+ continue;
214
+ const s = seg;
215
+ const nested = getInlineNodes(s);
216
+ if (nested) {
217
+ const fid = s.data?.id != null ? String(s.data.id) : '';
218
+ if (fid)
219
+ inlineNested.set(fid, nested);
220
+ }
221
+ }
222
+ }
223
+ return { nickname, userId, content, inlineNested };
224
+ }
225
+ /**
226
+ * 递归展开一个 forward。返回扁平行(含 depth)便于直接拼接文本。
227
+ *
228
+ * @param topId 顶层 forward id
229
+ * @param topNodes 顶层节点数组(如果调用方已抓到了,可直接传入;否则将通过 fetchForward 抓取)
230
+ */
231
+ export async function expandForward(topId, topNodes, opts) {
232
+ const visited = new Set([topId]);
233
+ const lines = [];
234
+ const participants = new Map(); // userId -> nickname
235
+ let truncatedDepth = false;
236
+ let truncatedNodes = false;
237
+ let topCount = 0;
238
+ async function walk(id, nodesInput, depth) {
239
+ if (depth > opts.maxDepth) {
240
+ truncatedDepth = true;
241
+ lines.push({ depth, index: 0, nickname: '系统', text: `[嵌套合并转发 id=${id} 已超过深度上限,未展开]` });
242
+ return;
243
+ }
244
+ let nodes = nodesInput;
245
+ if (!nodes || nodes.length === 0) {
246
+ const data = await opts.fetchForward(id);
247
+ if (!data) {
248
+ lines.push({ depth, index: 0, nickname: '系统', text: `[嵌套合并转发 id=${id} 拉取失败]` });
249
+ return;
250
+ }
251
+ nodes = getForwardNodes(data);
252
+ if (nodes.length === 0) {
253
+ lines.push({ depth, index: 0, nickname: '系统', text: `[嵌套合并转发 id=${id} 内容为空]` });
254
+ return;
255
+ }
256
+ }
257
+ if (depth === 1)
258
+ topCount = nodes.length;
259
+ const slice = nodes.slice(0, opts.maxNodesPerLevel);
260
+ if (slice.length < nodes.length)
261
+ truncatedNodes = true;
262
+ for (let i = 0; i < slice.length; i++) {
263
+ const meta = extractNodeMeta(slice[i]);
264
+ if (meta.userId) {
265
+ participants.set(meta.userId, meta.nickname);
266
+ }
267
+ else {
268
+ participants.set(meta.nickname, meta.nickname);
269
+ }
270
+ const rendered = await renderNodeContent(meta.content, opts);
271
+ lines.push({
272
+ depth,
273
+ index: i + 1,
274
+ nickname: meta.nickname,
275
+ userId: meta.userId,
276
+ text: rendered,
277
+ });
278
+ // 处理本节点中可能的嵌套 forward 占位符
279
+ const placeholderRe = /<<<NESTED_FORWARD:([^>]+)>>>/g;
280
+ const matches = [...rendered.matchAll(placeholderRe)];
281
+ for (const m of matches) {
282
+ const childId = m[1];
283
+ if (visited.has(childId)) {
284
+ // 防环
285
+ continue;
286
+ }
287
+ visited.add(childId);
288
+ const inline = meta.inlineNested.get(childId);
289
+ await walk(childId, inline ?? null, depth + 1);
290
+ }
291
+ }
292
+ }
293
+ await walk(topId, topNodes, 1);
294
+ // 拼接 fullText
295
+ const indent = (d) => ' '.repeat(Math.max(0, d - 1));
296
+ const fullLines = lines.map(ln => {
297
+ const prefix = ln.userId ? `${ln.nickname}(${ln.userId})` : ln.nickname;
298
+ const text = ln.text.replace(/<<<NESTED_FORWARD:[^>]+>>>/g, '[展开见下]').trim() || '[空消息]';
299
+ return `${indent(ln.depth)}${ln.index}. ${prefix}: ${text}`;
300
+ });
301
+ const allParticipants = [...participants.entries()];
302
+ const participantList = allParticipants.slice(0, 8).map(([uid, nick]) => {
303
+ return uid === nick ? nick : `${nick}(${uid})`;
304
+ });
305
+ if (allParticipants.length > 8) {
306
+ participantList.push(`...(+${allParticipants.length - 8} 人未列出)`);
307
+ }
308
+ return {
309
+ id: topId,
310
+ count: topCount,
311
+ participants: participantList,
312
+ fullText: fullLines.join('\n'),
313
+ truncatedDepth,
314
+ truncatedNodes,
315
+ };
316
+ }
317
+ /** 把展开结果包装成最终注入到 event.text 的"信封文本"。 */
318
+ export function buildEnvelope(expanded, summary, truncatedFallbackChars = 600) {
319
+ const meta = `count=${expanded.count} participants="${expanded.participants.join(', ')}"${expanded.truncatedDepth ? ' truncatedDepth' : ''}${expanded.truncatedNodes ? ' truncatedNodes' : ''}`;
320
+ if (summary?.trim()) {
321
+ return `<forward id="${expanded.id}" ${meta}>\n摘要:${summary.trim()}\n</forward>`;
322
+ }
323
+ // 摘要不可用:信封内退化到截断的原文
324
+ const text = expanded.fullText.length > truncatedFallbackChars
325
+ ? `${expanded.fullText.slice(0, truncatedFallbackChars)}\n…(已截断,原文保留在缓存中)`
326
+ : expanded.fullText;
327
+ return `<forward id="${expanded.id}" ${meta}>\n${text}\n</forward>`;
328
+ }
329
+ //# sourceMappingURL=forward.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forward.js","sourceRoot":"","sources":["../src/forward.ts"],"names":[],"mappings":"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"}
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { I18nResources } from '@aalis/core';
2
+ export declare const i18n: I18nResources;
3
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,IAAI,EAAE,aAqBlB,CAAC"}
package/dist/i18n.js ADDED
@@ -0,0 +1,23 @@
1
+ export const i18n = {
2
+ 'zh-CN': {
3
+ 'plugin.onebotAdapter.displayName': 'OneBot 适配器',
4
+ 'config.onebot.forward.promptLocale.label': 'Forward 摘要语言',
5
+ 'config.onebot.forward.promptLocale.description': '合并转发自动摘要使用的语言。',
6
+ 'config.onebot.forward.promptLocale.auto': '跟随全局设置',
7
+ 'prompt.onebot.forward.system': '你是消息摘要助手。给定一段聊天合并转发的原始内容,用简体中文输出一段不超过指定字数的摘要:\n- 概括话题主线、关键事实、参与人态度;\n- 如果原文包含请求、指令、待执行事项、希望机器人代发/转告/评价的内容,必须保留具体任务、目标对象/群聊、要表达的观点和可引用原话;\n- 涉及图片识别结果时,把视觉信息也写进来;\n- 不要逐条复述、不要使用列表、不要寒暄、不要解释自己;\n- 控制在目标字数以内,重要细节保留,无关寒暄略去。',
8
+ 'prompt.onebot.forward.user': '合并转发包含 {count} 条消息,主要参与人:{participants}。\n目标字数:≤{maxChars} 字。\n\n原文:\n{content}',
9
+ 'prompt.onebot.forward.unknownParticipants': '未知',
10
+ 'prompt.onebot.forward.truncated': '\n…(原文已截断)',
11
+ },
12
+ 'en-US': {
13
+ 'plugin.onebotAdapter.displayName': 'OneBot Adapter',
14
+ 'config.onebot.forward.promptLocale.label': 'Forward Summary Language',
15
+ 'config.onebot.forward.promptLocale.description': 'Language used for automatic merged-forward summaries.',
16
+ 'config.onebot.forward.promptLocale.auto': 'Follow Global Setting',
17
+ 'prompt.onebot.forward.system': 'You are a message summarization assistant. Given raw content from a merged forwarded chat, write a concise English summary within the target length:\n- Summarize the main topic, key facts, and participant attitudes.\n- If the content includes requests, instructions, pending actions, or messages to relay/evaluate, preserve the concrete task, target person/group, intended position, and quotable wording.\n- Include visual information when image recognition results appear.\n- Do not retell message by message, do not use a list, do not greet, and do not explain yourself.\n- Stay within the target length, preserve important details, and omit irrelevant small talk.',
18
+ 'prompt.onebot.forward.user': 'This merged forward contains {count} messages. Main participants: {participants}.\nTarget length: <= {maxChars} characters.\n\nRaw content:\n{content}',
19
+ 'prompt.onebot.forward.unknownParticipants': 'unknown',
20
+ 'prompt.onebot.forward.truncated': '\n... (original content truncated)',
21
+ },
22
+ };
23
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAkB;IACjC,OAAO,EAAE;QACP,kCAAkC,EAAE,YAAY;QAChD,0CAA0C,EAAE,cAAc;QAC1D,gDAAgD,EAAE,gBAAgB;QAClE,yCAAyC,EAAE,QAAQ;QACnD,8BAA8B,EAAE,4NAA4N;QAC5P,4BAA4B,EAAE,iFAAiF;QAC/G,2CAA2C,EAAE,IAAI;QACjD,iCAAiC,EAAE,YAAY;KAChD;IACD,OAAO,EAAE;QACP,kCAAkC,EAAE,gBAAgB;QACpD,0CAA0C,EAAE,0BAA0B;QACtE,gDAAgD,EAAE,uDAAuD;QACzG,yCAAyC,EAAE,uBAAuB;QAClE,8BAA8B,EAAE,4pBAA4pB;QAC5rB,4BAA4B,EAAE,wJAAwJ;QACtL,2CAA2C,EAAE,SAAS;QACtD,iCAAiC,EAAE,oCAAoC;KACxE;CACF,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { ConfigSchema, Context } from '@aalis/core';
2
+ import type { OneBotConnectionConfig } from './types.js';
3
+ import '@aalis/plugin-agent-api';
4
+ export declare const name = "@aalis/plugin-adapter-onebot";
5
+ export declare const displayName = "OneBot \u9002\u914D\u5668";
6
+ export declare const subsystem = "platform";
7
+ export declare const inject: {
8
+ required: string[];
9
+ optional: string[];
10
+ };
11
+ export declare const provides: string[];
12
+ export declare const reusable = true;
13
+ export declare const configSchema: ConfigSchema;
14
+ export declare const defaultConfig: {
15
+ connections: OneBotConnectionConfig[];
16
+ splitMessage: {
17
+ enabled: boolean;
18
+ delayPerChar: number;
19
+ maxDelay: number;
20
+ patterns: string[];
21
+ };
22
+ forward: {
23
+ enabled: boolean;
24
+ maxDepth: number;
25
+ maxNodesPerLevel: number;
26
+ imageRecognition: boolean;
27
+ imageRecognitionConcurrency: number;
28
+ summarize: boolean;
29
+ summaryMaxChars: number;
30
+ summaryPrompt: string;
31
+ };
32
+ reply: {
33
+ maxDepth: number;
34
+ };
35
+ attachmentCache: {
36
+ maxBytes: number;
37
+ };
38
+ };
39
+ export declare function apply(ctx: Context, config: Record<string, unknown>): void;
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkBzD,OAAO,KAAK,EAGV,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AACpB,OAAO,yBAAyB,CAAC;AAwCjC,eAAO,MAAM,IAAI,iCAAiC,CAAC;AACnD,eAAO,MAAM,WAAW,8BAAe,CAAC;AACxC,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AACF,eAAO,MAAM,QAAQ,UAAe,CAAC;AACrC,eAAO,MAAM,QAAQ,OAAO,CAAC;AAE7B,eAAO,MAAM,YAAY,EAAE,YA0J1B,CAAC;AAEF,eAAO,MAAM,aAAa;iBACL,sBAAsB,EAAE;;;;;kBAKU,MAAM,EAAE;;;;;;;;;;;;;;;;;;CAkB9D,CAAC;AAyTF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA6pDzE"}