@zaofan/dsh-qqbot 1.5.1 → 1.5.3
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/README_EN.md +7 -7
- package/client/qqbot-settings.js +36 -5
- package/dist/channel-tools.d.ts.map +1 -1
- package/dist/channel-tools.js +43 -1
- package/dist/channel-tools.js.map +1 -1
- package/dist/config.d.ts +34 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -1
- package/dist/config.js.map +1 -1
- package/dist/features/agg-score.d.ts +1 -1
- package/dist/features/agg-score.js +1 -1
- package/dist/features/four-source.d.ts +1 -1
- package/dist/features/four-source.js +1 -1
- package/dist/features/local-signals.js +2 -2
- package/dist/features/local-signals.js.map +1 -1
- package/dist/features/people-memo.js +1 -1
- package/dist/features/tendency-samples.js +1 -1
- package/dist/features/value-sample.d.ts +3 -1
- package/dist/features/value-sample.d.ts.map +1 -1
- package/dist/features/value-sample.js +3 -1
- package/dist/features/value-sample.js.map +1 -1
- package/dist/features/value-score.d.ts +27 -0
- package/dist/features/value-score.d.ts.map +1 -1
- package/dist/features/value-score.js +42 -3
- package/dist/features/value-score.js.map +1 -1
- package/dist/gateway/debounce.d.ts.map +1 -1
- package/dist/gateway/debounce.js +28 -6
- package/dist/gateway/debounce.js.map +1 -1
- package/dist/shared/mention-clean.d.ts +13 -0
- package/dist/shared/mention-clean.d.ts.map +1 -1
- package/dist/shared/mention-clean.js +19 -0
- package/dist/shared/mention-clean.js.map +1 -1
- package/dist/transport/inbound.d.ts +10 -0
- package/dist/transport/inbound.d.ts.map +1 -1
- package/dist/transport/inbound.js +121 -50
- package/dist/transport/inbound.js.map +1 -1
- package/dist/transport/markers.d.ts +59 -0
- package/dist/transport/markers.d.ts.map +1 -0
- package/dist/transport/markers.js +97 -0
- package/dist/transport/markers.js.map +1 -0
- package/docs/USER-GUIDE.md +461 -461
- package/package.json +124 -124
- package/settings-host.js +3095 -3071
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/gateway/debounce.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../../src/gateway/debounce.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,4 +15,17 @@ export interface MentionLike {
|
|
|
15
15
|
is_bot?: boolean;
|
|
16
16
|
}
|
|
17
17
|
export declare function replaceBotMention(content: string | undefined | null, mentions?: MentionLike[] | null, wasMentioned?: boolean): string;
|
|
18
|
+
/**
|
|
19
|
+
* 这条消息 @ 的是**别人**(不是她)吗?
|
|
20
|
+
*
|
|
21
|
+
* 2026-09-15 主人修正过一次语义:"**不是**没人@她的时候降低评分, 是**有人@别人**的时候降低评分"。
|
|
22
|
+
* · 没被 @ ≠ 不该回话 —— 那恰恰是她该主动挑话插的常态,扣分会把她变成"等点名才说话";
|
|
23
|
+
* · 真正该扣的是"这句 @ 的是别人":那轮对话的方向是那个人,她基本不该插嘴。
|
|
24
|
+
*
|
|
25
|
+
* 为什么用 QQ 的 mentions 元数据而不是正文里的 `@某某` 字样:
|
|
26
|
+
* 正文里 @ 别人的标记形式不固定,而 mentions 是平台给的权威列表。
|
|
27
|
+
* ⚠️ 两个平台细节:① 她被 @ 时(GROUP_AT_MESSAGE_CREATE)QQ 的 mentions **不含 bot 自身**,
|
|
28
|
+
* 所以要先看 wasMentioned;② 没被 @ 时(GROUP_MESSAGE_CREATE)mentions = 这条 @ 的全部人。
|
|
29
|
+
*/
|
|
30
|
+
export declare function mentionsOthers(mentions: MentionLike[] | null | undefined, wasMentioned: boolean): boolean;
|
|
18
31
|
//# sourceMappingURL=mention-clean.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mention-clean.d.ts","sourceRoot":"","sources":["../../src/shared/mention-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAClC,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,EAC/B,YAAY,CAAC,EAAE,OAAO,GACrB,MAAM,CA4BR"}
|
|
1
|
+
{"version":3,"file":"mention-clean.d.ts","sourceRoot":"","sources":["../../src/shared/mention-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAClC,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,EAC/B,YAAY,CAAC,EAAE,OAAO,GACrB,MAAM,CA4BR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAIzG"}
|
|
@@ -39,4 +39,23 @@ export function replaceBotMention(content, mentions, wasMentioned) {
|
|
|
39
39
|
}
|
|
40
40
|
return text;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* 这条消息 @ 的是**别人**(不是她)吗?
|
|
44
|
+
*
|
|
45
|
+
* 2026-09-15 主人修正过一次语义:"**不是**没人@她的时候降低评分, 是**有人@别人**的时候降低评分"。
|
|
46
|
+
* · 没被 @ ≠ 不该回话 —— 那恰恰是她该主动挑话插的常态,扣分会把她变成"等点名才说话";
|
|
47
|
+
* · 真正该扣的是"这句 @ 的是别人":那轮对话的方向是那个人,她基本不该插嘴。
|
|
48
|
+
*
|
|
49
|
+
* 为什么用 QQ 的 mentions 元数据而不是正文里的 `@某某` 字样:
|
|
50
|
+
* 正文里 @ 别人的标记形式不固定,而 mentions 是平台给的权威列表。
|
|
51
|
+
* ⚠️ 两个平台细节:① 她被 @ 时(GROUP_AT_MESSAGE_CREATE)QQ 的 mentions **不含 bot 自身**,
|
|
52
|
+
* 所以要先看 wasMentioned;② 没被 @ 时(GROUP_MESSAGE_CREATE)mentions = 这条 @ 的全部人。
|
|
53
|
+
*/
|
|
54
|
+
export function mentionsOthers(mentions, wasMentioned) {
|
|
55
|
+
if (wasMentioned)
|
|
56
|
+
return false; // @ 的就是她 → 走"必回"那条路,不扣
|
|
57
|
+
if (!Array.isArray(mentions) || mentions.length === 0)
|
|
58
|
+
return false;
|
|
59
|
+
return mentions.some((m) => m && m.is_you !== true);
|
|
60
|
+
}
|
|
42
61
|
//# sourceMappingURL=mention-clean.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mention-clean.js","sourceRoot":"","sources":["../../src/shared/mention-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,MAAM,UAAU,iBAAiB,CAC/B,OAAkC,EAClC,QAA+B,EAC/B,YAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,0CAA0C;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,uDAAuD;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"mention-clean.js","sourceRoot":"","sources":["../../src/shared/mention-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,MAAM,UAAU,iBAAiB,CAC/B,OAAkC,EAClC,QAA+B,EAC/B,YAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,0CAA0C;IAC1C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,uDAAuD;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,QAA0C,EAAE,YAAqB;IAC9F,IAAI,YAAY;QAAE,OAAO,KAAK,CAAC,CAA0B,uBAAuB;IAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -5,4 +5,14 @@ import type { Logger } from '../types.js';
|
|
|
5
5
|
* 处理 QQ 入站消息(已经过 SDK 中间件链)
|
|
6
6
|
*/
|
|
7
7
|
export declare function handleInbound(rawMsg: unknown, manager: SessionManager, config: ImQQBotConfig, logger: Logger, state?: Record<string, unknown>): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Layer 3: 带发送者标签的用户消息
|
|
10
|
+
* 引用消息功能开启时, 每条入站都带**短消息号**(msgRef, 形如 0913a; 群聊挂发送者标签, 私聊独立一行)
|
|
11
|
+
* —— AI 想引用对方时在正文写 [rf:短号](2026-09-13 主人定: 短号省 token, 台账见 msg-index.ts)。
|
|
12
|
+
* 群聊标签的形状(2026-09-15 定稿, 与历史行同口径):
|
|
13
|
+
* 没被 @ → `[昵称 #短号]` ← 不带 openid(省 token; 32 位 id 每行 20+ token)
|
|
14
|
+
* 被 @ 了 → `[昵称 (openid) #短号]` + 正文后 ` (@you)` ← 要回 @ 他/认人才给 id
|
|
15
|
+
* 短号两边都留(引用标记 + id_lookup 反查 openid 的入口, 不能省)。
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildUserMessage(userContent: string, quotePart: string, senderId: string, senderName: string | undefined, isGroup: boolean, wasMentioned: boolean, msgRef: string): string;
|
|
8
18
|
//# sourceMappingURL=inbound.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/transport/inbound.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAa,MAAM,EAA8B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/transport/inbound.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAa,MAAM,EAA8B,MAAM,aAAa,CAAC;AAiGjF;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CA2pBf;AAkPD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAgBR"}
|
|
@@ -4,10 +4,11 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
4
4
|
import { clearGroupHistory } from '../features/history-store.js';
|
|
5
5
|
import { applyInjectRules } from './inject-rules.js';
|
|
6
6
|
import { inferMediaKind, mediaKindLabel } from './media-kind.js';
|
|
7
|
-
import { replaceBotMention } from '../shared/mention-clean.js';
|
|
7
|
+
import { replaceBotMention, mentionsOthers } from '../shared/mention-clean.js';
|
|
8
|
+
import { MK, QUOTE_BEGIN_ALL, QUOTE_END_ALL, findFirstMarker, findLastMarker, escapeBlockMarkers, stripBlockMarkers } from './markers.js';
|
|
8
9
|
import { dataRootOf, stickerDirOf } from '../gateway/data-root.js';
|
|
9
10
|
import { registerMsgIndex } from './msg-index.js';
|
|
10
|
-
import { createValueScorer, appendScoreLog } from '../features/value-score.js';
|
|
11
|
+
import { createValueScorer, appendScoreLog, OTHER_MENTION_PENALTY } from '../features/value-score.js';
|
|
11
12
|
import { getStickerStore, computeDHash } from '../features/sticker-store.js';
|
|
12
13
|
import { lookupImagePath, rememberImagePath } from '../features/image-path-cache.js';
|
|
13
14
|
import { recordImageUrl, lookupStickerIdByUrl } from '../features/image-url-ledger.js';
|
|
@@ -111,11 +112,12 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
111
112
|
catch { /* 提醒失败不影响主链 */ }
|
|
112
113
|
// 群聊时间戳(原"群守则"拼接位): 守则已迁 systemPrompt.section(session-manager 装配期注册,
|
|
113
114
|
// 每请求进 system, 不再每轮塞 user 历史); 此处改为注入当前系统时间, 让 AI 每轮知道日期/星期/时刻。
|
|
115
|
+
// 2026-09-15 省 token: 去掉"当前时间"四个字(上下文里一看就懂), 一条省 ~4 token。
|
|
114
116
|
if (scope === 'group') {
|
|
115
117
|
const _now = new Date();
|
|
116
118
|
const _p = (n) => String(n).padStart(2, '0');
|
|
117
119
|
const _wd = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'][_now.getDay()];
|
|
118
|
-
agentBody = `[
|
|
120
|
+
agentBody = `[${_now.getFullYear()}-${_p(_now.getMonth() + 1)}-${_p(_now.getDate())} ${_wd} ${_p(_now.getHours())}:${_p(_now.getMinutes())}]\n\n${agentBody}`;
|
|
119
121
|
}
|
|
120
122
|
logger.debug(`Processing: scope=${scope} peerId=${peerId} body="${agentBody.slice(0, 200)}"`);
|
|
121
123
|
// ── 获取或创建会话 ──
|
|
@@ -194,6 +196,8 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
194
196
|
const lmOn = (ovRaw.enabled ?? lmCfg?.enabled) !== false;
|
|
195
197
|
if (scope === 'group' && lmOn && gate !== 'off') {
|
|
196
198
|
const mentioned = mwState.mention?.wasMentioned === true;
|
|
199
|
+
// 这条消息 @ 的是**别人**(不是她)吗?—— 2026-09-15 主人修正的扣分依据(判据见 mentionsOthers 的注释)
|
|
200
|
+
const mentionedOthers = mentionsOthers(msg.mentions, mentioned);
|
|
197
201
|
try {
|
|
198
202
|
const scorer = createValueScorer({
|
|
199
203
|
dataRoot: dataRootOf(config),
|
|
@@ -204,10 +208,24 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
204
208
|
// 评分输入清洗(2026-09-13 主人定): 剥掉合并转发/引用块的结构标记, 只留真实语义。
|
|
205
209
|
// 引用消息的**被引用原文**单独算一次分, 与当前消息取较高者(她在回应那句话 → 往往也需要她参与)。
|
|
206
210
|
const rawContent = String(msg.content || '');
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
+
// 引用块切分(认新旧标记: 新 [引]…[/引], 老 [Quoted message begins]…[ends])
|
|
212
|
+
// ⚠️ 用"第一个 begin + 最后一个 end"(不用非贪婪) —— 否则原文里自带标记时会截错(2026-09-13 踩过)
|
|
213
|
+
const _qb = findFirstMarker(rawContent, QUOTE_BEGIN_ALL);
|
|
214
|
+
const _qe = findLastMarker(rawContent, QUOTE_END_ALL);
|
|
215
|
+
const _quoteOk = Boolean(_qb && _qe && _qe.idx > _qb.idx);
|
|
216
|
+
const quotedInner = _quoteOk ? rawContent.slice(_qb.idx + _qb.len, _qe.idx) : undefined;
|
|
217
|
+
const quotedFull = _quoteOk ? rawContent.slice(_qb.idx, _qe.idx + _qe.len) : undefined;
|
|
218
|
+
const currentRaw = quotedFull ? rawContent.replace(quotedFull, ' ') : rawContent;
|
|
219
|
+
// ⚠️ 2026-09-15 修(主人:"语音转文字消息没有参与评分吗"):
|
|
220
|
+
// 转录文字原来**只进 userContent**(给 AI 看的那份),而评分用的是 msg.content →
|
|
221
|
+
// 语音消息在评分链里永远是"无文字"(score=无),哪怕它被清清楚楚转成了文字 ✗
|
|
222
|
+
// 现在把转录并入评分文本:语音里说的话,跟打字说的话**一样参与"值不值得接"的判断**。
|
|
223
|
+
const voiceForScore = extractVoiceTexts(msg.attachments, mwState.processedAttachments, logger)
|
|
224
|
+
.map((v) => v.text)
|
|
225
|
+
.filter((t) => t.trim() !== '')
|
|
226
|
+
.join(' ');
|
|
227
|
+
const plain = cleanTextForScore([currentRaw, voiceForScore].filter((s) => s !== '').join(' '));
|
|
228
|
+
const quotedPlain = quotedInner !== undefined ? cleanTextForScore(quotedInner) : '';
|
|
211
229
|
// ── 图片消息(2026-09-13 主人定 a+b + B预检) ──
|
|
212
230
|
// 小模型只认文字 → 图片本身没法直接评分。三条路都用上:
|
|
213
231
|
// a) 纯图片也**记一条**(标 📷, 不可评分, 默认不拦)
|
|
@@ -227,20 +245,38 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
227
245
|
imgUrls.push(u);
|
|
228
246
|
}
|
|
229
247
|
};
|
|
230
|
-
|
|
248
|
+
/**
|
|
249
|
+
* 附件按**类型**归类(2026-09-15 主人:"视频和文件不算是图片,为什么也默认唤醒了?")。
|
|
250
|
+
*
|
|
251
|
+
* 原来只有 `imgUrls`,收集条件是「content_type 含 image」**或**「URL 长得像 QQ 多媒体下载链接」——
|
|
252
|
+
* 那个 `||` 让视频/语音/文件全被当成"图",一起触发了"只要带图就一律不拦" ✗
|
|
253
|
+
* 现在分工:只有**真图片**进 imgUrls;四种类型各自记一笔,放行时按类型开关走。
|
|
254
|
+
*/
|
|
255
|
+
const attKinds = { image: false, video: false, voice: false, file: false };
|
|
256
|
+
// ① 当前消息的附件(分类收集:非图片不进 imgUrls)
|
|
231
257
|
for (const a of (Array.isArray(msg.attachments) ? msg.attachments : [])) {
|
|
232
258
|
const at = a;
|
|
233
259
|
const u = String(at?.url ?? '').trim();
|
|
234
|
-
|
|
260
|
+
const ct = String(at?.content_type ?? '').toLowerCase();
|
|
261
|
+
if (/image/.test(ct))
|
|
262
|
+
attKinds.image = true;
|
|
263
|
+
else if (/video/.test(ct))
|
|
264
|
+
attKinds.video = true;
|
|
265
|
+
else if (/voice|audio|record|amr|silk/.test(ct))
|
|
266
|
+
attKinds.voice = true;
|
|
267
|
+
else if (/file/.test(ct))
|
|
268
|
+
attKinds.file = true;
|
|
269
|
+
if (u && /image/.test(ct) && !imgUrls.includes(u))
|
|
235
270
|
imgUrls.push(u);
|
|
236
|
-
}
|
|
237
271
|
}
|
|
238
|
-
// ② 当前消息正文(合并转发/引用会把图写在文本里)
|
|
272
|
+
// ② 当前消息正文(合并转发/引用会把图写在文本里) —— 文本里认不出类型,按"图片"处理(历史行为)
|
|
239
273
|
collectImg(String(msg.content || ''));
|
|
240
274
|
// ③ 历史里(聚合把图算进 history 时)
|
|
241
275
|
for (const h of (Array.isArray(mwState.history) ? mwState.history : [])) {
|
|
242
276
|
collectImg(String(h?.content ?? ''));
|
|
243
277
|
}
|
|
278
|
+
if (imgUrls.length > 0)
|
|
279
|
+
attKinds.image = true;
|
|
244
280
|
const firstImg = imgUrls[0] || '';
|
|
245
281
|
let libItem;
|
|
246
282
|
if (firstImg) {
|
|
@@ -319,7 +355,7 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
319
355
|
* 聚合窗口里"取最高分那条"时,**被计分的那句话可能不是最后一个人说的**。
|
|
320
356
|
* 原来 `scText` 换成了别人的话,而下面所有归因(熟识度 / 好感度 / 语气 /
|
|
321
357
|
* 评分日志的 sender)仍用 `msg.senderId`(窗口里**最后**发言的人)→
|
|
322
|
-
*
|
|
358
|
+
* 实测把「大肥鱼怎么不插话了」(某位路人说的)算到了「愤怒的小鸟」头上,
|
|
323
359
|
* 还用**那个路人的语气**当他的语气,最后扣了他 −0.12。
|
|
324
360
|
* 现在:scText 换成谁的话,发送者就跟着换成谁。
|
|
325
361
|
*/
|
|
@@ -447,12 +483,29 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
447
483
|
}
|
|
448
484
|
}
|
|
449
485
|
// 记录: 有分数→正常记; 纯图片无分数→也记一条(标 img, 让"图片也在观察范围"看得见)
|
|
450
|
-
|
|
486
|
+
// ⚠️ 2026-09-15 改:**任何附件**都要进这个块 —— 否则"纯视频 / 纯文件"(既没文字、又不是图)
|
|
487
|
+
// 会整块跳过"值不值得唤醒"的判断,等于无条件放行,附件开关就形同虚设了。
|
|
488
|
+
const hasAnyAttachment = attKinds.image || attKinds.video || attKinds.voice || attKinds.file;
|
|
489
|
+
if (sc || firstImg || hasAnyAttachment) {
|
|
451
490
|
// 会话级门槛: 用本会话算出的 minScore 判定(不是 scorer 内部的默认值); 无分(纯图)视作放行
|
|
452
491
|
// 判定分:加权模式用**综合分**(Σ权×有效分 / Σ权,各条的好感偏移已在里面算过);
|
|
453
492
|
// 单条模式仍是 原始分 + 好感偏移。⚠️ 别重复加偏移(加权时 attOff 只用于日志)。
|
|
454
|
-
|
|
455
|
-
|
|
493
|
+
// 再减"**@了别人**"的惩罚(2026-09-15 主人修正:不是"没人@她"要扣分 ——
|
|
494
|
+
// 没人@她恰恰是她该主动挑话插的常态;真正该扣的是"这句 @ 的是别人",那轮对话方向是那个人)。
|
|
495
|
+
const mentionPen = mentionedOthers ? OTHER_MENTION_PENALTY : 0;
|
|
496
|
+
const effScore = (aggScore !== undefined ? aggScore : (sc ? sc.score + attOff : 0)) - mentionPen;
|
|
497
|
+
// ── 附件唤醒开关(2026-09-15 主人定:图片/视频/语音/文件**分别**决定是否无视分数唤醒)──
|
|
498
|
+
// 现状问题:原来只要是"带图"就一律放行 —— 而"图"里混着视频/语音/文件(收集时不区分格式)。
|
|
499
|
+
// 新规则:
|
|
500
|
+
// · 有分数 → 够分 **或** 该类型允许放行
|
|
501
|
+
// · 没分数(纯附件、没文字可评)→ **只有该类型允许放行**才唤醒
|
|
502
|
+
// ↳ 这条是关键:否则"取消勾选"等于没勾(无分一律放行的话,开关形同虚设)
|
|
503
|
+
const attP = config.localModel?.attachmentPassthrough ?? {};
|
|
504
|
+
const mediaPass = (attKinds.image && attP.image !== false) || // 图片:默认放行(群友发图常是给她看的)
|
|
505
|
+
(attKinds.video && attP.video === true) || // 视频:默认不放行
|
|
506
|
+
(attKinds.voice && attP.voice === true) || // 语音:默认不放行(有转录文字就按文字评)
|
|
507
|
+
(attKinds.file && attP.file === true); // 文件:默认不放行
|
|
508
|
+
const worth = sc ? (effScore >= minScore || mediaPass) : mediaPass;
|
|
456
509
|
// ① 相关度(观察期, **只记录不参与判定**): 当前消息 ↔ 她上一条发言 / 群里最近 5 条(2026-09-13 主人定)
|
|
457
510
|
const rel = await computeRelevance({
|
|
458
511
|
gid: msg.groupOpenid ?? '',
|
|
@@ -512,12 +565,19 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
512
565
|
// ⚠️ 加权模式下 attTier/attOff 是**主角那条**的(权重最大的人),分值本身已各算各的
|
|
513
566
|
attTier,
|
|
514
567
|
attOff: attOff || undefined,
|
|
568
|
+
// @了别人 → 判定分扣了多少(2026-09-15 加;0/undefined = 没扣)
|
|
569
|
+
pen: mentionPen || undefined,
|
|
570
|
+
penWhy: mentionPen ? 'mentionOther' : undefined,
|
|
515
571
|
// 加权明细:每条 {n:昵称, s:价值分, r:好感占比, w:权重} —— 事后能复算出综合分
|
|
516
572
|
aggWeighted: aggParts ? true : undefined,
|
|
517
573
|
aggParts,
|
|
518
574
|
minBase: baseMin,
|
|
519
575
|
gate, // 2026-09-13 加: 记下**当时生效的模式**(排查"为什么低分还回话"必需; 以前只记 min, log/block 分不出来)
|
|
520
576
|
img: firstImg ? true : undefined,
|
|
577
|
+
// 附件类型(2026-09-15):记下这条带的是视频/语音/文件,便于核对"开关到底生没生效"
|
|
578
|
+
mediaKinds: hasAnyAttachment
|
|
579
|
+
? Object.entries(attKinds).filter(([, v]) => v).map(([k]) => k).join('+')
|
|
580
|
+
: undefined,
|
|
521
581
|
lib: libItem ? true : undefined,
|
|
522
582
|
// 图在库 ≠ 能借它评分:**待整理区(candidate)的图还没打标签/描述**,
|
|
523
583
|
// 借不到文字 → 评不了分。分开记一个字段,面板好把话说明白
|
|
@@ -547,7 +607,11 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
547
607
|
// 而且那个分数往往是低分(实测: 【表情: 微笑】+库内图 = 0.022) → 被拦掉。
|
|
548
608
|
// 这跟"群友发图往往是给她看/求接梗"的初衷完全相反 ⇒ 现在**只要带图就一律不拦**
|
|
549
609
|
// (分数照记, 便于主人观察; 只是不拿它做拦截判定)。
|
|
550
|
-
|
|
610
|
+
// 2026-09-15 改(主人:"视频和文件不算是图片,为什么也默认唤醒了?"):
|
|
611
|
+
// 入口条件去掉 `sc &&` 与 `!firstImg` —— 无分(纯视频/纯文件)也要能拦,
|
|
612
|
+
// "该不该放行"全交给上面的 worth(含**附件类型开关**),这里只负责执行。
|
|
613
|
+
// (原来"带图不拦"里那个 firstImg 是**不区分格式**的,视频/文件跟着沾光 ✗)
|
|
614
|
+
if (gate === 'block' && !mentioned && !worth) {
|
|
551
615
|
const ag = record.agent;
|
|
552
616
|
const sess = ag?.session;
|
|
553
617
|
let appended = false;
|
|
@@ -570,7 +634,7 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
570
634
|
logger.warn('[价值评分] 低分但会话无 append 能力 —— 仍然不唤醒(这条可能不进上下文)');
|
|
571
635
|
}
|
|
572
636
|
record.lastInboundAt = Date.now();
|
|
573
|
-
logger.debug(`[价值评分]
|
|
637
|
+
logger.debug(`[价值评分] 不唤醒 ${sc ? sc.score.toFixed(2) : `无分`}<${minScore} (gate=block, appended=${appended}): key=${scope}:${peerId} "${plain.slice(0, 30)}"`);
|
|
574
638
|
// ⚠️ 2026-09-13(主人要求"没产生回复就别消耗回复冷却"): 上游派发时戳了一枚群冷却,
|
|
575
639
|
// 既然这次**没唤醒=没回复**, 就把那枚冷却还回去 —— 否则一条低分闲聊会白让群里静默 90 秒。
|
|
576
640
|
const rb = mwState.qqCooldownRollback;
|
|
@@ -587,8 +651,10 @@ export async function handleInbound(rawMsg, manager, config, logger, state) {
|
|
|
587
651
|
clearGroupHistory(config.appId, msg.groupOpenid ?? msg.senderId);
|
|
588
652
|
return;
|
|
589
653
|
}
|
|
590
|
-
|
|
591
|
-
|
|
654
|
+
// ② 附件放行(图片默认放行、或主人勾了放行的类型):只打日志,分数照记
|
|
655
|
+
if (gate === 'block' && !mentioned && mediaPass && (sc ? sc.score < minScore : true)) {
|
|
656
|
+
const kinds = Object.entries(attKinds).filter(([, v]) => v).map(([k]) => k).join('+');
|
|
657
|
+
logger.debug(`[价值评分] 附件放行(${kinds || '未知'})不看分数 ${sc ? sc.score.toFixed(2) : '无分'}<${minScore}: key=${scope}:${peerId}`);
|
|
592
658
|
}
|
|
593
659
|
if (sc && gate !== 'block' && !mentioned && !worth) {
|
|
594
660
|
// ⚠️ 提到 info(2026-09-13): 主人排查"低分为什么还回话"时, 一眼就能在控制台看到
|
|
@@ -667,7 +733,7 @@ function assembleAgentBody(msg, state, scope, logger, downloaded, enableRef, msg
|
|
|
667
733
|
if (!quotePart && enableRef) {
|
|
668
734
|
const quoted = extractQuotedContent(msg);
|
|
669
735
|
if (quoted)
|
|
670
|
-
quotePart =
|
|
736
|
+
quotePart = `${MK.QUOTE_BEGIN}\n${escapeBlockMarkers(quoted)}\n${MK.QUOTE_END}\n${MK.CURRENT}\n`;
|
|
671
737
|
}
|
|
672
738
|
// ⚠️ 2026-09-13 主人要求(省 token): 引用原文只给**前 QUOTE_KEEP 字**,
|
|
673
739
|
// 完整原文进本地缓存(每会话最多 10 条) → AI 需要时用 `quote_view` 工具取。
|
|
@@ -757,11 +823,14 @@ async function fetchImageBuffer(url, maxBytes = 5 * 1024 * 1024) {
|
|
|
757
823
|
* 这里只剥"结构与标记", 保留真正的消息正文。
|
|
758
824
|
*/
|
|
759
825
|
function cleanTextForScore(raw) {
|
|
760
|
-
|
|
826
|
+
// 块标记(新旧两套)统一交给 markers.ts 剥 —— 别在这里再写一遍字面量
|
|
827
|
+
let s = stripBlockMarkers(String(raw || ''));
|
|
761
828
|
s = s
|
|
762
|
-
|
|
763
|
-
.
|
|
764
|
-
.replace(
|
|
829
|
+
// @ 标记一律剥掉(2026-09-15):`<@openid>` / `@bot` 留在打分文本里会让"这条 @ 了她"
|
|
830
|
+
// 变成最大共同特征 → 实测「<@xx> 不知道」拿到 1.00 分。语义交给正文,点名交给 mention 特征。
|
|
831
|
+
.replace(/<@[!&]?\d+>/g, ' ')
|
|
832
|
+
.replace(/<@[0-9A-Za-z_-]{6,}>/g, ' ')
|
|
833
|
+
.replace(/@bot\b/gi, ' ')
|
|
765
834
|
.replace(/\[群聊的聊天记录\]/g, ' ')
|
|
766
835
|
.replace(/={2,}\s*消息\s*\d+\s*={2,}/g, ' ') // === 消息 1 ===
|
|
767
836
|
.replace(/---\s*第\s*\d+\s*条\s*---/g, ' ') // --- 第1条 ---
|
|
@@ -772,9 +841,9 @@ function cleanTextForScore(raw) {
|
|
|
772
841
|
.replace(/\[附件\d*\][^\n]*/g, ' ') // [附件1] 类型:图片 文件名:… URL:…
|
|
773
842
|
.replace(/\[图片:\s*https?:\/\/[^\]]*\]/g, ' ') // [图片: URL]
|
|
774
843
|
.replace(/\[表情:\s*[^\]]*\]/g, ' ')
|
|
775
|
-
.replace(/\[当前时间[^\]]*\]/g, ' ')
|
|
844
|
+
.replace(/\[当前时间[^\]]*\]/g, ' ') // 旧时间行
|
|
845
|
+
.replace(/\[\d{4}-\d{2}-\d{2}[^\]]*\]/g, ' ') // 新时间行(2026-09-15 起不再带"当前时间"标签)
|
|
776
846
|
.replace(/\[系统提示\][^\n]*/g, ' ')
|
|
777
|
-
.replace(/\[Chat history begins\]|\[Chat history ends\]/gi, ' ')
|
|
778
847
|
.replace(/^\s*[-·]\s*Image:[^\n]*/gim, ' ') // - Image: xxx.jpg (550×550) → URL
|
|
779
848
|
.replace(/^\s*\[[\u4e00-\u9fa5A-Za-z]{1,8}\]\s*$/gm, ' '); // 独占一行的 [标签]
|
|
780
849
|
return s.replace(/[ \t]+/g, ' ').replace(/\n{2,}/g, '\n').trim();
|
|
@@ -785,20 +854,13 @@ function cleanTextForScore(raw) {
|
|
|
785
854
|
function buildQuotePart(quote) {
|
|
786
855
|
if (!quote?.text && !quote?.entry?.content)
|
|
787
856
|
return '';
|
|
788
|
-
const quoteText =
|
|
789
|
-
|
|
857
|
+
const quoteText = escapeBlockMarkers(quote.text || quote.entry?.content || 'Original content unavailable');
|
|
858
|
+
// 短标记(2026-09-15 省 token): [引]…[/引][当前] —— 见 markers.ts
|
|
859
|
+
return `${MK.QUOTE_BEGIN}\n${quoteText}\n${MK.QUOTE_END}\n${MK.CURRENT}\n`;
|
|
790
860
|
}
|
|
791
861
|
/**
|
|
792
|
-
*
|
|
793
|
-
* AI 可能在代码块里示范 `[Quoted message begins]` 这段字面量, 被引用后它会混进引用块,
|
|
794
|
-
* 让"第一个 begin + 第一个 end"这种匹配切错位置。把内层的方括号退化成圆括号:
|
|
795
|
-
* 语义照旧看得懂, 但不再参与结构匹配。
|
|
862
|
+
* (转义实现已搬到 `markers.ts` 的 `escapeBlockMarkers` —— 新旧两套标记一起转义, 见那里的注释)
|
|
796
863
|
*/
|
|
797
|
-
function escapeQuoteMarkers(text) {
|
|
798
|
-
return String(text || '')
|
|
799
|
-
.replace(/\[Quoted message begins\]/gi, '(Quoted message begins)')
|
|
800
|
-
.replace(/\[Quoted message ends\]/gi, '(Quoted message ends)');
|
|
801
|
-
}
|
|
802
864
|
/** 引用原文保留字数: 超出部分只进本地缓存(2026-09-13 主人定, 短引用就别折腾了) */
|
|
803
865
|
const QUOTE_KEEP = 60;
|
|
804
866
|
/**
|
|
@@ -847,13 +909,12 @@ function localizeHistoryImages(text, stickerDir) {
|
|
|
847
909
|
function trimQuoteBlock(quotePart, dataRoot, msg, logger) {
|
|
848
910
|
if (!quotePart)
|
|
849
911
|
return quotePart;
|
|
850
|
-
|
|
851
|
-
const
|
|
852
|
-
const
|
|
853
|
-
|
|
854
|
-
if (b < 0 || e < 0 || e <= b)
|
|
912
|
+
// 认**新旧两套**标记(老会话里还留着英文长标记), 取"第一个 begin + 最后一个 end"
|
|
913
|
+
const b = findFirstMarker(quotePart, QUOTE_BEGIN_ALL);
|
|
914
|
+
const e = findLastMarker(quotePart, QUOTE_END_ALL);
|
|
915
|
+
if (!b || !e || e.idx <= b.idx)
|
|
855
916
|
return quotePart;
|
|
856
|
-
const full = quotePart.slice(b +
|
|
917
|
+
const full = quotePart.slice(b.idx + b.len, e.idx).trim();
|
|
857
918
|
if (full.length <= QUOTE_KEEP)
|
|
858
919
|
return quotePart;
|
|
859
920
|
const key = `${msg.kind === 'group' ? 'group' : 'c2c'}:${(msg.kind === 'group' ? msg.groupOpenid : undefined) ?? msg.senderId}`;
|
|
@@ -861,7 +922,7 @@ function trimQuoteBlock(quotePart, dataRoot, msg, logger) {
|
|
|
861
922
|
const hit = pushQuote(dataRoot, key, full, msg.senderName);
|
|
862
923
|
const head = full.slice(0, QUOTE_KEEP).replace(/\s+/g, ' ');
|
|
863
924
|
logger.debug(`[引用] 原文 ${full.length} 字 → 只给前 ${QUOTE_KEEP} 字(缓存 #${hit.id})`);
|
|
864
|
-
return `${quotePart.slice(0, b)}${
|
|
925
|
+
return `${quotePart.slice(0, b.idx)}${quotePart.slice(b.idx, b.idx + b.len)}\n${head}…[引用#${hit.id}: 全文 ${full.length} 字已缓存, 需要时用 quote_view 查]\n${quotePart.slice(e.idx)}`;
|
|
865
926
|
}
|
|
866
927
|
catch {
|
|
867
928
|
return quotePart;
|
|
@@ -886,15 +947,25 @@ function extractQuotedContent(msg) {
|
|
|
886
947
|
* Layer 3: 带发送者标签的用户消息
|
|
887
948
|
* 引用消息功能开启时, 每条入站都带**短消息号**(msgRef, 形如 0913a; 群聊挂发送者标签, 私聊独立一行)
|
|
888
949
|
* —— AI 想引用对方时在正文写 [rf:短号](2026-09-13 主人定: 短号省 token, 台账见 msg-index.ts)。
|
|
950
|
+
* 群聊标签的形状(2026-09-15 定稿, 与历史行同口径):
|
|
951
|
+
* 没被 @ → `[昵称 #短号]` ← 不带 openid(省 token; 32 位 id 每行 20+ token)
|
|
952
|
+
* 被 @ 了 → `[昵称 (openid) #短号]` + 正文后 ` (@you)` ← 要回 @ 他/认人才给 id
|
|
953
|
+
* 短号两边都留(引用标记 + id_lookup 反查 openid 的入口, 不能省)。
|
|
889
954
|
*/
|
|
890
|
-
function buildUserMessage(userContent, quotePart, senderId, senderName, isGroup, wasMentioned, msgRef) {
|
|
955
|
+
export function buildUserMessage(userContent, quotePart, senderId, senderName, isGroup, wasMentioned, msgRef) {
|
|
891
956
|
if (!isGroup) {
|
|
892
957
|
const idPart = msgRef ? `[消息号: ${msgRef}]\n` : '';
|
|
893
958
|
return `${quotePart}${idPart}${userContent}`;
|
|
894
959
|
}
|
|
895
960
|
const mentionTag = wasMentioned ? ' (@you)' : '';
|
|
896
961
|
const displayName = senderName ?? shortSenderId(senderId);
|
|
897
|
-
|
|
962
|
+
// 省 token(2026-09-12 定, 2026-09-15 主人复查"没 @ 的只显示昵称呢?"):
|
|
963
|
+
// 和**群历史行**一个口径 —— 没被 @ 的消息只给昵称, 32 位 openid 只在"被 @ 了"(要回 @ 他/认人)时才给。
|
|
964
|
+
// ⚠️ 短消息号 `#ref` **两边都留**: 那是引用标记([rf:xxxx] 靠它), 也是 id_lookup 反查 openid 的入口 ——
|
|
965
|
+
// 去掉它引用功能/认人工具就都废了 (主人 2026-09-15 特别强调)。
|
|
966
|
+
const idPart = wasMentioned ? ` (${senderId})` : '';
|
|
967
|
+
const refPart = msgRef ? ` #${msgRef}` : '';
|
|
968
|
+
const senderTag = `[${displayName}${idPart}${refPart}]`;
|
|
898
969
|
return `${quotePart}${senderTag} ${userContent}${mentionTag}`;
|
|
899
970
|
}
|
|
900
971
|
/**
|
|
@@ -975,12 +1046,12 @@ function buildAgentBody(base, history, isGroup, wasMentioned, batchDispatch = fa
|
|
|
975
1046
|
return mentioned && h.senderId ? `[${name} (${h.senderId})] ${h.content}` : `[${name}] ${h.content}`;
|
|
976
1047
|
});
|
|
977
1048
|
return [
|
|
978
|
-
aggregated ? '[系统提示]
|
|
979
|
-
|
|
1049
|
+
aggregated ? '[系统提示] 以下是上次回复前群友所发(非对你的回应), 通读后综合回应。' : '',
|
|
1050
|
+
MK.HISTORY_BEGIN,
|
|
980
1051
|
...historyLines,
|
|
981
1052
|
'',
|
|
982
|
-
|
|
983
|
-
|
|
1053
|
+
MK.HISTORY_END,
|
|
1054
|
+
MK.CURRENT,
|
|
984
1055
|
base,
|
|
985
1056
|
].filter(Boolean).join('\n');
|
|
986
1057
|
}
|